| 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 from json_schema import CachedLoad | 6 from json_schema import CachedLoad |
| 7 from idl_schema import Load |
| 8 from model import Platforms |
| 7 import model | 9 import model |
| 8 import unittest | 10 import unittest |
| 9 | 11 |
| 10 class ModelTest(unittest.TestCase): | 12 class ModelTest(unittest.TestCase): |
| 11 def setUp(self): | 13 def setUp(self): |
| 12 self.model = model.Model() | 14 self.model = model.Model() |
| 13 self.permissions_json = CachedLoad('test/permissions.json') | 15 self.permissions_json = CachedLoad('test/permissions.json') |
| 14 self.model.AddNamespace(self.permissions_json[0], | 16 self.model.AddNamespace(self.permissions_json[0], |
| 15 'path/to/permissions.json') | 17 'path/to/permissions.json') |
| 16 self.permissions = self.model.namespaces.get('permissions') | 18 self.permissions = self.model.namespaces.get('permissions') |
| 17 self.windows_json = CachedLoad('test/windows.json') | 19 self.windows_json = CachedLoad('test/windows.json') |
| 18 self.model.AddNamespace(self.windows_json[0], | 20 self.model.AddNamespace(self.windows_json[0], |
| 19 'path/to/window.json') | 21 'path/to/window.json') |
| 20 self.windows = self.model.namespaces.get('windows') | 22 self.windows = self.model.namespaces.get('windows') |
| 21 self.tabs_json = CachedLoad('test/tabs.json') | 23 self.tabs_json = CachedLoad('test/tabs.json') |
| 22 self.model.AddNamespace(self.tabs_json[0], | 24 self.model.AddNamespace(self.tabs_json[0], |
| 23 'path/to/tabs.json') | 25 'path/to/tabs.json') |
| 24 self.tabs = self.model.namespaces.get('tabs') | 26 self.tabs = self.model.namespaces.get('tabs') |
| 27 self.idl_chromeos = Load('test/idl_namespace_chromeos.idl') |
| 28 self.model.AddNamespace(self.idl_chromeos[0], |
| 29 'path/to/idl_namespace_chromeos.idl') |
| 30 self.idl_namespace_chromeos = self.model.namespaces.get( |
| 31 'idl_namespace_chromeos') |
| 32 self.idl_all_platforms = Load('test/idl_namespace_all_platforms.idl') |
| 33 self.model.AddNamespace(self.idl_all_platforms[0], |
| 34 'path/to/idl_namespace_all_platforms.idl') |
| 35 self.idl_namespace_all_platforms = self.model.namespaces.get( |
| 36 'idl_namespace_all_platforms') |
| 37 self.idl_non_specific_platforms = Load( |
| 38 'test/idl_namespace_non_specific_platforms.idl') |
| 39 self.model.AddNamespace(self.idl_non_specific_platforms[0], |
| 40 'path/to/idl_namespace_non_specific_platforms.idl') |
| 41 self.idl_namespace_non_specific_platforms = self.model.namespaces.get( |
| 42 'idl_namespace_non_specific_platforms') |
| 25 | 43 |
| 26 def testNamespaces(self): | 44 def testNamespaces(self): |
| 27 self.assertEquals(3, len(self.model.namespaces)) | 45 self.assertEquals(6, len(self.model.namespaces)) |
| 28 self.assertTrue(self.permissions) | 46 self.assertTrue(self.permissions) |
| 29 | 47 |
| 30 def testHasFunctions(self): | 48 def testHasFunctions(self): |
| 31 self.assertEquals(["contains", "getAll", "remove", "request"], | 49 self.assertEquals(["contains", "getAll", "remove", "request"], |
| 32 sorted(self.permissions.functions.keys())) | 50 sorted(self.permissions.functions.keys())) |
| 33 | 51 |
| 34 def testHasTypes(self): | 52 def testHasTypes(self): |
| 35 self.assertEquals(['Tab'], self.tabs.types.keys()) | 53 self.assertEquals(['Tab'], self.tabs.types.keys()) |
| 36 self.assertEquals(['Permissions'], self.permissions.types.keys()) | 54 self.assertEquals(['Permissions'], self.permissions.types.keys()) |
| 37 self.assertEquals(['Window'], self.windows.types.keys()) | 55 self.assertEquals(['Window'], self.windows.types.keys()) |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 'FOO': 'foo', | 111 'FOO': 'foo', |
| 94 'FOOBar': 'foo_bar', | 112 'FOOBar': 'foo_bar', |
| 95 'foo.bar': 'foo_bar', | 113 'foo.bar': 'foo_bar', |
| 96 'foo.BAR': 'foo_bar', | 114 'foo.BAR': 'foo_bar', |
| 97 'foo.barBAZ': 'foo_bar_baz', | 115 'foo.barBAZ': 'foo_bar_baz', |
| 98 'foo_Bar_Baz_box': 'foo_bar_baz_box', | 116 'foo_Bar_Baz_box': 'foo_bar_baz_box', |
| 99 } | 117 } |
| 100 for name in expectations: | 118 for name in expectations: |
| 101 self.assertEquals(expectations[name], model.UnixName(name)) | 119 self.assertEquals(expectations[name], model.UnixName(name)) |
| 102 | 120 |
| 121 def testPlatforms(self): |
| 122 self.assertEqual([Platforms.CHROMEOS], |
| 123 self.idl_namespace_chromeos.platforms) |
| 124 self.assertEqual( |
| 125 [Platforms.CHROMEOS, Platforms.CHROMEOS_TOUCH, Platforms.LINUX, |
| 126 Platforms.MAC, Platforms.WIN], |
| 127 self.idl_namespace_all_platforms.platforms) |
| 128 self.assertEqual(None, |
| 129 self.idl_namespace_non_specific_platforms.platforms) |
| 103 | 130 |
| 104 if __name__ == '__main__': | 131 if __name__ == '__main__': |
| 105 unittest.main() | 132 unittest.main() |
| OLD | NEW |