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

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

Issue 10704252: Extensions Docs Server: Internal file system (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed up Created 8 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 | 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 unittest 8 import unittest
9 9
10 from fetcher_cache import FetcherCache 10 from file_system_cache import FileSystemCache
11 from local_fetcher import LocalFetcher 11 from local_file_system import LocalFileSystem
12 from template_data_source import TemplateDataSource 12 from template_data_source import TemplateDataSource
13 from third_party.handlebar import Handlebar 13 from third_party.handlebar import Handlebar
14 14
15 class TemplateDataSourceTest(unittest.TestCase): 15 class TemplateDataSourceTest(unittest.TestCase):
16 def setUp(self): 16 def setUp(self):
17 self._base_path = os.path.join('test_data', 'template_data_source') 17 self._base_path = os.path.join('test_data', 'template_data_source')
18 self._fake_api_data_source = {} 18 self._fake_api_data_source = {}
19 self._fake_intro_data_source = {} 19 self._fake_intro_data_source = {}
20 self._fake_samples_data_source = {} 20 self._fake_samples_data_source = {}
21 21
22 def _ReadLocalFile(self, filename): 22 def _ReadLocalFile(self, filename):
23 with open(os.path.join(self._base_path, filename), 'r') as f: 23 with open(os.path.join(self._base_path, filename), 'r') as f:
24 return f.read() 24 return f.read()
25 25
26 def _RenderTest(self, name, data_source): 26 def _RenderTest(self, name, data_source):
27 template_name = name + '_tmpl.html' 27 template_name = name + '_tmpl.html'
28 template = Handlebar(self._ReadLocalFile(template_name)) 28 template = Handlebar(self._ReadLocalFile(template_name))
29 self.assertEquals( 29 self.assertEquals(
30 self._ReadLocalFile(name + '_expected.html'), 30 self._ReadLocalFile(name + '_expected.html'),
31 data_source.Render(template_name)) 31 data_source.Render(template_name))
32 32
33 def _CreateTemplateDataSource(self, input_dict, cache_builder): 33 def _CreateTemplateDataSource(self, input_dict, cache_builder):
34 return TemplateDataSource('fake_branch', 34 return TemplateDataSource('fake_branch',
35 input_dict, 35 input_dict,
36 self._fake_intro_data_source, 36 self._fake_intro_data_source,
37 self._fake_samples_data_source, 37 self._fake_samples_data_source,
38 cache_builder, 38 cache_builder,
39 ['./']) 39 ['./', './'])
40 40
41 def testSimple(self): 41 def testSimple(self):
42 self._base_path = os.path.join(self._base_path, 'simple') 42 self._base_path = os.path.join(self._base_path, 'simple')
43 fetcher = LocalFetcher(self._base_path) 43 fetcher = LocalFileSystem(self._base_path)
44 cache_builder = FetcherCache.Builder(fetcher, 0) 44 cache_builder = FileSystemCache.Builder(fetcher)
45 t_data_source = self._CreateTemplateDataSource(self._fake_api_data_source, 45 t_data_source = self._CreateTemplateDataSource(self._fake_api_data_source,
46 cache_builder) 46 cache_builder)
47 template_a1 = Handlebar(self._ReadLocalFile('test1.html')) 47 template_a1 = Handlebar(self._ReadLocalFile('test1.html'))
48 self.assertEqual(template_a1.render({}, {'templates': {}}).text, 48 self.assertEqual(template_a1.render({}, {'templates': {}}).text,
49 t_data_source['test1'].render({}, {'templates': {}}).text) 49 t_data_source['test1'].render({}, {'templates': {}}).text)
50 50
51 template_a2 = Handlebar(self._ReadLocalFile('test2.html')) 51 template_a2 = Handlebar(self._ReadLocalFile('test2.html'))
52 self.assertEqual(template_a2.render({}, {'templates': {}}).text, 52 self.assertEqual(template_a2.render({}, {'templates': {}}).text,
53 t_data_source['test2'].render({}, {'templates': {}}).text) 53 t_data_source['test2'].render({}, {'templates': {}}).text)
54 54
55 self.assertEqual(None, t_data_source['junk.html']) 55 self.assertEqual(None, t_data_source['junk.html'])
56 56
57 def testPartials(self): 57 def testPartials(self):
58 self._base_path = os.path.join(self._base_path, 'partials') 58 self._base_path = os.path.join(self._base_path, 'partials')
59 fetcher = LocalFetcher(self._base_path) 59 fetcher = LocalFileSystem(self._base_path)
60 cache_builder = FetcherCache.Builder(fetcher, 0) 60 cache_builder = FileSystemCache.Builder(fetcher)
61 t_data_source = self._CreateTemplateDataSource(self._fake_api_data_source, 61 t_data_source = self._CreateTemplateDataSource(self._fake_api_data_source,
62 cache_builder) 62 cache_builder)
63 self.assertEqual(self._ReadLocalFile('test_expected.html'), 63 self.assertEqual(self._ReadLocalFile('test_expected.html'),
64 t_data_source['test_tmpl'].render( 64 t_data_source['test_tmpl'].render(
65 json.loads(self._ReadLocalFile('input.json')), t_data_source).text) 65 json.loads(self._ReadLocalFile('input.json')), t_data_source).text)
66 66
67 def testRender(self): 67 def testRender(self):
68 self._base_path = os.path.join(self._base_path, 'render') 68 self._base_path = os.path.join(self._base_path, 'render')
69 fetcher = LocalFetcher(self._base_path) 69 fetcher = LocalFileSystem(self._base_path)
70 context = json.loads(self._ReadLocalFile('test1.json')) 70 context = json.loads(self._ReadLocalFile('test1.json'))
71 cache_builder = FetcherCache.Builder(fetcher, 0) 71 cache_builder = FileSystemCache.Builder(fetcher)
72 self._RenderTest( 72 self._RenderTest(
73 'test1', 73 'test1',
74 self._CreateTemplateDataSource( 74 self._CreateTemplateDataSource(
75 json.loads(self._ReadLocalFile('test1.json')), 75 json.loads(self._ReadLocalFile('test1.json')),
76 cache_builder)) 76 cache_builder))
77 self._RenderTest( 77 self._RenderTest(
78 'test2', 78 'test2',
79 self._CreateTemplateDataSource( 79 self._CreateTemplateDataSource(
80 json.loads(self._ReadLocalFile('test2.json')), 80 json.loads(self._ReadLocalFile('test2.json')),
81 cache_builder)) 81 cache_builder))
82 82
83 if __name__ == '__main__': 83 if __name__ == '__main__':
84 unittest.main() 84 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698