Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: tools/json_schema_compiler/model_test.py

Issue 38573008: Add "platforms" key in IDL schema compiler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comments Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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()
OLDNEW
« no previous file with comments | « tools/json_schema_compiler/model.py ('k') | tools/json_schema_compiler/test/idl_namespace_all_platforms.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698