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

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

Issue 26538009: Docserver: make file_system a property of Create (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: niggles Created 7 years, 2 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 | Annotate | Revision Log
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
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 return f.read() 59 return f.read()
60 60
61 def _RenderTest(self, name, data_source): 61 def _RenderTest(self, name, data_source):
62 template_name = name + '_tmpl.html' 62 template_name = name + '_tmpl.html'
63 template = Handlebar(self._ReadLocalFile(template_name)) 63 template = Handlebar(self._ReadLocalFile(template_name))
64 self.assertEquals( 64 self.assertEquals(
65 self._ReadLocalFile(name + '_expected.html'), 65 self._ReadLocalFile(name + '_expected.html'),
66 data_source.Render(template_name)) 66 data_source.Render(template_name))
67 67
68 def _CreateTemplateDataSource(self, compiled_fs_factory, api_data=None): 68 def _CreateTemplateDataSource(self, compiled_fs_factory, api_data=None):
69 file_system = LocalFileSystem(self._base_path)
69 if api_data is None: 70 if api_data is None:
70 api_data_factory = APIDataSource.Factory( 71 api_data_factory = APIDataSource.Factory(
71 compiled_fs_factory, 72 compiled_fs_factory,
73 file_system,
72 'fake_path', 74 'fake_path',
73 _FakeFactory(), 75 _FakeFactory(),
74 TestBranchUtility.CreateWithCannedData()) 76 TestBranchUtility.CreateWithCannedData())
75 else: 77 else:
76 api_data_factory = _FakeFactory(api_data) 78 api_data_factory = _FakeFactory(api_data)
77 reference_resolver_factory = ReferenceResolver.Factory( 79 reference_resolver_factory = ReferenceResolver.Factory(
78 api_data_factory, 80 api_data_factory,
79 self._fake_api_list_data_source_factory, 81 self._fake_api_list_data_source_factory,
80 ObjectStoreCreator.ForTest()) 82 ObjectStoreCreator.ForTest())
81 @DisableLogging('error') # "was never set" error 83 @DisableLogging('error') # "was never set" error
82 def create_from_factory(factory): 84 def create_from_factory(factory):
83 path = 'extensions/foo' 85 path = 'extensions/foo'
84 return factory.Create(Request.ForTest(path), {}) 86 return factory.Create(Request.ForTest(path), {})
85 return create_from_factory(TemplateDataSource.Factory( 87 return create_from_factory(TemplateDataSource.Factory(
86 api_data_factory, 88 api_data_factory,
87 self._fake_api_list_data_source_factory, 89 self._fake_api_list_data_source_factory,
88 self._fake_intro_data_source_factory, 90 self._fake_intro_data_source_factory,
89 self._fake_samples_data_source_factory, 91 self._fake_samples_data_source_factory,
90 compiled_fs_factory, 92 compiled_fs_factory,
93 file_system,
91 reference_resolver_factory, 94 reference_resolver_factory,
92 '.', 95 '.',
93 '.', 96 '.',
94 '')) 97 ''))
95 98
96 def testSimple(self): 99 def testSimple(self):
97 self._base_path = os.path.join(self._base_path, 'simple') 100 self._base_path = os.path.join(self._base_path, 'simple')
98 fetcher = LocalFileSystem(self._base_path)
99 compiled_fs_factory = CompiledFileSystem.Factory( 101 compiled_fs_factory = CompiledFileSystem.Factory(
100 fetcher,
101 ObjectStoreCreator.ForTest()) 102 ObjectStoreCreator.ForTest())
102 t_data_source = self._CreateTemplateDataSource( 103 t_data_source = self._CreateTemplateDataSource(
103 compiled_fs_factory, 104 compiled_fs_factory,
104 ObjectStoreCreator.ForTest()) 105 ObjectStoreCreator.ForTest())
105 template_a1 = Handlebar(self._ReadLocalFile('test1.html')) 106 template_a1 = Handlebar(self._ReadLocalFile('test1.html'))
106 self.assertEqual(template_a1.render({}, {'templates': {}}).text, 107 self.assertEqual(template_a1.render({}, {'templates': {}}).text,
107 t_data_source.get('test1').render({}, {'templates': {}}).text) 108 t_data_source.get('test1').render({}, {'templates': {}}).text)
108 109
109 template_a2 = Handlebar(self._ReadLocalFile('test2.html')) 110 template_a2 = Handlebar(self._ReadLocalFile('test2.html'))
110 self.assertEqual(template_a2.render({}, {'templates': {}}).text, 111 self.assertEqual(template_a2.render({}, {'templates': {}}).text,
111 t_data_source.get('test2').render({}, {'templates': {}}).text) 112 t_data_source.get('test2').render({}, {'templates': {}}).text)
112 113
113 @DisableLogging('warning') 114 @DisableLogging('warning')
114 def testNotFound(self): 115 def testNotFound(self):
115 self._base_path = os.path.join(self._base_path, 'simple') 116 self._base_path = os.path.join(self._base_path, 'simple')
116 fetcher = LocalFileSystem(self._base_path)
117 compiled_fs_factory = CompiledFileSystem.Factory( 117 compiled_fs_factory = CompiledFileSystem.Factory(
118 fetcher,
119 ObjectStoreCreator.ForTest()) 118 ObjectStoreCreator.ForTest())
120 t_data_source = self._CreateTemplateDataSource( 119 t_data_source = self._CreateTemplateDataSource(
121 compiled_fs_factory, 120 compiled_fs_factory,
122 ObjectStoreCreator.ForTest()) 121 ObjectStoreCreator.ForTest())
123 self.assertEqual(None, t_data_source.get('junk.html')) 122 self.assertEqual(None, t_data_source.get('junk.html'))
124 123
125 def testPartials(self): 124 def testPartials(self):
126 self._base_path = os.path.join(self._base_path, 'partials') 125 self._base_path = os.path.join(self._base_path, 'partials')
127 fetcher = LocalFileSystem(self._base_path)
128 compiled_fs_factory = CompiledFileSystem.Factory( 126 compiled_fs_factory = CompiledFileSystem.Factory(
129 fetcher,
130 ObjectStoreCreator.ForTest()) 127 ObjectStoreCreator.ForTest())
131 t_data_source = self._CreateTemplateDataSource(compiled_fs_factory) 128 t_data_source = self._CreateTemplateDataSource(compiled_fs_factory)
132 self.assertEqual( 129 self.assertEqual(
133 self._ReadLocalFile('test_expected.html'), 130 self._ReadLocalFile('test_expected.html'),
134 t_data_source.get('test_tmpl').render( 131 t_data_source.get('test_tmpl').render(
135 json.loads(self._ReadLocalFile('input.json')), t_data_source).text) 132 json.loads(self._ReadLocalFile('input.json')), t_data_source).text)
136 133
137 def testRender(self): 134 def testRender(self):
138 self._base_path = os.path.join(self._base_path, 'render') 135 self._base_path = os.path.join(self._base_path, 'render')
139 fetcher = LocalFileSystem(self._base_path)
140 context = json.loads(self._ReadLocalFile('test1.json')) 136 context = json.loads(self._ReadLocalFile('test1.json'))
141 compiled_fs_factory = CompiledFileSystem.Factory( 137 compiled_fs_factory = CompiledFileSystem.Factory(
142 fetcher,
143 ObjectStoreCreator.ForTest()) 138 ObjectStoreCreator.ForTest())
144 self._RenderTest( 139 self._RenderTest(
145 'test1', 140 'test1',
146 self._CreateTemplateDataSource( 141 self._CreateTemplateDataSource(
147 compiled_fs_factory, 142 compiled_fs_factory,
148 api_data=json.loads(self._ReadLocalFile('test1.json')))) 143 api_data=json.loads(self._ReadLocalFile('test1.json'))))
149 self._RenderTest( 144 self._RenderTest(
150 'test2', 145 'test2',
151 self._CreateTemplateDataSource( 146 self._CreateTemplateDataSource(
152 compiled_fs_factory, 147 compiled_fs_factory,
153 api_data=json.loads(self._ReadLocalFile('test2.json')))) 148 api_data=json.loads(self._ReadLocalFile('test2.json'))))
154 149
155 if __name__ == '__main__': 150 if __name__ == '__main__':
156 unittest.main() 151 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698