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 "chrome/browser/translate/cld_data_harness.h" | 5 #include "chrome/browser/translate/cld_data_harness.h" |
6 | 6 |
| 7 #include "base/lazy_instance.h" |
7 #include "base/path_service.h" | 8 #include "base/path_service.h" |
| 9 #include "chrome/browser/translate/component_cld_data_harness.h" |
| 10 #include "chrome/browser/translate/standalone_cld_data_harness.h" |
8 #include "chrome/common/chrome_paths.h" | 11 #include "chrome/common/chrome_paths.h" |
| 12 #include "components/translate/content/common/cld_data_source.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
10 | 14 |
11 namespace { | 15 namespace { |
12 // This constant yields the version of the CRX that has been extracted into | 16 // This constant yields the version of the CRX that has been extracted into |
13 // the test data directory, and must be kept in sync with what is there. | 17 // the test data directory, and must be kept in sync with what is there. |
14 // A reciprocal comment has been placed in | 18 // A reciprocal comment has been placed in |
15 // chrome/test/data/cld2_component/README.chromium; don't update one without | 19 // chrome/test/data/cld2_component/README.chromium; don't update one without |
16 // updating the other. | 20 // updating the other. |
17 const base::FilePath::CharType kCrxVersion[] = FILE_PATH_LITERAL("160"); | 21 const base::FilePath::CharType kCrxVersion[] = FILE_PATH_LITERAL("160"); |
| 22 |
| 23 class StaticCldDataHarness : public test::CldDataHarness { |
| 24 public: |
| 25 StaticCldDataHarness() {} |
| 26 ~StaticCldDataHarness() override {}; |
| 27 void Init() override { |
| 28 translate::CldDataSource::Set( |
| 29 translate::CldDataSource::GetStaticDataSource()); |
| 30 } |
| 31 private: |
| 32 DISALLOW_COPY_AND_ASSIGN(StaticCldDataHarness); |
| 33 }; |
| 34 |
18 } // namespace | 35 } // namespace |
19 | 36 |
20 namespace test { | 37 namespace test { |
21 | 38 |
22 const base::FilePath::CharType* CldDataHarness::GetTestDataSourceCrxVersion() { | 39 const base::FilePath::CharType* CldDataHarness::GetTestDataSourceCrxVersion() { |
23 return kCrxVersion; | 40 return kCrxVersion; |
24 } | 41 } |
25 | 42 |
26 void CldDataHarness::GetTestDataSourceDirectory(base::FilePath* out_path) { | 43 void CldDataHarness::GetTestDataSourceDirectory(base::FilePath* out_path) { |
27 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, out_path)); | 44 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, out_path)); |
28 *out_path = | 45 *out_path = |
29 out_path->Append(FILE_PATH_LITERAL("cld2_component")).Append(kCrxVersion); | 46 out_path->Append(FILE_PATH_LITERAL("cld2_component")).Append(kCrxVersion); |
30 } | 47 } |
31 | 48 |
| 49 // static |
| 50 scoped_ptr<CldDataHarness> |
| 51 CldDataHarness::CreateStaticDataHarness() { |
| 52 return scoped_ptr<CldDataHarness>(new StaticCldDataHarness()); |
| 53 } |
| 54 |
| 55 // static |
| 56 scoped_ptr<CldDataHarness> |
| 57 CldDataHarness::CreateStandaloneDataHarness() { |
| 58 return scoped_ptr<CldDataHarness>(new StandaloneCldDataHarness()); |
| 59 } |
| 60 |
| 61 // static |
| 62 scoped_ptr<CldDataHarness> |
| 63 CldDataHarness::CreateComponentDataHarness() { |
| 64 return scoped_ptr<CldDataHarness>(new ComponentCldDataHarness()); |
| 65 } |
| 66 |
32 } // namespace test | 67 } // namespace test |
OLD | NEW |