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 |
(...skipping 19 matching lines...) Expand all Loading... |
30 return self._input_dict | 30 return self._input_dict |
31 | 31 |
32 class TemplateDataSourceTest(unittest.TestCase): | 32 class TemplateDataSourceTest(unittest.TestCase): |
33 def setUp(self): | 33 def setUp(self): |
34 self._base_path = os.path.join(sys.path[0], | 34 self._base_path = os.path.join(sys.path[0], |
35 'test_data', | 35 'test_data', |
36 'template_data_source') | 36 'template_data_source') |
37 self._fake_api_list_data_source_factory = _FakeFactory() | 37 self._fake_api_list_data_source_factory = _FakeFactory() |
38 self._fake_intro_data_source_factory = _FakeFactory() | 38 self._fake_intro_data_source_factory = _FakeFactory() |
39 self._fake_samples_data_source_factory = _FakeFactory() | 39 self._fake_samples_data_source_factory = _FakeFactory() |
40 self._fake_sidenav_data_source_factory = _FakeFactory() | |
41 self._permissions_data_source = PermissionsDataSource( | 40 self._permissions_data_source = PermissionsDataSource( |
42 _FakeFactory(), LocalFileSystem.Create(), '', '', '') | 41 _FakeFactory(), LocalFileSystem.Create(), '', '', '') |
43 | 42 |
44 def _ReadLocalFile(self, filename): | 43 def _ReadLocalFile(self, filename): |
45 with open(os.path.join(self._base_path, filename), 'r') as f: | 44 with open(os.path.join(self._base_path, filename), 'r') as f: |
46 return f.read() | 45 return f.read() |
47 | 46 |
48 def _RenderTest(self, name, data_source): | 47 def _RenderTest(self, name, data_source): |
49 template_name = name + '_tmpl.html' | 48 template_name = name + '_tmpl.html' |
50 template = Handlebar(self._ReadLocalFile(template_name)) | 49 template = Handlebar(self._ReadLocalFile(template_name)) |
51 self.assertEquals( | 50 self.assertEquals( |
52 self._ReadLocalFile(name + '_expected.html'), | 51 self._ReadLocalFile(name + '_expected.html'), |
53 data_source.Render(template_name)) | 52 data_source.Render(template_name)) |
54 | 53 |
55 def _CreateTemplateDataSource(self, compiled_fs_factory, api_data=None): | 54 def _CreateTemplateDataSource(self, compiled_fs_factory, api_data=None): |
56 if api_data is None: | 55 if api_data is None: |
57 api_data_factory = APIDataSource.Factory(compiled_fs_factory, | 56 api_data_factory = APIDataSource.Factory(compiled_fs_factory, |
58 'fake_path', | 57 'fake_path', |
59 _FakeFactory()) | 58 _FakeFactory()) |
60 else: | 59 else: |
61 api_data_factory = _FakeFactory(api_data) | 60 api_data_factory = _FakeFactory(api_data) |
62 reference_resolver_factory = ReferenceResolver.Factory( | 61 reference_resolver_factory = ReferenceResolver.Factory( |
63 api_data_factory, | 62 api_data_factory, |
64 self._fake_api_list_data_source_factory, | 63 self._fake_api_list_data_source_factory, |
65 ObjectStoreCreator.ForTest()) | 64 ObjectStoreCreator.ForTest()) |
66 @DisableLogging('error') # "was never set" error | 65 @DisableLogging('error') # "was never set" error |
67 def create_from_factory(factory): | 66 def create_from_factory(factory): |
68 path = 'extensions/foo' | 67 path = 'extensions/foo' |
69 return factory.Create(Request.ForTest(path), path) | 68 return factory.Create(Request.ForTest(path), path, {}) |
70 return create_from_factory(TemplateDataSource.Factory( | 69 return create_from_factory(TemplateDataSource.Factory( |
71 api_data_factory, | 70 api_data_factory, |
72 self._fake_api_list_data_source_factory, | 71 self._fake_api_list_data_source_factory, |
73 self._fake_intro_data_source_factory, | 72 self._fake_intro_data_source_factory, |
74 self._fake_samples_data_source_factory, | 73 self._fake_samples_data_source_factory, |
75 self._fake_sidenav_data_source_factory, | |
76 compiled_fs_factory, | 74 compiled_fs_factory, |
77 reference_resolver_factory, | 75 reference_resolver_factory, |
78 self._permissions_data_source, | 76 self._permissions_data_source, |
79 '.', | 77 '.', |
80 '.', | 78 '.', |
81 '', | 79 '')) |
82 {})) | |
83 | 80 |
84 def testSimple(self): | 81 def testSimple(self): |
85 self._base_path = os.path.join(self._base_path, 'simple') | 82 self._base_path = os.path.join(self._base_path, 'simple') |
86 fetcher = LocalFileSystem(self._base_path) | 83 fetcher = LocalFileSystem(self._base_path) |
87 compiled_fs_factory = CompiledFileSystem.Factory( | 84 compiled_fs_factory = CompiledFileSystem.Factory( |
88 fetcher, | 85 fetcher, |
89 ObjectStoreCreator.ForTest()) | 86 ObjectStoreCreator.ForTest()) |
90 t_data_source = self._CreateTemplateDataSource( | 87 t_data_source = self._CreateTemplateDataSource( |
91 compiled_fs_factory, | 88 compiled_fs_factory, |
92 ObjectStoreCreator.ForTest()) | 89 ObjectStoreCreator.ForTest()) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 compiled_fs_factory, | 132 compiled_fs_factory, |
136 api_data=json.loads(self._ReadLocalFile('test1.json')))) | 133 api_data=json.loads(self._ReadLocalFile('test1.json')))) |
137 self._RenderTest( | 134 self._RenderTest( |
138 'test2', | 135 'test2', |
139 self._CreateTemplateDataSource( | 136 self._CreateTemplateDataSource( |
140 compiled_fs_factory, | 137 compiled_fs_factory, |
141 api_data=json.loads(self._ReadLocalFile('test2.json')))) | 138 api_data=json.loads(self._ReadLocalFile('test2.json')))) |
142 | 139 |
143 if __name__ == '__main__': | 140 if __name__ == '__main__': |
144 unittest.main() | 141 unittest.main() |
OLD | NEW |