| OLD | NEW |
| 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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 * @param {function({ | 272 * @param {function({ |
| 273 * str: string | 273 * str: string |
| 274 * }):void} callback The callback to this heinous method | 274 * }):void} callback The callback to this heinous method |
| 275 * @return {{ | 275 * @return {{ |
| 276 * str: string, | 276 * str: string, |
| 277 * int: number | 277 * int: number |
| 278 * }} | 278 * }} |
| 279 * @see https://developer.chrome.com/extensions/fakeJson#method-funcWithInlineOb
j | 279 * @see https://developer.chrome.com/extensions/fakeJson#method-funcWithInlineOb
j |
| 280 */ | 280 */ |
| 281 chrome.fakeJson.funcWithInlineObj = function(inlineObj, callback) {};""" % | 281 chrome.fakeJson.funcWithInlineObj = function(inlineObj, callback) {};""" % |
| 282 (datetime.now().year, sys.argv[0])) | 282 (datetime.now().year, sys.argv[0])) |
| 283 | 283 |
| 284 | 284 |
| 285 class JsExternGeneratorTest(unittest.TestCase): | 285 class JsExternGeneratorTest(unittest.TestCase): |
| 286 def _GetNamespace(self, fake_content, filename, is_idl): | 286 def _GetNamespace(self, fake_content, filename, is_idl): |
| 287 """Returns a namespace object for the given content""" | 287 """Returns a namespace object for the given content""" |
| 288 api_def = (idl_schema.Process(fake_content, filename) if is_idl | 288 api_def = (idl_schema.Process(fake_content, filename) if is_idl |
| 289 else json_parse.Parse(fake_content)) | 289 else json_parse.Parse(fake_content)) |
| 290 m = model.Model() | 290 m = model.Model() |
| 291 return m.AddNamespace(api_def[0], filename) | 291 return m.AddNamespace(api_def[0], filename) |
| 292 | 292 |
| 293 def setUp(self): | 293 def setUp(self): |
| 294 self.maxDiff = None # Lets us see the full diff when inequal. | 294 self.maxDiff = None # Lets us see the full diff when inequal. |
| 295 | 295 |
| 296 def testBasic(self): | 296 def testBasic(self): |
| 297 namespace = self._GetNamespace(fake_idl, 'fake_api.idl', True) | 297 namespace = self._GetNamespace(fake_idl, 'fake_api.idl', True) |
| 298 self.assertMultiLineEqual(expected_output, | 298 self.assertMultiLineEqual(expected_output, |
| 299 JsExternsGenerator().Generate(namespace).Render()) | 299 JsExternsGenerator().Generate(namespace).Render()) |
| 300 | 300 |
| 301 def testJsonWithInlineObjects(self): | 301 def testJsonWithInlineObjects(self): |
| 302 namespace = self._GetNamespace(fake_json, 'fake_api.json', False) | 302 namespace = self._GetNamespace(fake_json, 'fake_api.json', False) |
| 303 self.assertMultiLineEqual(json_expected, | 303 self.assertMultiLineEqual(json_expected, |
| 304 JsExternsGenerator().Generate(namespace).Render()) | 304 JsExternsGenerator().Generate(namespace).Render()) |
| 305 | 305 |
| 306 | 306 |
| 307 if __name__ == '__main__': | 307 if __name__ == '__main__': |
| 308 unittest.main() | 308 unittest.main() |
| OLD | NEW |