OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/macros.h" | 6 #include "base/macros.h" |
7 #include "base/test/launcher/unit_test_launcher.h" | 7 #include "base/test/launcher/unit_test_launcher.h" |
8 #include "base/test/test_suite.h" | 8 #include "base/test/test_suite.h" |
9 #include "extensions/test/test_extensions_client.h" | |
9 | 10 |
10 namespace { | 11 namespace { |
11 | 12 |
12 class ExtensionsTestSuite : public base::TestSuite { | 13 class ExtensionsTestSuite : public base::TestSuite { |
13 public: | 14 public: |
14 ExtensionsTestSuite(int argc, char** argv); | 15 ExtensionsTestSuite(int argc, char** argv); |
15 | 16 |
16 protected: | 17 private: |
17 // base::TestSuite: | 18 // base::TestSuite: |
18 virtual void Initialize() OVERRIDE; | 19 virtual void Initialize() OVERRIDE; |
19 virtual void Shutdown() OVERRIDE; | 20 virtual void Shutdown() OVERRIDE; |
20 | 21 |
21 private: | 22 scoped_ptr<extensions::TestExtensionsClient> client_; |
23 | |
22 DISALLOW_COPY_AND_ASSIGN(ExtensionsTestSuite); | 24 DISALLOW_COPY_AND_ASSIGN(ExtensionsTestSuite); |
23 }; | 25 }; |
24 | 26 |
25 ExtensionsTestSuite::ExtensionsTestSuite(int argc, char** argv) | 27 ExtensionsTestSuite::ExtensionsTestSuite(int argc, char** argv) |
26 : base::TestSuite(argc, argv) {} | 28 : base::TestSuite(argc, argv) {} |
27 | 29 |
28 void ExtensionsTestSuite::Initialize() { | 30 void ExtensionsTestSuite::Initialize() { |
29 base::TestSuite::Initialize(); | 31 base::TestSuite::Initialize(); |
32 | |
33 client_.reset(new extensions::TestExtensionsClient()); | |
34 extensions::ExtensionsClient::Set(client_.get()); | |
30 } | 35 } |
31 | 36 |
32 void ExtensionsTestSuite::Shutdown() { | 37 void ExtensionsTestSuite::Shutdown() { |
33 base::TestSuite::Shutdown(); | 38 base::TestSuite::Shutdown(); |
James Cook
2014/04/11 16:26:49
Question: Do you want to explicitly client_.reset(
Yoyo Zhou
2014/04/11 21:10:29
I'm not sure it's necessary - for example, ChromeU
| |
34 } | 39 } |
35 | 40 |
36 } // namespace | 41 } // namespace |
37 | 42 |
38 int main(int argc, char** argv) { | 43 int main(int argc, char** argv) { |
39 ExtensionsTestSuite test_suite(argc, argv); | 44 ExtensionsTestSuite test_suite(argc, argv); |
40 | 45 |
41 return base::LaunchUnitTests(argc, | 46 return base::LaunchUnitTests(argc, |
42 argv, | 47 argv, |
43 base::Bind(&ExtensionsTestSuite::Run, | 48 base::Bind(&ExtensionsTestSuite::Run, |
44 base::Unretained(&test_suite))); | 49 base::Unretained(&test_suite))); |
45 } | 50 } |
OLD | NEW |