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

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

Issue 2601333002: Update json_schema_compiler to handle the Automation extension API (Closed)
Patch Set: Rebase Created 3 years, 11 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 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 json_parse 7 import json_parse
8 from js_externs_generator import JsExternsGenerator 8 from js_externs_generator import JsExternsGenerator
9 from datetime import datetime 9 from datetime import datetime
10 import model 10 import model
(...skipping 29 matching lines...) Expand all
40 Bar[]? optionalObjArr; 40 Bar[]? optionalObjArr;
41 Greek[] enumArr; 41 Greek[] enumArr;
42 any[] anythingGoes; 42 any[] anythingGoes;
43 Bar obj; 43 Bar obj;
44 long? maybe; 44 long? maybe;
45 (DOMString or Greek or long[]) choice; 45 (DOMString or Greek or long[]) choice;
46 object plainObj; 46 object plainObj;
47 ArrayBuffer arrayBuff; 47 ArrayBuffer arrayBuff;
48 }; 48 };
49 49
50 dictionary Qux {
51 long notOptionalLong;
52 long? optionalLong;
53
54 // A map from string to number.
55 // <jsexterns>@type {Object<string, number>}</jsexterns>
56 object dict;
57
58 static void go();
59 static void stop();
60 };
61
50 callback VoidCallback = void(); 62 callback VoidCallback = void();
51 63
52 callback BazGreekCallback = void(Baz baz, Greek greek); 64 callback BazGreekCallback = void(Baz baz, Greek greek);
53 65
54 interface Functions { 66 interface Functions {
55 // Does something exciting! And what's more, this is a multiline function 67 // Does something exciting! And what's more, this is a multiline function
56 // comment! It goes onto multiple lines! 68 // comment! It goes onto multiple lines!
57 // |baz| : The baz to use. 69 // |baz| : The baz to use.
58 static void doSomething(Baz baz, VoidCallback callback); 70 static void doSomething(Baz baz, VoidCallback callback);
59 71
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 * maybe: (number|undefined), 137 * maybe: (number|undefined),
126 * choice: (string|!chrome.fakeApi.Greek|!Array<number>), 138 * choice: (string|!chrome.fakeApi.Greek|!Array<number>),
127 * plainObj: Object, 139 * plainObj: Object,
128 * arrayBuff: ArrayBuffer 140 * arrayBuff: ArrayBuffer
129 * }} 141 * }}
130 * @see https://developer.chrome.com/extensions/fakeApi#type-Baz 142 * @see https://developer.chrome.com/extensions/fakeApi#type-Baz
131 */ 143 */
132 chrome.fakeApi.Baz; 144 chrome.fakeApi.Baz;
133 145
134 /** 146 /**
147 * @constructor
148 * @private
149 * @see https://developer.chrome.com/extensions/fakeApi#type-Qux
150 */
151 chrome.fakeApi.Qux = function() {};
152
153 /**
154 * @type {number}
155 * @see https://developer.chrome.com/extensions/fakeApi#type-notOptionalLong
156 */
157 chrome.fakeApi.Qux.prototype.notOptionalLong;
158
159 /**
160 * @type {(number|undefined)}
161 * @see https://developer.chrome.com/extensions/fakeApi#type-optionalLong
162 */
163 chrome.fakeApi.Qux.prototype.optionalLong;
164
165 /**
166 * A map from string to number.
167 * @type {Object<string, number>}
168 * @see https://developer.chrome.com/extensions/fakeApi#type-dict
169 */
170 chrome.fakeApi.Qux.prototype.dict;
171
172 /**
173 * @see https://developer.chrome.com/extensions/fakeApi#method-go
174 */
175 chrome.fakeApi.Qux.prototype.go = function() {};
176
177 /**
178 * @see https://developer.chrome.com/extensions/fakeApi#method-stop
179 */
180 chrome.fakeApi.Qux.prototype.stop = function() {};
181
182
183 /**
135 * Does something exciting! And what's more, this is a multiline function 184 * Does something exciting! And what's more, this is a multiline function
136 * comment! It goes onto multiple lines! 185 * comment! It goes onto multiple lines!
137 * @param {!chrome.fakeApi.Baz} baz The baz to use. 186 * @param {!chrome.fakeApi.Baz} baz The baz to use.
138 * @param {function():void} callback 187 * @param {function():void} callback
139 * @see https://developer.chrome.com/extensions/fakeApi#method-doSomething 188 * @see https://developer.chrome.com/extensions/fakeApi#method-doSomething
140 */ 189 */
141 chrome.fakeApi.doSomething = function(baz, callback) {}; 190 chrome.fakeApi.doSomething = function(baz, callback) {};
142 191
143 /** 192 /**
144 * @param {function(!chrome.fakeApi.Baz, !chrome.fakeApi.Greek):void=} callback 193 * @param {function(!chrome.fakeApi.Baz, !chrome.fakeApi.Greek):void=} callback
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 JsExternsGenerator().Generate(namespace).Render()) 355 JsExternsGenerator().Generate(namespace).Render())
307 356
308 def testJsonWithInlineObjects(self): 357 def testJsonWithInlineObjects(self):
309 namespace = self._GetNamespace(fake_json, 'fake_api.json', False) 358 namespace = self._GetNamespace(fake_json, 'fake_api.json', False)
310 self.assertMultiLineEqual(json_expected, 359 self.assertMultiLineEqual(json_expected,
311 JsExternsGenerator().Generate(namespace).Render()) 360 JsExternsGenerator().Generate(namespace).Render())
312 361
313 362
314 if __name__ == '__main__': 363 if __name__ == '__main__':
315 unittest.main() 364 unittest.main()
OLDNEW
« no previous file with comments | « tools/json_schema_compiler/js_externs_generator.py ('k') | tools/json_schema_compiler/js_util.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698