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 object_store_creator import ObjectStoreCreator | 14 from object_store_creator import ObjectStoreCreator |
15 from reference_resolver import ReferenceResolver | 15 from reference_resolver import ReferenceResolver |
16 from template_data_source import TemplateDataSource | 16 from template_data_source import TemplateDataSource |
| 17 from test_file_system import TestFileSystem |
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 |
(...skipping 17 matching lines...) Expand all Loading... |
44 | 45 |
45 def _RenderTest(self, name, data_source): | 46 def _RenderTest(self, name, data_source): |
46 template_name = name + '_tmpl.html' | 47 template_name = name + '_tmpl.html' |
47 template = Handlebar(self._ReadLocalFile(template_name)) | 48 template = Handlebar(self._ReadLocalFile(template_name)) |
48 self.assertEquals( | 49 self.assertEquals( |
49 self._ReadLocalFile(name + '_expected.html'), | 50 self._ReadLocalFile(name + '_expected.html'), |
50 data_source.Render(template_name)) | 51 data_source.Render(template_name)) |
51 | 52 |
52 def _CreateTemplateDataSource(self, compiled_fs_factory, api_data=None): | 53 def _CreateTemplateDataSource(self, compiled_fs_factory, api_data=None): |
53 if api_data is None: | 54 if api_data is None: |
54 api_data_factory = APIDataSource.Factory(compiled_fs_factory, 'fake_path') | 55 api_data_factory = APIDataSource.Factory(compiled_fs_factory, |
| 56 'fake_path', |
| 57 _FakeFactory()) |
55 else: | 58 else: |
56 api_data_factory = _FakeFactory(api_data) | 59 api_data_factory = _FakeFactory(api_data) |
57 reference_resolver_factory = ReferenceResolver.Factory( | 60 reference_resolver_factory = ReferenceResolver.Factory( |
58 api_data_factory, | 61 api_data_factory, |
59 self._fake_api_list_data_source_factory, | 62 self._fake_api_list_data_source_factory, |
60 ObjectStoreCreator.ForTest()) | 63 ObjectStoreCreator.ForTest()) |
61 @DisableLogging('error') # "was never set" error | 64 @DisableLogging('error') # "was never set" error |
62 def create_from_factory(factory): | 65 def create_from_factory(factory): |
63 path = 'extensions/foo' | 66 path = 'extensions/foo' |
64 return factory.Create(Request.ForTest(path), path) | 67 return factory.Create(Request.ForTest(path), path) |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 compiled_fs_factory, | 132 compiled_fs_factory, |
130 api_data=json.loads(self._ReadLocalFile('test1.json')))) | 133 api_data=json.loads(self._ReadLocalFile('test1.json')))) |
131 self._RenderTest( | 134 self._RenderTest( |
132 'test2', | 135 'test2', |
133 self._CreateTemplateDataSource( | 136 self._CreateTemplateDataSource( |
134 compiled_fs_factory, | 137 compiled_fs_factory, |
135 api_data=json.loads(self._ReadLocalFile('test2.json')))) | 138 api_data=json.loads(self._ReadLocalFile('test2.json')))) |
136 | 139 |
137 if __name__ == '__main__': | 140 if __name__ == '__main__': |
138 unittest.main() | 141 unittest.main() |
OLD | NEW |