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

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

Issue 10054039: Support array types for function and callback arguments in IDL APIs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanup Created 8 years, 8 months 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 #!/usr/bin/env python
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
4 # found in the LICENSE file.
5
6 import idl_schema
7 import unittest
8
9 def getFunction(schema, name):
10 for item in schema['functions']:
11 if item['name'] == name:
12 return item
13 raise KeyError('Missing function %s' % name)
14
15 def getParams(schema, name):
16 function = getFunction(schema, name)
17 return function['parameters']
18
19 class IdlSchemaTest(unittest.TestCase):
20 def setUp(self):
21 loaded = idl_schema.Load('test/idl_basics.idl')
22 self.assertEquals(1, len(loaded))
23 self.assertEquals('idl_basics', loaded[0]['namespace'])
24 self.idl_basics = loaded[0]
25
26 def testSimpleCallbacks(self):
27 schema = self.idl_basics
28 expected = [{'type':'function', 'name':'Callback1', 'parameters':[]}]
29 self.assertEquals(expected, getParams(schema, 'function4'))
30
31 expected = [{'type':'function', 'name':'Callback2',
32 'parameters':[{'name':'x', 'type':'integer'}]}]
33 self.assertEquals(expected, getParams(schema, 'function5'))
34
35 expected = [{'type':'function', 'name':'Callback3',
36 'parameters':[{'name':'arg', '$ref':'MyType1'}]}]
37 self.assertEquals(expected, getParams(schema, 'function6'))
38
39 def testCallbackWithArrayArgument(self):
40 schema = self.idl_basics
41 expected = [{'type':'function', 'name':'Callback4',
42 'parameters':[{'name':'arg', 'type':'array',
43 'items':{'$ref':'MyType2'}}]}]
44 self.assertEquals(expected, getParams(schema, 'function12'))
45
46 if __name__ == '__main__':
47 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698