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

Side by Side Diff: build/android/gyp/java_cpp_enum_tests.py

Issue 1273173002: Added Network Quality Estimator Real-time interface to Cronet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed enum parser Created 5 years, 2 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 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 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 """Tests for enum_preprocess.py. 6 """Tests for enum_preprocess.py.
7 7
8 This test suite containss various tests for the C++ -> Java enum generator. 8 This test suite containss various tests for the C++ -> Java enum generator.
9 """ 9 """
10 10
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 // GENERATED_JAVA_ENUM_PACKAGE: ( 303 // GENERATED_JAVA_ENUM_PACKAGE: (
304 enum Foo { 304 enum Foo {
305 FOO_A, 305 FOO_A,
306 }; 306 };
307 """.split('\n') 307 """.split('\n')
308 with self.assertRaises(Exception): 308 with self.assertRaises(Exception):
309 HeaderParser(test_data).ParseDefinitions() 309 HeaderParser(test_data).ParseDefinitions()
310 310
311 def testEnumValueAssignmentNoneDefined(self): 311 def testEnumValueAssignmentNoneDefined(self):
312 definition = EnumDefinition(original_enum_name='c', enum_package='p') 312 definition = EnumDefinition(original_enum_name='c', enum_package='p')
313 definition.AppendEntry('A', None) 313 definition.AppendEntry('A', None, ['// foo'])
314 definition.AppendEntry('B', None) 314 definition.AppendEntry('B', None, [])
315 definition.AppendEntry('C', None) 315 definition.AppendEntry('C', None, ['// bar', '// goo'])
316 definition.Finalize() 316 definition.Finalize()
317 self.assertEqual(collections.OrderedDict([('A', 0), 317 self.assertEqual(collections.OrderedDict([('A', 0),
318 ('B', 1), 318 ('B', 1),
319 ('C', 2)]), 319 ('C', 2)]),
320 definition.entries) 320 definition.entries)
321 self.assertEqual(collections.OrderedDict([('A', ['foo']),
322 ('B', []),
323 ('C', ['bar', 'goo'])]),
324 definition.comments)
321 325
322 def testEnumValueAssignmentAllDefined(self): 326 def testEnumValueAssignmentAllDefined(self):
323 definition = EnumDefinition(original_enum_name='c', enum_package='p') 327 definition = EnumDefinition(original_enum_name='c', enum_package='p')
324 definition.AppendEntry('A', '1') 328 definition.AppendEntry('A', '1', [])
325 definition.AppendEntry('B', '2') 329 definition.AppendEntry('B', '2', [])
326 definition.AppendEntry('C', '3') 330 definition.AppendEntry('C', '3', [])
327 definition.Finalize() 331 definition.Finalize()
328 self.assertEqual(collections.OrderedDict([('A', '1'), 332 self.assertEqual(collections.OrderedDict([('A', '1'),
329 ('B', '2'), 333 ('B', '2'),
330 ('C', '3')]), 334 ('C', '3')]),
331 definition.entries) 335 definition.entries)
332 336
333 def testEnumValueAssignmentReferences(self): 337 def testEnumValueAssignmentReferences(self):
334 definition = EnumDefinition(original_enum_name='c', enum_package='p') 338 definition = EnumDefinition(original_enum_name='c', enum_package='p')
335 definition.AppendEntry('A', None) 339 definition.AppendEntry('A', None, [])
336 definition.AppendEntry('B', 'A') 340 definition.AppendEntry('B', 'A', [])
337 definition.AppendEntry('C', None) 341 definition.AppendEntry('C', None, [])
338 definition.AppendEntry('D', 'C') 342 definition.AppendEntry('D', 'C', [])
339 definition.Finalize() 343 definition.Finalize()
340 self.assertEqual(collections.OrderedDict([('A', 0), 344 self.assertEqual(collections.OrderedDict([('A', 0),
341 ('B', 0), 345 ('B', 0),
342 ('C', 1), 346 ('C', 1),
343 ('D', 1)]), 347 ('D', 1)]),
344 definition.entries) 348 definition.entries)
345 349
346 def testEnumValueAssignmentSet(self): 350 def testEnumValueAssignmentSet(self):
347 definition = EnumDefinition(original_enum_name='c', enum_package='p') 351 definition = EnumDefinition(original_enum_name='c', enum_package='p')
348 definition.AppendEntry('A', None) 352 definition.AppendEntry('A', None, [])
349 definition.AppendEntry('B', '2') 353 definition.AppendEntry('B', '2', [])
350 definition.AppendEntry('C', None) 354 definition.AppendEntry('C', None, [])
351 definition.Finalize() 355 definition.Finalize()
352 self.assertEqual(collections.OrderedDict([('A', 0), 356 self.assertEqual(collections.OrderedDict([('A', 0),
353 ('B', 2), 357 ('B', 2),
354 ('C', 3)]), 358 ('C', 3)]),
355 definition.entries) 359 definition.entries)
356 360
357 def testEnumValueAssignmentSetReferences(self): 361 def testEnumValueAssignmentSetReferences(self):
358 definition = EnumDefinition(original_enum_name='c', enum_package='p') 362 definition = EnumDefinition(original_enum_name='c', enum_package='p')
359 definition.AppendEntry('A', None) 363 definition.AppendEntry('A', None, [])
360 definition.AppendEntry('B', 'A') 364 definition.AppendEntry('B', 'A', [])
361 definition.AppendEntry('C', 'B') 365 definition.AppendEntry('C', 'B', [])
362 definition.AppendEntry('D', None) 366 definition.AppendEntry('D', None, [])
363 definition.Finalize() 367 definition.Finalize()
364 self.assertEqual(collections.OrderedDict([('A', 0), 368 self.assertEqual(collections.OrderedDict([('A', 0),
365 ('B', 0), 369 ('B', 0),
366 ('C', 0), 370 ('C', 0),
367 ('D', 1)]), 371 ('D', 1)]),
368 definition.entries) 372 definition.entries)
369 373
370 def testEnumValueAssignmentRaises(self): 374 def testEnumValueAssignmentRaises(self):
371 definition = EnumDefinition(original_enum_name='c', enum_package='p') 375 definition = EnumDefinition(original_enum_name='c', enum_package='p')
372 definition.AppendEntry('A', None) 376 definition.AppendEntry('A', None, [])
373 definition.AppendEntry('B', 'foo') 377 definition.AppendEntry('B', 'foo', [])
374 definition.AppendEntry('C', None) 378 definition.AppendEntry('C', None, [])
375 with self.assertRaises(Exception): 379 with self.assertRaises(Exception):
376 definition.Finalize() 380 definition.Finalize()
377 381
378 def testExplicitPrefixStripping(self): 382 def testExplicitPrefixStripping(self):
379 definition = EnumDefinition(original_enum_name='c', enum_package='p') 383 definition = EnumDefinition(original_enum_name='c', enum_package='p')
380 definition.AppendEntry('P_A', None) 384 definition.AppendEntry('P_A', None, [])
381 definition.AppendEntry('B', None) 385 definition.AppendEntry('B', None, [])
382 definition.AppendEntry('P_C', None) 386 definition.AppendEntry('P_C', None, [])
383 definition.AppendEntry('P_LAST', 'P_C') 387 definition.AppendEntry('P_LAST', 'P_C', [])
384 definition.prefix_to_strip = 'P_' 388 definition.prefix_to_strip = 'P_'
385 definition.Finalize() 389 definition.Finalize()
386 self.assertEqual(collections.OrderedDict([('A', 0), 390 self.assertEqual(collections.OrderedDict([('A', 0),
387 ('B', 1), 391 ('B', 1),
388 ('C', 2), 392 ('C', 2),
389 ('LAST', 2)]), 393 ('LAST', 2)]),
390 definition.entries) 394 definition.entries)
391 395
392 def testImplicitPrefixStripping(self): 396 def testImplicitPrefixStripping(self):
393 definition = EnumDefinition(original_enum_name='ClassName', 397 definition = EnumDefinition(original_enum_name='ClassName',
394 enum_package='p') 398 enum_package='p')
395 definition.AppendEntry('CLASS_NAME_A', None) 399 definition.AppendEntry('CLASS_NAME_A', None, [])
396 definition.AppendEntry('CLASS_NAME_B', None) 400 definition.AppendEntry('CLASS_NAME_B', None, [])
397 definition.AppendEntry('CLASS_NAME_C', None) 401 definition.AppendEntry('CLASS_NAME_C', None, [])
398 definition.AppendEntry('CLASS_NAME_LAST', 'CLASS_NAME_C') 402 definition.AppendEntry('CLASS_NAME_LAST', 'CLASS_NAME_C', [])
399 definition.Finalize() 403 definition.Finalize()
400 self.assertEqual(collections.OrderedDict([('A', 0), 404 self.assertEqual(collections.OrderedDict([('A', 0),
401 ('B', 1), 405 ('B', 1),
402 ('C', 2), 406 ('C', 2),
403 ('LAST', 2)]), 407 ('LAST', 2)]),
404 definition.entries) 408 definition.entries)
405 409
406 def testImplicitPrefixStrippingRequiresAllConstantsToBePrefixed(self): 410 def testImplicitPrefixStrippingRequiresAllConstantsToBePrefixed(self):
407 definition = EnumDefinition(original_enum_name='Name', 411 definition = EnumDefinition(original_enum_name='Name',
408 enum_package='p') 412 enum_package='p')
409 definition.AppendEntry('A', None) 413 definition.AppendEntry('A', None, [])
410 definition.AppendEntry('B', None) 414 definition.AppendEntry('B', None, [])
411 definition.AppendEntry('NAME_LAST', None) 415 definition.AppendEntry('NAME_LAST', None, [])
412 definition.Finalize() 416 definition.Finalize()
413 self.assertEqual(['A', 'B', 'NAME_LAST'], definition.entries.keys()) 417 self.assertEqual(['A', 'B', 'NAME_LAST'], definition.entries.keys())
414 418
415 def testGenerateThrowsOnEmptyInput(self): 419 def testGenerateThrowsOnEmptyInput(self):
416 with self.assertRaises(Exception): 420 with self.assertRaises(Exception):
417 original_do_parse = java_cpp_enum.DoParseHeaderFile 421 original_do_parse = java_cpp_enum.DoParseHeaderFile
418 try: 422 try:
419 java_cpp_enum.DoParseHeaderFile = lambda _: [] 423 java_cpp_enum.DoParseHeaderFile = lambda _: []
420 java_cpp_enum.DoGenerate('dir', ['file']) 424 java_cpp_enum.DoGenerate('dir', ['file'])
421 finally: 425 finally:
422 java_cpp_enum.DoParseHeaderFile = original_do_parse 426 java_cpp_enum.DoParseHeaderFile = original_do_parse
423 427
424 def main(argv): 428 def main(argv):
425 parser = optparse.OptionParser() 429 parser = optparse.OptionParser()
426 parser.add_option("--stamp", help="File to touch on success.") 430 parser.add_option("--stamp", help="File to touch on success.")
427 options, _ = parser.parse_args(argv) 431 options, _ = parser.parse_args(argv)
428 432
429 suite = unittest.TestLoader().loadTestsFromTestCase(TestPreprocess) 433 suite = unittest.TestLoader().loadTestsFromTestCase(TestPreprocess)
430 unittest.TextTestRunner(verbosity=0).run(suite) 434 unittest.TextTestRunner(verbosity=0).run(suite)
431 435
432 if options.stamp: 436 if options.stamp:
433 build_utils.Touch(options.stamp) 437 build_utils.Touch(options.stamp)
434 438
435 if __name__ == '__main__': 439 if __name__ == '__main__':
436 main(sys.argv[1:]) 440 main(sys.argv[1:])
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698