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

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

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

Powered by Google App Engine
This is Rietveld 408576698