Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: chrome/common/extensions/docs/server2/template_data_source_test.py

Issue 14273041: Doc server manifest page generation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: epeterson's nits Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698