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