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

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
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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 func['parameters']) 138 func['parameters'])
137 func = getFunction(schema, 'function4') 139 func = getFunction(schema, 'function4')
138 self.assertEquals(('This tests if "double-quotes" are escaped correctly.' 140 self.assertEquals(('This tests if "double-quotes" are escaped correctly.'
139 '<br/><br/> It also tests a comment with two newlines.'), 141 '<br/><br/> It also tests a comment with two newlines.'),
140 func['description']) 142 func['description'])
141 143
142 def testReservedWords(self): 144 def testReservedWords(self):
143 schema = idl_schema.Load('test/idl_reserved_words.idl')[0] 145 schema = idl_schema.Load('test/idl_reserved_words.idl')[0]
144 146
145 foo_type = getType(schema, 'Foo') 147 foo_type = getType(schema, 'Foo')
146 self.assertEquals(['float', 'DOMString'], foo_type['enum']) 148 self.assertEquals([{'name': 'float'}, {'name': 'DOMString'}],
149 foo_type['enum'])
147 150
148 enum_type = getType(schema, 'enum') 151 enum_type = getType(schema, 'enum')
149 self.assertEquals(['callback', 'namespace'], enum_type['enum']) 152 self.assertEquals([{'name': 'callback'}, {'name': 'namespace'}],
153 enum_type['enum'])
150 154
151 dictionary = getType(schema, 'dictionary') 155 dictionary = getType(schema, 'dictionary')
152 self.assertEquals('integer', dictionary['properties']['long']['type']) 156 self.assertEquals('integer', dictionary['properties']['long']['type'])
153 157
154 mytype = getType(schema, 'MyType') 158 mytype = getType(schema, 'MyType')
155 self.assertEquals('string', mytype['properties']['interface']['type']) 159 self.assertEquals('string', mytype['properties']['interface']['type'])
156 160
157 params = getParams(schema, 'static') 161 params = getParams(schema, 'static')
158 self.assertEquals('Foo', params[0]['$ref']) 162 self.assertEquals('Foo', params[0]['$ref'])
159 self.assertEquals('enum', params[1]['$ref']) 163 self.assertEquals('enum', params[1]['$ref'])
160 164
161 165
162 if __name__ == '__main__': 166 if __name__ == '__main__':
163 unittest.main() 167 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698