| 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_file_system import TestFileSystem | 18 from test_file_system import TestFileSystem |
| 18 from test_util import DisableLogging | 19 from test_util import DisableLogging |
| 19 from third_party.handlebar import Handlebar | 20 from third_party.handlebar import Handlebar |
| 20 from servlet import Request | 21 from servlet import Request |
| 21 | 22 |
| 22 class _FakeFactory(object): | 23 class _FakeFactory(object): |
| 23 def __init__(self, input_dict=None): | 24 def __init__(self, input_dict=None): |
| 24 if input_dict is None: | 25 if input_dict is None: |
| 25 self._input_dict = {} | 26 self._input_dict = {} |
| 26 else: | 27 else: |
| 27 self._input_dict = input_dict | 28 self._input_dict = input_dict |
| 28 | 29 |
| 29 def Create(self, *args, **optargs): | 30 def Create(self, *args, **optargs): |
| 30 return self._input_dict | 31 return self._input_dict |
| 31 | 32 |
| 32 class TemplateDataSourceTest(unittest.TestCase): | 33 class TemplateDataSourceTest(unittest.TestCase): |
| 33 def setUp(self): | 34 def setUp(self): |
| 34 self._base_path = os.path.join(sys.path[0], | 35 self._base_path = os.path.join(sys.path[0], |
| 35 'test_data', | 36 'test_data', |
| 36 'template_data_source') | 37 'template_data_source') |
| 37 self._fake_api_list_data_source_factory = _FakeFactory() | 38 self._fake_api_list_data_source_factory = _FakeFactory() |
| 38 self._fake_intro_data_source_factory = _FakeFactory() | 39 self._fake_intro_data_source_factory = _FakeFactory() |
| 39 self._fake_samples_data_source_factory = _FakeFactory() | 40 self._fake_samples_data_source_factory = _FakeFactory() |
| 40 self._fake_sidenav_data_source_factory = _FakeFactory() | 41 self._fake_sidenav_data_source_factory = _FakeFactory() |
| 42 self._manifest_data_source = ManifestDataSource( |
| 43 _FakeFactory(), LocalFileSystem.Create(), '', '') |
| 41 | 44 |
| 42 def _ReadLocalFile(self, filename): | 45 def _ReadLocalFile(self, filename): |
| 43 with open(os.path.join(self._base_path, filename), 'r') as f: | 46 with open(os.path.join(self._base_path, filename), 'r') as f: |
| 44 return f.read() | 47 return f.read() |
| 45 | 48 |
| 46 def _RenderTest(self, name, data_source): | 49 def _RenderTest(self, name, data_source): |
| 47 template_name = name + '_tmpl.html' | 50 template_name = name + '_tmpl.html' |
| 48 template = Handlebar(self._ReadLocalFile(template_name)) | 51 template = Handlebar(self._ReadLocalFile(template_name)) |
| 49 self.assertEquals( | 52 self.assertEquals( |
| 50 self._ReadLocalFile(name + '_expected.html'), | 53 self._ReadLocalFile(name + '_expected.html'), |
| (...skipping 15 matching lines...) Expand all Loading... |
| 66 path = 'extensions/foo' | 69 path = 'extensions/foo' |
| 67 return factory.Create(Request.ForTest(path), path) | 70 return factory.Create(Request.ForTest(path), path) |
| 68 return create_from_factory(TemplateDataSource.Factory( | 71 return create_from_factory(TemplateDataSource.Factory( |
| 69 api_data_factory, | 72 api_data_factory, |
| 70 self._fake_api_list_data_source_factory, | 73 self._fake_api_list_data_source_factory, |
| 71 self._fake_intro_data_source_factory, | 74 self._fake_intro_data_source_factory, |
| 72 self._fake_samples_data_source_factory, | 75 self._fake_samples_data_source_factory, |
| 73 self._fake_sidenav_data_source_factory, | 76 self._fake_sidenav_data_source_factory, |
| 74 compiled_fs_factory, | 77 compiled_fs_factory, |
| 75 reference_resolver_factory, | 78 reference_resolver_factory, |
| 79 self._manifest_data_source, |
| 76 '.', | 80 '.', |
| 77 '.', | 81 '.', |
| 78 '')) | 82 '')) |
| 79 | 83 |
| 80 def testSimple(self): | 84 def testSimple(self): |
| 81 self._base_path = os.path.join(self._base_path, 'simple') | 85 self._base_path = os.path.join(self._base_path, 'simple') |
| 82 fetcher = LocalFileSystem(self._base_path) | 86 fetcher = LocalFileSystem(self._base_path) |
| 83 compiled_fs_factory = CompiledFileSystem.Factory( | 87 compiled_fs_factory = CompiledFileSystem.Factory( |
| 84 fetcher, | 88 fetcher, |
| 85 ObjectStoreCreator.ForTest()) | 89 ObjectStoreCreator.ForTest()) |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 compiled_fs_factory, | 135 compiled_fs_factory, |
| 132 api_data=json.loads(self._ReadLocalFile('test1.json')))) | 136 api_data=json.loads(self._ReadLocalFile('test1.json')))) |
| 133 self._RenderTest( | 137 self._RenderTest( |
| 134 'test2', | 138 'test2', |
| 135 self._CreateTemplateDataSource( | 139 self._CreateTemplateDataSource( |
| 136 compiled_fs_factory, | 140 compiled_fs_factory, |
| 137 api_data=json.loads(self._ReadLocalFile('test2.json')))) | 141 api_data=json.loads(self._ReadLocalFile('test2.json')))) |
| 138 | 142 |
| 139 if __name__ == '__main__': | 143 if __name__ == '__main__': |
| 140 unittest.main() | 144 unittest.main() |
| OLD | NEW |