| 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 unittest | 6 import unittest |
| 7 from api_list_data_source import APIListDataSource | 7 from api_list_data_source import APIListDataSource |
| 8 from compiled_file_system import CompiledFileSystem | 8 from compiled_file_system import CompiledFileSystem |
| 9 from copy import deepcopy | 9 from copy import deepcopy |
| 10 from object_store_creator import ObjectStoreCreator | 10 from object_store_creator import ObjectStoreCreator |
| 11 from test_file_system import TestFileSystem | 11 from test_file_system import TestFileSystem |
| 12 | 12 |
| 13 def _ToTestData(obj): | 13 def _ToTestData(obj): |
| 14 '''Transforms |obj| into test data by turning a list of files into an object | 14 '''Transforms |obj| into test data by turning a list of files into an object |
| 15 mapping that file to its contents (derived from its name). | 15 mapping that file to its contents (derived from its name). |
| 16 ''' | 16 ''' |
| 17 return (dict((name, name) for name in obj) if isinstance(obj, list) else | 17 return (dict((name, name) for name in obj) if isinstance(obj, list) else |
| 18 dict((key, _ToTestData(value)) for key, value in obj.items())) | 18 dict((key, _ToTestData(value)) for key, value in obj.items())) |
| 19 | 19 |
| 20 _TEST_DATA = _ToTestData({ | 20 _TEST_DATA = _ToTestData({ |
| 21 'api': [ | 21 'api': [ |
| 22 'alarms.idl', | 22 'alarms.idl', |
| 23 'app_window.idl', | 23 'app_window.idl', |
| 24 'browser_action.json', | 24 'browser_action.json', |
| 25 'experimental_bluetooth.idl', | 25 'experimental_bluetooth.idl', |
| 26 'experimental_history.idl', | 26 'experimental_history.idl', |
| 27 'experimental_infobars.idl', | |
| 28 'experimental_power.idl', | 27 'experimental_power.idl', |
| 28 'infobars.idl', |
| 29 'something_internal.idl', | 29 'something_internal.idl', |
| 30 'something_else_internal.json', | 30 'something_else_internal.json', |
| 31 'storage.json', | 31 'storage.json', |
| 32 ], | 32 ], |
| 33 'public': { | 33 'public': { |
| 34 'apps': [ | 34 'apps': [ |
| 35 'alarms.html', | 35 'alarms.html', |
| 36 'app_window.html', | 36 'app_window.html', |
| 37 'experimental_bluetooth.html', | 37 'experimental_bluetooth.html', |
| 38 'experimental_power.html', | 38 'experimental_power.html', |
| 39 'storage.html', | 39 'storage.html', |
| 40 ], | 40 ], |
| 41 'extensions': [ | 41 'extensions': [ |
| 42 'alarms.html', | 42 'alarms.html', |
| 43 'browserAction.html', | 43 'browserAction.html', |
| 44 'experimental_history.html', | 44 'experimental_history.html', |
| 45 'experimental_infobars.html', | |
| 46 'experimental_power.html', | 45 'experimental_power.html', |
| 46 'infobars.html', |
| 47 'storage.html', | 47 'storage.html', |
| 48 ], | 48 ], |
| 49 }, | 49 }, |
| 50 }) | 50 }) |
| 51 | 51 |
| 52 class APIListDataSourceTest(unittest.TestCase): | 52 class APIListDataSourceTest(unittest.TestCase): |
| 53 def setUp(self): | 53 def setUp(self): |
| 54 self._factory = APIListDataSource.Factory( | 54 self._factory = APIListDataSource.Factory( |
| 55 CompiledFileSystem.Factory(TestFileSystem(deepcopy(_TEST_DATA)), | 55 CompiledFileSystem.Factory(TestFileSystem(deepcopy(_TEST_DATA)), |
| 56 ObjectStoreCreator.ForTest()), | 56 ObjectStoreCreator.ForTest()), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 67 def testExperimentalApps(self): | 67 def testExperimentalApps(self): |
| 68 api_list = self._factory.Create() | 68 api_list = self._factory.Create() |
| 69 self.assertEqual([{'name': 'experimental.bluetooth'}, | 69 self.assertEqual([{'name': 'experimental.bluetooth'}, |
| 70 {'name': 'experimental.power', 'last': True}], | 70 {'name': 'experimental.power', 'last': True}], |
| 71 sorted(api_list.get('apps').get('experimental'))) | 71 sorted(api_list.get('apps').get('experimental'))) |
| 72 | 72 |
| 73 def testExtensions(self): | 73 def testExtensions(self): |
| 74 api_list = self._factory.Create() | 74 api_list = self._factory.Create() |
| 75 self.assertEqual([{'name': 'alarms'}, | 75 self.assertEqual([{'name': 'alarms'}, |
| 76 {'name': 'browserAction'}, | 76 {'name': 'browserAction'}, |
| 77 {'name': 'infobars'}, |
| 77 {'name': 'storage', 'last': True}], | 78 {'name': 'storage', 'last': True}], |
| 78 sorted(api_list.get('extensions').get('chrome'))) | 79 sorted(api_list.get('extensions').get('chrome'))) |
| 79 | 80 |
| 80 def testExperimentalApps(self): | 81 def testExperimentalApps(self): |
| 81 api_list = self._factory.Create() | 82 api_list = self._factory.Create() |
| 82 self.assertEqual([{'name': 'experimental.history'}, | 83 self.assertEqual([{'name': 'experimental.history'}, |
| 83 {'name': 'experimental.infobars'}, | |
| 84 {'name': 'experimental.power', 'last': True}], | 84 {'name': 'experimental.power', 'last': True}], |
| 85 sorted(api_list.get('extensions').get('experimental'))) | 85 sorted(api_list.get('extensions').get('experimental'))) |
| 86 | 86 |
| 87 if __name__ == '__main__': | 87 if __name__ == '__main__': |
| 88 unittest.main() | 88 unittest.main() |
| OLD | NEW |