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

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

Issue 39113003: Docserver: Display enum value descriptions in API docs. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « tools/json_schema_compiler/idl_schema.py ('k') | tools/json_schema_compiler/model.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 import idl_schema 6 import idl_schema
7 import unittest 7 import unittest
8 8
9 def getFunction(schema, name): 9 def getFunction(schema, name):
10 for item in schema['functions']: 10 for item in schema['functions']:
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 'c': {'name': 'c', 'type': 'string'}}, 70 'c': {'name': 'c', 'type': 'string'}},
71 getType(self.idl_basics, 'MyType1')['properties']) 71 getType(self.idl_basics, 'MyType1')['properties'])
72 72
73 def testMemberOrdering(self): 73 def testMemberOrdering(self):
74 self.assertEquals( 74 self.assertEquals(
75 ['x', 'y', 'z', 'a', 'b', 'c'], 75 ['x', 'y', 'z', 'a', 'b', 'c'],
76 getType(self.idl_basics, 'MyType1')['properties'].keys()) 76 getType(self.idl_basics, 'MyType1')['properties'].keys())
77 77
78 def testEnum(self): 78 def testEnum(self):
79 schema = self.idl_basics 79 schema = self.idl_basics
80 expected = {'enum': ['name1', 'name2'], 'description': 'Enum description', 80 expected = {'enum': [{'name': 'name1', 'description': 'comment1'},
81 {'name': 'name2'}],
82 'description': 'Enum description',
81 'type': 'string', 'id': 'EnumType'} 83 'type': 'string', 'id': 'EnumType'}
82 self.assertEquals(expected, getType(schema, expected['id'])) 84 self.assertEquals(expected, getType(schema, expected['id']))
83 85
84 expected = [{'name':'type', '$ref':'EnumType'}, 86 expected = [{'name':'type', '$ref':'EnumType'},
85 {'type':'function', 'name':'cb', 87 {'type':'function', 'name':'cb',
86 'parameters':[{'name':'type', '$ref':'EnumType'}]}] 88 'parameters':[{'name':'type', '$ref':'EnumType'}]}]
87 self.assertEquals(expected, getParams(schema, 'function13')) 89 self.assertEquals(expected, getParams(schema, 'function13'))
88 90
89 expected = [{'items': {'$ref': 'EnumType'}, 'name': 'types', 91 expected = [{'items': {'$ref': 'EnumType'}, 'name': 'types',
90 'type': 'array'}] 92 'type': 'array'}]
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 func['parameters']) 157 func['parameters'])
156 func = getFunction(schema, 'function4') 158 func = getFunction(schema, 'function4')
157 self.assertEquals(('This tests if "double-quotes" are escaped correctly.' 159 self.assertEquals(('This tests if "double-quotes" are escaped correctly.'
158 '<br/><br/> It also tests a comment with two newlines.'), 160 '<br/><br/> It also tests a comment with two newlines.'),
159 func['description']) 161 func['description'])
160 162
161 def testReservedWords(self): 163 def testReservedWords(self):
162 schema = idl_schema.Load('test/idl_reserved_words.idl')[0] 164 schema = idl_schema.Load('test/idl_reserved_words.idl')[0]
163 165
164 foo_type = getType(schema, 'Foo') 166 foo_type = getType(schema, 'Foo')
165 self.assertEquals(['float', 'DOMString'], foo_type['enum']) 167 self.assertEquals([{'name': 'float'}, {'name': 'DOMString'}],
168 foo_type['enum'])
166 169
167 enum_type = getType(schema, 'enum') 170 enum_type = getType(schema, 'enum')
168 self.assertEquals(['callback', 'namespace'], enum_type['enum']) 171 self.assertEquals([{'name': 'callback'}, {'name': 'namespace'}],
172 enum_type['enum'])
169 173
170 dictionary = getType(schema, 'dictionary') 174 dictionary = getType(schema, 'dictionary')
171 self.assertEquals('integer', dictionary['properties']['long']['type']) 175 self.assertEquals('integer', dictionary['properties']['long']['type'])
172 176
173 mytype = getType(schema, 'MyType') 177 mytype = getType(schema, 'MyType')
174 self.assertEquals('string', mytype['properties']['interface']['type']) 178 self.assertEquals('string', mytype['properties']['interface']['type'])
175 179
176 params = getParams(schema, 'static') 180 params = getParams(schema, 'static')
177 self.assertEquals('Foo', params[0]['$ref']) 181 self.assertEquals('Foo', params[0]['$ref'])
178 self.assertEquals('enum', params[1]['$ref']) 182 self.assertEquals('enum', params[1]['$ref'])
179 183
180 184
181 if __name__ == '__main__': 185 if __name__ == '__main__':
182 unittest.main() 186 unittest.main()
OLDNEW
« no previous file with comments | « tools/json_schema_compiler/idl_schema.py ('k') | tools/json_schema_compiler/model.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698