OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import json | 6 import json |
7 import os | 7 import os |
8 import sys | 8 import sys |
9 import unittest | 9 import unittest |
10 | 10 |
11 from api_data_source import APIDataSource | 11 from api_data_source import APIDataSource |
12 from compiled_file_system import CompiledFileSystem | 12 from compiled_file_system import CompiledFileSystem |
13 from local_file_system import LocalFileSystem | 13 from local_file_system import LocalFileSystem |
| 14 from manifest_data_source import ManifestDataSource |
14 from object_store_creator import ObjectStoreCreator | 15 from object_store_creator import ObjectStoreCreator |
15 from reference_resolver import ReferenceResolver | 16 from reference_resolver import ReferenceResolver |
16 from template_data_source import TemplateDataSource | 17 from template_data_source import TemplateDataSource |
17 from test_util import DisableLogging | 18 from test_util import DisableLogging |
18 from third_party.handlebar import Handlebar | 19 from third_party.handlebar import Handlebar |
19 from servlet import Request | 20 from servlet import Request |
20 | 21 |
21 class _FakeFactory(object): | 22 class _FakeFactory(object): |
22 def __init__(self, input_dict=None): | 23 def __init__(self, input_dict=None): |
23 if input_dict is None: | 24 if input_dict is None: |
24 self._input_dict = {} | 25 self._input_dict = {} |
25 else: | 26 else: |
26 self._input_dict = input_dict | 27 self._input_dict = input_dict |
27 | 28 |
28 def Create(self, *args, **optargs): | 29 def Create(self, *args, **optargs): |
29 return self._input_dict | 30 return self._input_dict |
30 | 31 |
31 class TemplateDataSourceTest(unittest.TestCase): | 32 class TemplateDataSourceTest(unittest.TestCase): |
32 def setUp(self): | 33 def setUp(self): |
33 self._base_path = os.path.join(sys.path[0], | 34 self._base_path = os.path.join(sys.path[0], |
34 'test_data', | 35 'test_data', |
35 'template_data_source') | 36 'template_data_source') |
36 self._fake_api_list_data_source_factory = _FakeFactory() | 37 self._fake_api_list_data_source_factory = _FakeFactory() |
37 self._fake_intro_data_source_factory = _FakeFactory() | 38 self._fake_intro_data_source_factory = _FakeFactory() |
38 self._fake_samples_data_source_factory = _FakeFactory() | 39 self._fake_samples_data_source_factory = _FakeFactory() |
39 self._fake_sidenav_data_source_factory = _FakeFactory() | 40 self._fake_sidenav_data_source_factory = _FakeFactory() |
| 41 self._manifest_data_source = ManifestDataSource( |
| 42 _FakeFactory(), LocalFileSystem.Create(), '', '', '') |
40 | 43 |
41 def _ReadLocalFile(self, filename): | 44 def _ReadLocalFile(self, filename): |
42 with open(os.path.join(self._base_path, filename), 'r') as f: | 45 with open(os.path.join(self._base_path, filename), 'r') as f: |
43 return f.read() | 46 return f.read() |
44 | 47 |
45 def _RenderTest(self, name, data_source): | 48 def _RenderTest(self, name, data_source): |
46 template_name = name + '_tmpl.html' | 49 template_name = name + '_tmpl.html' |
47 template = Handlebar(self._ReadLocalFile(template_name)) | 50 template = Handlebar(self._ReadLocalFile(template_name)) |
48 self.assertEquals( | 51 self.assertEquals( |
49 self._ReadLocalFile(name + '_expected.html'), | 52 self._ReadLocalFile(name + '_expected.html'), |
(...skipping 14 matching lines...) Expand all Loading... |
64 return factory.Create(Request.ForTest(path), path) | 67 return factory.Create(Request.ForTest(path), path) |
65 return create_from_factory(TemplateDataSource.Factory( | 68 return create_from_factory(TemplateDataSource.Factory( |
66 'fake_channel', | 69 'fake_channel', |
67 api_data_factory, | 70 api_data_factory, |
68 self._fake_api_list_data_source_factory, | 71 self._fake_api_list_data_source_factory, |
69 self._fake_intro_data_source_factory, | 72 self._fake_intro_data_source_factory, |
70 self._fake_samples_data_source_factory, | 73 self._fake_samples_data_source_factory, |
71 self._fake_sidenav_data_source_factory, | 74 self._fake_sidenav_data_source_factory, |
72 compiled_fs_factory, | 75 compiled_fs_factory, |
73 reference_resolver_factory, | 76 reference_resolver_factory, |
| 77 self._manifest_data_source, |
74 '.', | 78 '.', |
75 '.')) | 79 '.')) |
76 | 80 |
77 def testSimple(self): | 81 def testSimple(self): |
78 self._base_path = os.path.join(self._base_path, 'simple') | 82 self._base_path = os.path.join(self._base_path, 'simple') |
79 fetcher = LocalFileSystem(self._base_path) | 83 fetcher = LocalFileSystem(self._base_path) |
80 compiled_fs_factory = CompiledFileSystem.Factory( | 84 compiled_fs_factory = CompiledFileSystem.Factory( |
81 fetcher, | 85 fetcher, |
82 ObjectStoreCreator.ForTest()) | 86 ObjectStoreCreator.ForTest()) |
83 t_data_source = self._CreateTemplateDataSource( | 87 t_data_source = self._CreateTemplateDataSource( |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 compiled_fs_factory, | 132 compiled_fs_factory, |
129 api_data=json.loads(self._ReadLocalFile('test1.json')))) | 133 api_data=json.loads(self._ReadLocalFile('test1.json')))) |
130 self._RenderTest( | 134 self._RenderTest( |
131 'test2', | 135 'test2', |
132 self._CreateTemplateDataSource( | 136 self._CreateTemplateDataSource( |
133 compiled_fs_factory, | 137 compiled_fs_factory, |
134 api_data=json.loads(self._ReadLocalFile('test2.json')))) | 138 api_data=json.loads(self._ReadLocalFile('test2.json')))) |
135 | 139 |
136 if __name__ == '__main__': | 140 if __name__ == '__main__': |
137 unittest.main() | 141 unittest.main() |
OLD | NEW |