OLD | NEW |
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 os | 6 import os |
7 import sys | 7 import sys |
8 import unittest | 8 import unittest |
9 | 9 |
10 from compiled_file_system import CompiledFileSystem | 10 from compiled_file_system import CompiledFileSystem |
11 from local_file_system import LocalFileSystem | 11 from local_file_system import LocalFileSystem |
12 from object_store_creator import ObjectStoreCreator | 12 from object_store_creator import ObjectStoreCreator |
13 from sidenav_data_source import SidenavDataSource | 13 from sidenav_data_source import SidenavDataSource |
14 | 14 |
15 class SamplesDataSourceTest(unittest.TestCase): | 15 class SamplesDataSourceTest(unittest.TestCase): |
16 def setUp(self): | 16 def setUp(self): |
17 self._base_path = os.path.join(sys.path[0], | 17 self._base_path = os.path.join(sys.path[0], |
18 'test_data', | 18 'test_data', |
19 'sidenav_data_source') | 19 'sidenav_data_source') |
20 self._compiled_fs_factory = CompiledFileSystem.Factory( | 20 self._compiled_fs_factory = CompiledFileSystem.Factory( |
21 LocalFileSystem(self._base_path), | 21 LocalFileSystem(self._base_path), |
22 ObjectStoreCreator.TestFactory()) | 22 ObjectStoreCreator.ForTest()) |
23 | 23 |
24 def _CheckLevels(self, items, level=2): | 24 def _CheckLevels(self, items, level=2): |
25 for item in items: | 25 for item in items: |
26 self.assertEqual(level, item['level']) | 26 self.assertEqual(level, item['level']) |
27 if 'items' in item: | 27 if 'items' in item: |
28 self._CheckLevels(item['items'], level=level + 1) | 28 self._CheckLevels(item['items'], level=level + 1) |
29 | 29 |
30 def testLevels(self): | 30 def testLevels(self): |
31 sidenav_data_source = SidenavDataSource.Factory(self._compiled_fs_factory, | 31 sidenav_data_source = SidenavDataSource.Factory(self._compiled_fs_factory, |
32 self._base_path).Create('') | 32 self._base_path).Create('') |
33 sidenav_json = sidenav_data_source.get('test') | 33 sidenav_json = sidenav_data_source.get('test') |
34 self._CheckLevels(sidenav_json) | 34 self._CheckLevels(sidenav_json) |
35 | 35 |
36 def testSelected(self): | 36 def testSelected(self): |
37 sidenav_data_source = SidenavDataSource.Factory( | 37 sidenav_data_source = SidenavDataSource.Factory( |
38 self._compiled_fs_factory, | 38 self._compiled_fs_factory, |
39 self._base_path).Create('www.b.com') | 39 self._base_path).Create('www.b.com') |
40 sidenav_json = sidenav_data_source.get('test') | 40 sidenav_json = sidenav_data_source.get('test') |
41 # This will be prettier once JSON is loaded with an OrderedDict. | 41 # This will be prettier once JSON is loaded with an OrderedDict. |
42 for item in sidenav_json: | 42 for item in sidenav_json: |
43 if item['title'] == 'Jim': | 43 if item['title'] == 'Jim': |
44 self.assertTrue(item.get('child_selected', False)) | 44 self.assertTrue(item.get('child_selected', False)) |
45 for next_item in item['items']: | 45 for next_item in item['items']: |
46 if next_item['title'] == 'B': | 46 if next_item['title'] == 'B': |
47 self.assertTrue(next_item.get('selected', False)) | 47 self.assertTrue(next_item.get('selected', False)) |
48 return | 48 return |
49 # If we didn't return already, we should fail. | 49 # If we didn't return already, we should fail. |
50 self.fail() | 50 self.fail() |
51 | 51 |
52 | |
53 | |
54 if __name__ == '__main__': | 52 if __name__ == '__main__': |
55 unittest.main() | 53 unittest.main() |
OLD | NEW |