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

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

Issue 498813002: Rename the docserver third_party dependency "handlebar" to "motemplate", as part (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: imports Created 6 years, 3 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 unittest 7 import unittest
8 8
9 from extensions_paths import SERVER2 9 from extensions_paths import SERVER2
10 from server_instance import ServerInstance 10 from server_instance import ServerInstance
11 from template_data_source import TemplateDataSource 11 from template_data_source import TemplateDataSource
12 from test_util import DisableLogging, ReadFile 12 from test_util import DisableLogging, ReadFile
13 from third_party.handlebar import Handlebar 13 from third_party.motemplate import Motemplate
14 14
15 def _ReadFile(*path): 15 def _ReadFile(*path):
16 return ReadFile(SERVER2, 'test_data', 'template_data_source', *path) 16 return ReadFile(SERVER2, 'test_data', 'template_data_source', *path)
17 17
18 def _CreateTestDataSource(base_dir): 18 def _CreateTestDataSource(base_dir):
19 '''TemplateDataSource is not instantiated directly, rather, its methods 19 '''TemplateDataSource is not instantiated directly, rather, its methods
20 are invoked through a subclass of it, which has as its only data the 20 are invoked through a subclass of it, which has as its only data the
21 directory in which TemplateDataSource methods should act on. Thus, we test 21 directory in which TemplateDataSource methods should act on. Thus, we test
22 TemplateDataSource indirectly through the TestDataSource class 22 TemplateDataSource indirectly through the TestDataSource class
23 ''' 23 '''
24 return TestDataSource(ServerInstance.ForLocal(), 24 return TestDataSource(ServerInstance.ForLocal(),
25 '%stest_data/template_data_source/%s/' % 25 '%stest_data/template_data_source/%s/' %
26 (SERVER2, base_dir)) 26 (SERVER2, base_dir))
27 27
28 28
29 class TestDataSource(TemplateDataSource): 29 class TestDataSource(TemplateDataSource):
30 '''Provides a subclass we can use to test the TemplateDataSource methods 30 '''Provides a subclass we can use to test the TemplateDataSource methods
31 ''' 31 '''
32 def __init__(self, server_instance, base_dir): 32 def __init__(self, server_instance, base_dir):
33 type(self)._BASE = base_dir 33 type(self)._BASE = base_dir
34 TemplateDataSource.__init__(self, server_instance) 34 TemplateDataSource.__init__(self, server_instance)
35 35
36 36
37 class TemplateDataSourceTest(unittest.TestCase): 37 class TemplateDataSourceTest(unittest.TestCase):
38 38
39 def testSimple(self): 39 def testSimple(self):
40 test_data_source = _CreateTestDataSource('simple') 40 test_data_source = _CreateTestDataSource('simple')
41 template_a1 = Handlebar(_ReadFile('simple', 'test1.html')) 41 template_a1 = Motemplate(_ReadFile('simple', 'test1.html'))
42 context = [{}, {'templates': {}}] 42 context = [{}, {'templates': {}}]
43 self.assertEqual( 43 self.assertEqual(
44 template_a1.Render(*context).text, 44 template_a1.Render(*context).text,
45 test_data_source.get('test1').Render(*context).text) 45 test_data_source.get('test1').Render(*context).text)
46 template_a2 = Handlebar(_ReadFile('simple', 'test2.html')) 46 template_a2 = Motemplate(_ReadFile('simple', 'test2.html'))
47 self.assertEqual( 47 self.assertEqual(
48 template_a2.Render(*context).text, 48 template_a2.Render(*context).text,
49 test_data_source.get('test2').Render(*context).text) 49 test_data_source.get('test2').Render(*context).text)
50 50
51 @DisableLogging('warning') 51 @DisableLogging('warning')
52 def testNotFound(self): 52 def testNotFound(self):
53 test_data_source = _CreateTestDataSource('simple') 53 test_data_source = _CreateTestDataSource('simple')
54 self.assertEqual(None, test_data_source.get('junk')) 54 self.assertEqual(None, test_data_source.get('junk'))
55 55
56 @DisableLogging('warning') 56 @DisableLogging('warning')
57 def testPartials(self): 57 def testPartials(self):
58 test_data_source = _CreateTestDataSource('partials') 58 test_data_source = _CreateTestDataSource('partials')
59 context = json.loads(_ReadFile('partials', 'input.json')) 59 context = json.loads(_ReadFile('partials', 'input.json'))
60 self.assertEqual( 60 self.assertEqual(
61 _ReadFile('partials', 'test_expected.html'), 61 _ReadFile('partials', 'test_expected.html'),
62 test_data_source.get('test_tmpl').Render( 62 test_data_source.get('test_tmpl').Render(
63 context, test_data_source).text) 63 context, test_data_source).text)
64 64
65 65
66 if __name__ == '__main__': 66 if __name__ == '__main__':
67 unittest.main() 67 unittest.main()
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/render_servlet.py ('k') | chrome/common/extensions/docs/server2/template_renderer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698