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

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

Issue 2413073002: Start cleaning up the HTML tests. (Closed)
Patch Set: Unfork expect.dart. Created 4 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
« no previous file with comments | « pkg/dev_compiler/test-main.js ('k') | pkg/dev_compiler/test/codegen/expect.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 define(['dart_sdk', 'async_helper', 'unittest', 'require'], 5 define(['dart_sdk', 'async_helper', 'minitest', 'unittest', 'require'],
6 function(dart_sdk, async_helper, unittest, require) { 6 function(dart_sdk, async_helper, minitest, unittest, require) {
7 'use strict'; 7 'use strict';
8 8
9 async_helper = async_helper.async_helper; 9 async_helper = async_helper.async_helper;
10 minitest = minitest.minitest;
10 11
11 dart_sdk._isolate_helper.startRootIsolate(function() {}, []); 12 dart_sdk._isolate_helper.startRootIsolate(function() {}, []);
12 let html_config = unittest.html_config; 13 let html_config = unittest.html_config;
13 // Test attributes are a list of strings, or a string for a single 14 // Test attributes are a list of strings, or a string for a single
14 // attribute. Valid attributes are: 15 // attribute. Valid attributes are:
15 // 16 //
16 // 'skip' - don't run the test 17 // 'skip' - don't run the test
17 // 'fail' - test fails 18 // 'fail' - test fails
18 // 'timeout' - test times out 19 // 'timeout' - test times out
19 // 'slow' - use 5s timeout instead of default 2s. 20 // 'slow' - use 5s timeout instead of default 2s.
20 // 'helper' - not a test, used by other tests. 21 // 'helper' - not a test, used by other tests.
21 // 'unittest' - run separately as a unittest test. 22 // 'unittest' - run separately as a unittest test.
22 // 23 //
23 // Common combinations: 24 // Common combinations:
24 const fail = 'fail'; 25 const fail = 'fail';
25 const skip_fail = ['skip', 'fail']; 26 const skip_fail = ['skip', 'fail'];
26 const skip_timeout = ['skip', 'timeout']; 27 const skip_timeout = ['skip', 'timeout'];
27 28
29 // Tests marked with this are still using the deprecated unittest package
30 // because they rely on its support for futures and asynchronous tests, which
31 // expect and minitest do not handle.
32 // TODO(rnystrom): Move all of these away from using the async test API so
33 // they can stop using unittest.
34 const async_unittest = ['unittest', 'skip', 'fail'];
35
28 // The number of expected unittest errors should be zero but unfortunately 36 // The number of expected unittest errors should be zero but unfortunately
29 // there are a lot of broken html unittests. 37 // there are a lot of broken html unittests.
30 let num_expected_unittest_fails = 5; 38 let num_expected_unittest_fails = 3;
31 let num_expected_unittest_errors = 8; 39 let num_expected_unittest_errors = 2;
32 40
33 // TODO(jmesserly): separate StrongModeError from other errors. 41 // TODO(jmesserly): separate StrongModeError from other errors.
34 let all_status = { 42 let all_status = {
35 'language': { 43 'language': {
36 'assert_with_type_test_or_cast_test': skip_fail, 44 'assert_with_type_test_or_cast_test': skip_fail,
37 'assertion_test': skip_fail, 45 'assertion_test': skip_fail,
38 'async_await_test_none_multi': 'unittest', 46 'async_await_test_none_multi': 'unittest',
39 'async_await_test_02_multi': 'unittest', 47 'async_await_test_02_multi': 'unittest',
40 'async_await_test_03_multi': skip_fail, // Flaky on travis (#634) 48 'async_await_test_03_multi': skip_fail, // Flaky on travis (#634)
41 'async_star_await_pauses_test': skip_fail, 49 'async_star_await_pauses_test': skip_fail,
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 'streamed_conversion_json_utf8_encode_test': skip_timeout, 407 'streamed_conversion_json_utf8_encode_test': skip_timeout,
400 'streamed_conversion_utf8_decode_test': skip_timeout, 408 'streamed_conversion_utf8_decode_test': skip_timeout,
401 'streamed_conversion_utf8_encode_test': skip_timeout, 409 'streamed_conversion_utf8_encode_test': skip_timeout,
402 'utf85_test': skip_timeout, 410 'utf85_test': skip_timeout,
403 }, 411 },
404 412
405 // TODO(jacobr): enable more of the html tests in unittest once they have 413 // TODO(jacobr): enable more of the html tests in unittest once they have
406 // more hope of passing. Triage tests that can never run in this test 414 // more hope of passing. Triage tests that can never run in this test
407 // runner and track them separately. 415 // runner and track them separately.
408 'lib/html': { 416 'lib/html': {
409 'async_spawnuri_test': ['unittest', 'skip', 'fail'], 417 'async_spawnuri_test': async_unittest,
410 'async_test': ['unittest', 'skip', 'fail'], 418 'async_test': async_unittest,
411 'audiobuffersourcenode_test': ['unittest', 'skip', 'fail'], 419 'audiobuffersourcenode_test': 'fail', // sdk#27578.
412 'audiocontext_test': ['unittest', 'skip', 'fail'], 420 'audiocontext_test': 'fail', // sdk#27578.
413 'audioelement_test': ['unittest', 'skip', 'fail'], 421 'blob_constructor_test': 'fail', // sdk#27578.
414 'b_element_test': ['unittest', 'skip', 'fail'], 422 'cache_test': 'fail', // sdk#27578.
415 'blob_constructor_test': ['unittest', 'skip', 'fail'], 423 'canvas_test': ['unittest'],
416 'cache_test': ['unittest', 'skip', 'fail'],
417 'callbacks_test': ['unittest', 'skip', 'fail'],
418 'canvas_pixel_array_type_alias_test': ['unittest'],
419 'canvasrenderingcontext2d_test': ['unittest'], 424 'canvasrenderingcontext2d_test': ['unittest'],
420 'canvas_test': ['unittest'], 425 'cross_domain_iframe_test': async_unittest,
421 'cdata_test': ['unittest', 'skip', 'fail'], 426 'crypto_test': 'fail', // sdk#27578.
422 'client_rect_test': ['unittest', 'skip', 'fail'], 427 'cssstyledeclaration_test': async_unittest,
423 'cross_domain_iframe_test': ['unittest', 'skip', 'fail'], 428 'css_test': async_unittest,
424 'cross_frame_test': ['unittest', 'skip', 'fail'], 429
425 'crypto_test': ['unittest', 'skip', 'fail'], 430 // This is failing with a range error, I'm guessing because it's looking
426 'css_rule_list_test': ['unittest', 'skip', 'fail'], 431 // for a stylesheet and the page has none.
427 'cssstyledeclaration_test': ['unittest', 'skip', 'fail'], 432 'css_rule_list_test': 'fail',
428 'css_test': ['unittest', 'skip', 'fail'], 433 'custom_element_method_clash_test': async_unittest,
429 'custom_element_method_clash_test': ['unittest', 'skip', 'fail'], 434 'custom_element_name_clash_test': async_unittest,
430 'custom_element_name_clash_test': ['unittest', 'skip', 'fail'], 435 'custom_elements_23127_test': async_unittest,
431 'custom_elements_23127_test': ['unittest', 'skip', 'fail'], 436 'custom_elements_test': async_unittest,
432 'custom_elements_test': ['unittest', 'skip', 'fail'], 437 'datalistelement_test': 'fail', // sdk#27578.
433 'custom_tags_test': ['unittest', 'skip', 'fail'], 438 'dom_constructors_test': 'fail', // sdk#27578.
434 'dart_object_local_storage_test': ['unittest', 'skip', 'fail'], 439 'element_animate_test': async_unittest,
435 'datalistelement_test': ['unittest', 'skip', 'fail'], 440 'element_classes_test': 'fail', // sdk#27579.
436 'documentfragment_test': ['unittest', 'skip', 'fail'], 441 'element_classes_svg_test': 'fail', // sdk#27579.
437 'document_test': ['unittest'], 442
438 'dom_constructors_test': ['unittest', 'skip', 'fail'], 443 // This fails because we get 150 instead of 10 on line 45.
439 'domparser_test': ['unittest', 'skip', 'fail'], 444 'element_dimensions_test': 'fail',
440 'element_add_test': ['unittest', 'skip', 'fail'], 445
441 'element_animate_test': ['unittest', 'skip', 'fail'], 446 // Failure: 'Expected 364 to be in the inclusive range [111, 160].'.
442 'element_classes_svg_test': ['unittest', 'skip', 'fail'], 447 'element_offset_test': 'fail',
443 'element_classes_test': ['unittest', 'skip', 'fail'], 448 'element_test': async_unittest,
444 'element_constructor_1_test': ['unittest', 'skip', 'fail'], 449 'element_types_test': 'fail', // sdk#27578.
445 'element_dimensions_test': ['unittest', 'skip', 'fail'], 450 'event_customevent_test': async_unittest,
446 'element_offset_test': ['unittest', 'skip', 'fail'], 451 'events_test': async_unittest,
447 'element_test': ['unittest', 'skip', 'fail'], 452
448 'element_types_constructors1_test': ['unittest', 'skip', 'fail'], 453 // Failure: "Failed to execute 'dispatchEvent' on 'EventTarget': parameter
449 'element_types_constructors2_test': ['unittest', 'skip', 'fail'], 454 // 1 is not of type 'Event'."
450 'element_types_constructors3_test': ['unittest', 'skip', 'fail'], 455 'event_test': 'fail',
451 'element_types_constructors4_test': ['unittest', 'skip', 'fail'], 456 'fileapi_test': async_unittest,
452 'element_types_constructors5_test': ['unittest', 'skip', 'fail'], 457 'filereader_test': async_unittest,
453 'element_types_constructors6_test': ['unittest', 'skip', 'fail'], 458 'fontface_loaded_test': async_unittest,
454 'element_types_test': ['unittest', 'skip', 'fail'], 459
455 'event_customevent_test': ['unittest', 'skip', 'fail'], 460 // Failed because it's expecting "Ahem" but getting null. Maybe sdk#27579?
456 'events_test': ['unittest', 'skip', 'fail'], 461 'fontface_test': 'fail',
457 'event_test': ['unittest', 'skip', 'fail'], 462 'form_data_test': async_unittest,
458 'exceptions_test': ['unittest', 'skip', 'fail'], 463 'history_test': async_unittest,
459 'fileapi_test': ['unittest', 'skip', 'fail'], 464
460 'filereader_test': ['unittest', 'skip', 'fail'], 465 // Failing because innerHtml should be 'Hello World' but was ''.
461 'filteredelementlist_test': ['unittest', 'skip', 'fail'], 466 'htmlelement_test': 'fail',
462 'fontface_loaded_test': ['unittest', 'skip', 'fail'], 467 'indexeddb_1_test': async_unittest,
463 'fontface_test': ['unittest', 'skip', 'fail'], 468 'indexeddb_2_test': async_unittest,
464 'form_data_test': ['unittest', 'skip', 'fail'], 469 'indexeddb_3_test': async_unittest,
465 'form_element_test': ['unittest', 'skip', 'fail'], 470 'indexeddb_4_test': async_unittest,
466 'geolocation_test': ['unittest', 'skip', 'fail'], 471 'indexeddb_5_test': async_unittest,
467 'hidden_dom_1_test': ['unittest', 'skip', 'fail'], 472 'input_element_test': 'fail', // sdk#27578.
468 'hidden_dom_2_test': ['unittest', 'skip', 'fail'], 473 'interactive_test': async_unittest,
469 'history_test': ['unittest', 'skip', 'fail'], 474 'isolates_test': async_unittest,
470 'htmlcollection_test': ['unittest', 'skip', 'fail'], 475
471 'htmlelement_test': ['unittest', 'skip', 'fail'], 476 // Failing on "identical JS objects should have identical proxies".
472 'htmloptionscollection_test': ['unittest', 'skip', 'fail'], 477 'js_test': 'fail',
473 'indexeddb_1_test': ['unittest', 'skip', 'fail'], 478 'js_interop_1_test': async_unittest,
474 'indexeddb_2_test': ['unittest', 'skip', 'fail'], 479
475 'indexeddb_3_test': ['unittest', 'skip', 'fail'], 480 // Failing because accessing "zSomeInvalidName" does not throw.
476 'indexeddb_4_test': ['unittest', 'skip', 'fail'], 481 'js_typed_interop_test': 'fail',
477 'indexeddb_5_test': ['unittest', 'skip', 'fail'], 482
478 'input_element_test': ['unittest', 'skip', 'fail'], 483 // The "typed literal" test fails because the object does not have "_c".
479 'instance_of_test': ['unittest', 'skip', 'fail'], 484 'js_util_test': 'fail',
480 'interactive_test': ['unittest', 'skip', 'fail'],
481 'isolates_test': ['unittest', 'skip', 'fail'],
482 'js_function_getter_test': 'unittest',
483 'js_function_getter_trust_types_test': 'unittest',
484 'js_interop_1_test': 'unittest',
485 'js_test': 'unittest',
486 'js_util_test': 'unittest',
487 'js_typed_interop_anonymous2_exp_test': 'unittest',
488 'js_typed_interop_anonymous2_test': 'unittest',
489 'js_typed_interop_anonymous_exp_test': 'unittest',
490 'js_typed_interop_anonymous_test': 'unittest',
491 'js_typed_interop_anonymous_unreachable_exp_test': 'unittest',
492 'js_typed_interop_anonymous_unreachable_test': 'unittest',
493 'js_typed_interop_default_arg_test': 'unittest',
494 'js_typed_interop_side_cast_exp_test': 'unittest',
495 'js_typed_interop_side_cast_test': 'unittest',
496 'js_typed_interop_test': 'unittest',
497 'keyboard_event_test': ['unittest', 'skip', 'fail'], 485 'keyboard_event_test': ['unittest', 'skip', 'fail'],
498 'localstorage_test': ['unittest', 'skip', 'fail'], 486 'localstorage_test': ['unittest', 'skip', 'fail'],
499 'location_test': ['unittest', 'skip', 'fail'], 487 'location_test': ['unittest', 'skip', 'fail'],
500 'mediasource_test': ['unittest', 'skip', 'fail'], 488 'mediasource_test': ['unittest', 'skip', 'fail'],
501 'media_stream_test': ['unittest', 'skip', 'fail'], 489 'media_stream_test': ['unittest', 'skip', 'fail'],
502 'messageevent_test': ['unittest', 'skip', 'fail'], 490 'messageevent_test': ['unittest', 'skip', 'fail'],
503 'mirrors_js_typed_interop_test': ['unittest', 'skip', 'fail'], 491 'mirrors_js_typed_interop_test': ['unittest', 'skip', 'fail'],
504 'mouse_event_test': ['unittest', 'skip', 'fail'], 492 'mouse_event_test': ['unittest', 'skip', 'fail'],
505 'mutationobserver_test': ['unittest', 'skip', 'fail'], 493 'mutationobserver_test': ['unittest', 'skip', 'fail'],
506 'native_gc_test': ['unittest', 'skip', 'fail'], 494 'native_gc_test': ['unittest', 'skip', 'fail'],
(...skipping 14 matching lines...) Expand all
521 'selectelement_test': ['unittest', 'skip', 'fail'], 509 'selectelement_test': ['unittest', 'skip', 'fail'],
522 'serialized_script_value_test': ['unittest', 'skip', 'fail'], 510 'serialized_script_value_test': ['unittest', 'skip', 'fail'],
523 'shadow_dom_test': ['unittest', 'skip', 'fail'], 511 'shadow_dom_test': ['unittest', 'skip', 'fail'],
524 'shadowroot_test': ['unittest', 'skip', 'fail'], 512 'shadowroot_test': ['unittest', 'skip', 'fail'],
525 'speechrecognition_test': ['unittest', 'skip', 'fail'], 513 'speechrecognition_test': ['unittest', 'skip', 'fail'],
526 'storage_test': ['unittest', 'skip', 'fail'], 514 'storage_test': ['unittest', 'skip', 'fail'],
527 'streams_test': ['unittest', 'skip', 'fail'], 515 'streams_test': ['unittest', 'skip', 'fail'],
528 'svgelement_test': ['unittest', 'skip', 'fail'], 516 'svgelement_test': ['unittest', 'skip', 'fail'],
529 'svg_test': ['unittest', 'skip', 'fail'], 517 'svg_test': ['unittest', 'skip', 'fail'],
530 'table_test': ['unittest', 'skip', 'fail'], 518 'table_test': ['unittest', 'skip', 'fail'],
531 'text_event_test': ['unittest', 'skip', 'fail'],
532 'touchevent_test': ['unittest', 'skip', 'fail'], 519 'touchevent_test': ['unittest', 'skip', 'fail'],
533 'track_element_constructor_test': ['unittest', 'skip', 'fail'], 520 'track_element_constructor_test': ['unittest', 'skip', 'fail'],
534 'transferables_test': ['unittest', 'skip', 'fail'], 521 'transferables_test': ['unittest', 'skip', 'fail'],
535 'transition_event_test': ['unittest', 'skip', 'fail'], 522 'transition_event_test': ['unittest', 'skip', 'fail'],
536 'trusted_html_tree_sanitizer_test': ['unittest', 'skip', 'fail'], 523 'trusted_html_tree_sanitizer_test': ['unittest', 'skip', 'fail'],
537 'typed_arrays_1_test': ['unittest', 'skip', 'fail'], 524 'typed_arrays_1_test': ['unittest', 'skip', 'fail'],
538 'typed_arrays_2_test': ['unittest', 'skip', 'fail'], 525 'typed_arrays_2_test': ['unittest', 'skip', 'fail'],
539 'typed_arrays_3_test': ['unittest', 'skip', 'fail'], 526 'typed_arrays_3_test': ['unittest', 'skip', 'fail'],
540 'typed_arrays_4_test': ['unittest', 'skip', 'fail'], 527 'typed_arrays_4_test': ['unittest', 'skip', 'fail'],
541 'typed_arrays_5_test': ['unittest', 'skip', 'fail'], 528 'typed_arrays_5_test': ['unittest', 'skip', 'fail'],
(...skipping 15 matching lines...) Expand all
557 'window_test': ['unittest', 'skip', 'fail'], 544 'window_test': ['unittest', 'skip', 'fail'],
558 'worker_api_test': ['unittest', 'skip', 'fail'], 545 'worker_api_test': ['unittest', 'skip', 'fail'],
559 'worker_test': ['unittest', 'skip', 'fail'], 546 'worker_test': ['unittest', 'skip', 'fail'],
560 'wrapping_collections_test': ['unittest', 'skip', 'fail'], 547 'wrapping_collections_test': ['unittest', 'skip', 'fail'],
561 'xhr_cross_origin_test': ['unittest', 'skip', 'fail'], 548 'xhr_cross_origin_test': ['unittest', 'skip', 'fail'],
562 'xhr_test': ['unittest', 'skip', 'fail'], 549 'xhr_test': ['unittest', 'skip', 'fail'],
563 'xsltprocessor_test': ['unittest', 'skip', 'fail'], 550 'xsltprocessor_test': ['unittest', 'skip', 'fail'],
564 551
565 'js_typed_interop_default_arg_test_none_multi': ['unittest', 'skip', 'fail '], 552 'js_typed_interop_default_arg_test_none_multi': ['unittest', 'skip', 'fail '],
566 'js_typed_interop_default_arg_test_explicit_argument_multi': ['unittest', 'skip', 'fail'], 553 'js_typed_interop_default_arg_test_explicit_argument_multi': ['unittest', 'skip', 'fail'],
567 'js_typed_interop_default_arg_test_default_value_multi': ['unittest', 'ski p', 'fail'] 554
555 // Failing when it gets 3 instead of 42.
556 'js_typed_interop_default_arg_test_default_value_multi': 'fail',
568 }, 557 },
569 558
570 'lib/html/custom': { 559 'lib/html/custom': {
571 'attribute_changed_callback_test': ['unittest', 'skip', 'fail'], 560 'attribute_changed_callback_test': ['unittest', 'skip', 'fail'],
572 'constructor_calls_created_synchronously_test': 561 'constructor_calls_created_synchronously_test':
573 ['unittest', 'skip', 'fail'], 562 ['unittest', 'skip', 'fail'],
574 'created_callback_test': ['unittest', 'skip', 'fail'], 563 'created_callback_test': ['unittest', 'skip', 'fail'],
575 'document_register_basic_test': ['unittest', 'skip', 'fail'], 564 'document_register_basic_test': ['unittest', 'skip', 'fail'],
576 'document_register_type_extensions_test': ['unittest', 'skip', 'fail'], 565 'document_register_type_extensions_test': ['unittest', 'skip', 'fail'],
577 'element_upgrade_test': ['unittest', 'skip', 'fail'], 566 'element_upgrade_test': ['unittest', 'skip', 'fail'],
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 throw new Error( 802 throw new Error(
814 "negative test marked as 'fail' " + 803 "negative test marked as 'fail' " +
815 "but passed by throwing:\n" + e); 804 "but passed by throwing:\n" + e);
816 } 805 }
817 } else { 806 } else {
818 if (e == null) { 807 if (e == null) {
819 throw new Error("test marked as 'fail' but passed"); 808 throw new Error("test marked as 'fail' but passed");
820 } 809 }
821 } 810 }
822 } else { 811 } else {
823 if (negative) { 812 try {
824 assert.throws(mainLibrary.main); 813 if (negative) {
825 } else { 814 assert.throws(mainLibrary.main);
826 mainLibrary.main(); 815 } else {
816 mainLibrary.main();
817 }
818 } finally {
819 minitest.finishTests();
827 } 820 }
828 } 821 }
829 822
830 if (!async_helper.asyncTestStarted) done(); 823 if (!async_helper.asyncTestStarted) done();
831 }); 824 });
832 } 825 }
833 } 826 }
834 827
835 let mochaOnError; 828 let mochaOnError;
836 // We run these tests in a mocha test wrapper to avoid the confusing failure 829 // We run these tests in a mocha test wrapper to avoid the confusing failure
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 881
889 for (let action of unittest_tests) { 882 for (let action of unittest_tests) {
890 try { 883 try {
891 action(); 884 action();
892 } catch (e) { 885 } catch (e) {
893 console.error("Caught error tying to setup test:", e); 886 console.error("Caught error tying to setup test:", e);
894 } 887 }
895 } 888 }
896 }); 889 });
897 }); 890 });
OLDNEW
« no previous file with comments | « pkg/dev_compiler/test-main.js ('k') | pkg/dev_compiler/test/codegen/expect.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698