1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chromecast/metrics/cast_metrics_service_client.h"
6
7#include "base/macros.h"
8#include "base/memory/scoped_ptr.h"
9#include "base/message_loop/message_loop.h"
10#include "base/prefs/testing_pref_service.h"
11#include "components/metrics/metrics_service.h"
12#include "testing/gtest/include/gtest/gtest.h"
13
14namespace chromecast {
15
16class CastMetricsTest : public testing::Test {
17 public:
18  CastMetricsTest() {}
19  virtual ~CastMetricsTest() {}
20
21 protected:
22  virtual void SetUp() OVERRIDE {
23    message_loop_.reset(new base::MessageLoop());
24    prefs_.reset(new TestingPrefServiceSimple());
25    ::metrics::MetricsService::RegisterPrefs(prefs_->registry());
26  }
27
28  TestingPrefServiceSimple* prefs() { return prefs_.get(); }
29
30 private:
31  scoped_ptr<base::MessageLoop> message_loop_;
32  scoped_ptr<TestingPrefServiceSimple> prefs_;
33
34  DISALLOW_COPY_AND_ASSIGN(CastMetricsTest);
35};
36
37TEST_F(CastMetricsTest, CreateMetricsServiceClient) {
38  // Create and expect this to not crash.
39  metrics::CastMetricsServiceClient::Create(prefs(), NULL);
40}
41
42}  // namespace chromecast
43