OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 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 |
| 7 import os |
| 8 |
6 from server_instance import ServerInstance | 9 from server_instance import ServerInstance |
7 import svn_constants | |
8 from test_file_system import TestFileSystem | 10 from test_file_system import TestFileSystem |
9 import unittest | 11 import unittest |
10 | 12 |
11 _TEST_DATA = TestFileSystem.MoveTo(svn_constants.INTRO_PATH, { | 13 def _LoadJson(name, mode='rb'): |
12 'test.html': '<h1>hello</h1>world<h2>first</h2><h3>inner</h3><h2>second</h2>' | 14 return json.load( |
13 }) | 15 open(os.path.join('test_data', 'test_json', name), mode)) |
14 | 16 |
15 class IntroDataSourceTest(unittest.TestCase): | 17 class IntroDataSourceTest(unittest.TestCase): |
16 def setUp(self): | 18 def setUp(self): |
17 self._server = ServerInstance.ForTest(TestFileSystem(_TEST_DATA)) | 19 self._server = ServerInstance.ForTest( |
| 20 TestFileSystem(_LoadJson('basic_docs_filesystem.json'))) |
18 | 21 |
19 def testIntro(self): | 22 def testIntro(self): |
20 intro_data_source = self._server.intro_data_source_factory.Create() | 23 intro_data_source = self._server.intro_data_source_factory.Create() |
21 data = intro_data_source.get('test') | 24 data = intro_data_source.get('test') |
22 self.assertEqual('hello', data['title']) | 25 self.assertEqual('hi', data['title']) |
23 # TODO(kalman): test links. | 26 # TODO(kalman): test links. |
24 expected_toc = [{'subheadings': [{'link': '', 'title': u'inner'}], | 27 expected_toc = [{'subheadings': [{'link': '', 'title': u'inner'}], |
25 'link': '', | 28 'link': '', |
26 'title': u'first'}, | 29 'title': u'first'}, |
27 {'subheadings': [], 'link': '', 'title': u'second'}] | 30 {'subheadings': [], 'link': '', 'title': u'second'}] |
28 self.assertEqual(expected_toc, data['apps_toc']) | 31 self.assertEqual(expected_toc, data['apps_toc']) |
29 self.assertEqual(expected_toc, data['extensions_toc']) | 32 self.assertEqual(expected_toc, data['extensions_toc']) |
30 self.assertEqual('world<h2>first</h2><h3>inner</h3><h2>second</h2>', | 33 self.assertEqual('you<h2>first</h2><h3>inner</h3><h2>second</h2>', |
31 data['intro'].render().text) | 34 data['intro'].render().text) |
32 | 35 |
33 if __name__ == '__main__': | 36 if __name__ == '__main__': |
34 unittest.main() | 37 unittest.main() |
OLD | NEW |