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

Side by Side Diff: test/browser/language_tests.js

Issue 1950133008: Update number parsing. (Closed) Base URL: https://github.com/dart-lang/dev_compiler@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « lib/runtime/dart_sdk.js ('k') | test/codegen/corelib/int_parse_radix_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 (function() { 5 (function() {
6 'use strict'; 6 'use strict';
7 7
8 let dart_sdk = dart_library.import('dart_sdk'); 8 let dart_sdk = dart_library.import('dart_sdk');
9 dart_sdk._isolate_helper.startRootIsolate(function() {}, []); 9 dart_sdk._isolate_helper.startRootIsolate(function() {}, []);
10 let async_helper = dart_library.import('async_helper').async_helper; 10 let async_helper = dart_library.import('async_helper').async_helper;
11 11
12 // Test attributes are a list of strings, or a string for a single 12 // Test attributes are a list of strings, or a string for a single
13 // attribute. Valid attribues are: 13 // attribute. Valid attribues are:
14 // 14 //
15 // 'skip' - don't run the test 15 // 'skip' - don't run the test
16 // 'fail' - test fails 16 // 'fail' - test fails
17 // 'timeout' - test times out 17 // 'timeout' - test times out
18 // 'slow' - use 5s timeout instead of default 2s.
18 // 'helper' - not a test, used by other tests. 19 // 'helper' - not a test, used by other tests.
19 // 'unittest' - run separately as a unittest test. 20 // 'unittest' - run separately as a unittest test.
20 // 21 //
21 // Common combinations: 22 // Common combinations:
22 const fail = 'fail'; 23 const fail = 'fail';
23 const skip_fail = ['skip', 'fail']; 24 const skip_fail = ['skip', 'fail'];
24 const skip_timeout = ['skip', 'timeout']; 25 const skip_timeout = ['skip', 'timeout'];
25 26
26 // TODO(jmesserly): separate StrongModeError from other errors. 27 // TODO(jmesserly): separate StrongModeError from other errors.
27 let all_status = { 28 let all_status = {
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 'from_environment_const_type_undefined_test_none_multi': skip_fail, // co nstructor throws 408 'from_environment_const_type_undefined_test_none_multi': skip_fail, // co nstructor throws
408 'hash_map2_test': skip_timeout, 409 'hash_map2_test': skip_timeout,
409 'hash_set_test_01_multi': fail, 410 'hash_set_test_01_multi': fail,
410 'hidden_library2_test_01_multi': fail, 411 'hidden_library2_test_01_multi': fail,
411 'indexed_list_access_test': fail, 412 'indexed_list_access_test': fail,
412 'int_from_environment2_test': fail, 413 'int_from_environment2_test': fail,
413 'int_from_environment_test': fail, 414 'int_from_environment_test': fail,
414 'int_modulo_arith_test_bignum_multi': fail, 415 'int_modulo_arith_test_bignum_multi': fail,
415 'int_modulo_arith_test_modPow_multi': fail, 416 'int_modulo_arith_test_modPow_multi': fail,
416 'int_modulo_arith_test_none_multi': fail, 417 'int_modulo_arith_test_none_multi': fail,
418 'int_parse_radix_test_01_multi': fail, // JS implementations disagree on U +0085 being whitespace.
419 'int_parse_radix_test_02_multi': ['fail', 'timeout', 'skip'], // No bigint s.
420 'int_parse_radix_test_none_multi': ['slow'],
417 'integer_to_radix_string_test': fail, 421 'integer_to_radix_string_test': fail,
418 'integer_to_string_test_01_multi': fail, 422 'integer_to_string_test_01_multi': fail,
419 'iterable_generate_test': fail, 423 'iterable_generate_test': fail,
420 'iterable_return_type_test_01_multi': fail, 424 'iterable_return_type_test_01_multi': fail,
421 'iterable_return_type_test_02_multi': fail, 425 'iterable_return_type_test_02_multi': fail,
422 'iterable_return_type_test_none_multi': fail, 426 'iterable_return_type_test_none_multi': fail,
423 'json_map_test': fail, 427 'json_map_test': fail,
424 'list_fill_range_test': fail, 428 'list_fill_range_test': fail,
425 'list_replace_range_test': fail, 429 'list_replace_range_test': fail,
426 'list_set_all_test': fail, 430 'list_set_all_test': fail,
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 // A few tests are special because they use package:unittest. 514 // A few tests are special because they use package:unittest.
511 // We run them below. 515 // We run them below.
512 if (has('unittest')) { 516 if (has('unittest')) {
513 unittest_tests.push(() => { 517 unittest_tests.push(() => {
514 console.log('Running unittest test ' + testFile); 518 console.log('Running unittest test ' + testFile);
515 dart_library.import(module)[name].main(); 519 dart_library.import(module)[name].main();
516 }); 520 });
517 continue; 521 continue;
518 } 522 }
519 523
520 test(name, (done) => { 524 function protect(f) { // Returns the exception, or `null`.
525 try {
526 f();
527 return null;
528 } catch (e) {
529 return e;
530 };
531 }
532
533 test(name, function(done) { // 'function' to allow `this.timeout`.
521 async_helper.asyncTestInitialize(done); 534 async_helper.asyncTestInitialize(done);
522 console.debug('Running test: ' + name); 535 console.debug('Running test: ' + name);
523 536
524 let mainLibrary = dart_library.import(module)[name]; 537 let mainLibrary = dart_library.import(module)[name];
525 let negative = /negative_test/.test(name); 538 let negative = /negative_test/.test(name);
526 if (has('fail')) negative = !negative; 539 if (has('slow')) this.timeout(5000);
527 if (negative) { 540 if (has('fail')) {
528 assert.throws(mainLibrary.main); 541 let e = protect(mainLibrary.main);
542 if (negative) {
543 if (e != null) {
544 throw new Error(
545 "negative test marked as 'fail' " +
546 "but passed by throwing:\n" + e);
547 }
548 } else {
549 if (e == null) {
550 throw new Error("test marked as 'fail' but passed");
551 }
552 }
529 } else { 553 } else {
530 mainLibrary.main(); 554 if (negative) {
555 assert.throws(mainLibrary.main);
556 } else {
557 mainLibrary.main();
558 }
531 } 559 }
532 560
533 if (!async_helper.asyncTestStarted) done(); 561 if (!async_helper.asyncTestStarted) done();
534 }); 562 });
535 } 563 }
536 } 564 }
537 565
538 for (let action of unittest_tests) { 566 for (let action of unittest_tests) {
539 action(); 567 action();
540 } 568 }
541 })(); 569 })();
OLDNEW
« no previous file with comments | « lib/runtime/dart_sdk.js ('k') | test/codegen/corelib/int_parse_radix_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698