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

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

Issue 1488773003: Add js_interface_generator for generating extensions interfaces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: similarity=25 Created 5 years 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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 * @deprecated Use a new method. 154 * @deprecated Use a new method.
155 * @see https://developer.chrome.com/extensions/fakeApi#method-returnString 155 * @see https://developer.chrome.com/extensions/fakeApi#method-returnString
156 */ 156 */
157 chrome.fakeApi.returnString = function() {}; 157 chrome.fakeApi.returnString = function() {};
158 158
159 /** 159 /**
160 * Fired when we realize it's a trap! 160 * Fired when we realize it's a trap!
161 * @type {!ChromeEvent} 161 * @type {!ChromeEvent}
162 * @see https://developer.chrome.com/extensions/fakeApi#event-onTrapDetected 162 * @see https://developer.chrome.com/extensions/fakeApi#event-onTrapDetected
163 */ 163 */
164 chrome.fakeApi.onTrapDetected; 164 chrome.fakeApi.onTrapDetected;"""
165 """
166 165
167 166
168 fake_json = """// Copyright 2014 The Chromium Authors. All rights reserved. 167 fake_json = """// Copyright 2014 The Chromium Authors. All rights reserved.
169 // Use of this source code is governed by a BSD-style license that can be 168 // Use of this source code is governed by a BSD-style license that can be
170 // found in the LICENSE file. 169 // found in the LICENSE file.
171 170
172 [ 171 [
173 { 172 {
174 "namespace": "fakeJson", 173 "namespace": "fakeJson",
175 "description": "Fake JSON API Stuff", 174 "description": "Fake JSON API Stuff",
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 * description that causes problems! 264 * description that causes problems!
266 * @param {function({ 265 * @param {function({
267 * str: string 266 * str: string
268 * }):void} callback The callback to this heinous method 267 * }):void} callback The callback to this heinous method
269 * @return {{ 268 * @return {{
270 * str: string, 269 * str: string,
271 * int: number 270 * int: number
272 * }} 271 * }}
273 * @see https://developer.chrome.com/extensions/fakeJson#method-funcWithInlineOb j 272 * @see https://developer.chrome.com/extensions/fakeJson#method-funcWithInlineOb j
274 */ 273 */
275 chrome.fakeJson.funcWithInlineObj = function(inlineObj, callback) {}; 274 chrome.fakeJson.funcWithInlineObj = function(inlineObj, callback) {};"""
276 """
277 275
278 276
279 class JsExternGeneratorTest(unittest.TestCase): 277 class JsExternGeneratorTest(unittest.TestCase):
280 def _GetNamespace(self, fake_content, filename, is_idl): 278 def _GetNamespace(self, fake_content, filename, is_idl):
281 """Returns a namespace object for the given content""" 279 """Returns a namespace object for the given content"""
282 api_def = (idl_schema.Process(fake_content, filename) if is_idl 280 api_def = (idl_schema.Process(fake_content, filename) if is_idl
283 else json_parse.Parse(fake_content)) 281 else json_parse.Parse(fake_content))
284 m = model.Model() 282 m = model.Model()
285 return m.AddNamespace(api_def[0], filename) 283 return m.AddNamespace(api_def[0], filename)
286 284
287 def setUp(self): 285 def setUp(self):
288 self.maxDiff = None # Lets us see the full diff when inequal. 286 self.maxDiff = None # Lets us see the full diff when inequal.
289 287
290 def testBasic(self): 288 def testBasic(self):
291 namespace = self._GetNamespace(fake_idl, 'fake_api.idl', True) 289 namespace = self._GetNamespace(fake_idl, 'fake_api.idl', True)
292 self.assertMultiLineEqual(expected_output, 290 self.assertMultiLineEqual(expected_output,
293 JsExternsGenerator().Generate(namespace).Render()) 291 JsExternsGenerator().Generate(namespace).Render())
294 292
295 def testJsonWithInlineObjects(self): 293 def testJsonWithInlineObjects(self):
296 namespace = self._GetNamespace(fake_json, 'fake_api.json', False) 294 namespace = self._GetNamespace(fake_json, 'fake_api.json', False)
297 self.assertMultiLineEqual(json_expected, 295 self.assertMultiLineEqual(json_expected,
298 JsExternsGenerator().Generate(namespace).Render()) 296 JsExternsGenerator().Generate(namespace).Render())
299 297
300 298
301 if __name__ == '__main__': 299 if __name__ == '__main__':
302 unittest.main() 300 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698