Changeset 217225 in webkit


Ignore:
Timestamp:
May 22, 2017, 11:07:11 AM (8 years ago)
Author:
commit-queue@webkit.org
Message:

Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
https://bugs.webkit.org/show_bug.cgi?id=172426

Patch by youenn fablet <youenn@apple.com> on 2017-05-22
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • resources/TestRepositories:
  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
  • web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
  • web-platform-tests/IndexedDB/idb_webworkers.htm:
  • web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm:
  • web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm:
  • web-platform-tests/IndexedDB/idbcursor-advance.htm:
  • web-platform-tests/IndexedDB/idbcursor-continue.htm:
  • web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm:
  • web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm:
  • web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
  • web-platform-tests/IndexedDB/idbcursor-direction-index.htm:
  • web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
  • web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm:
  • web-platform-tests/IndexedDB/idbcursor-direction.htm:
  • web-platform-tests/IndexedDB/idbcursor-source.htm:
  • web-platform-tests/IndexedDB/idbcursor_iterating.htm:
  • web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm:
  • web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm:
  • web-platform-tests/IndexedDB/idbdatabase_close.htm:
  • web-platform-tests/IndexedDB/idbfactory-deleteDatabase-request-success.html: Added.
  • web-platform-tests/IndexedDB/idbfactory-open-request-error.html: Added.
  • web-platform-tests/IndexedDB/idbfactory-open-request-success.html: Added.
  • web-platform-tests/IndexedDB/idbfactory_open10.htm:
  • web-platform-tests/IndexedDB/idbfactory_open11.htm:
  • web-platform-tests/IndexedDB/idbfactory_open3.htm:
  • web-platform-tests/IndexedDB/idbfactory_open6.htm:
  • web-platform-tests/IndexedDB/idbfactory_open7.htm:
  • web-platform-tests/IndexedDB/idbindex_getAll.html:
  • web-platform-tests/IndexedDB/idbindex_getAllKeys.html:
  • web-platform-tests/IndexedDB/idbobjectstore-index-finished.html: Added.
  • web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm:
  • web-platform-tests/IndexedDB/idbobjectstore_getAll.html:
  • web-platform-tests/IndexedDB/idbobjectstore_getAllKeys.html:
  • web-platform-tests/IndexedDB/idbobjectstore_getKey.html:
  • web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm:
  • web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm:
  • web-platform-tests/IndexedDB/idbrequest-onupgradeneeded.htm:
  • web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html: Added.
  • web-platform-tests/IndexedDB/idbtransaction.htm:
  • web-platform-tests/IndexedDB/idbtransaction_objectStoreNames.html:
  • web-platform-tests/IndexedDB/request-abort-ordering.html: Added.
  • web-platform-tests/IndexedDB/support.js:

(indexeddb_test):

  • web-platform-tests/IndexedDB/w3c-import.log:
  • web-platform-tests/README.md:
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js:
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/digest/test_digest.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.html.
  • web-platform-tests/WebCryptoAPI/digest/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/generateKey/successes.js:

(run_test):

  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html.
  • web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/getRandomValues.any.html: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues.any.js: Added.

(test):
(string_appeared_here.test):

  • web-platform-tests/WebCryptoAPI/getRandomValues.any.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/idlharness.https.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html.
  • web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html.
  • web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html.
  • web-platform-tests/WebCryptoAPI/import_export/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-non-secure-context-not-available.sub.html: Added.
  • web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html: Added.
  • web-platform-tests/WebCryptoAPI/secure_context/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/w3c-import.log.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html.
  • web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/util/helpers.js:

(allNameVariants):

  • web-platform-tests/WebCryptoAPI/util/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/util/worker-report-crypto-subtle-presence.js: Added.
  • web-platform-tests/WebCryptoAPI/w3c-import.log:
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html.
  • web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log:
  • web-platform-tests/WebIDL/OWNERS: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/has-instance-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/has-instance.html:
  • web-platform-tests/WebIDL/ecmascript-binding/interface-prototype-object.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
  • web-platform-tests/WebIDL/w3c-import.log:
  • web-platform-tests/XMLHttpRequest/formdata-foreach.html:
  • web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm:
  • web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
  • web-platform-tests/XMLHttpRequest/interfaces.html:
  • web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin.htm:
  • web-platform-tests/XMLHttpRequest/resources/base.xml: Added.
  • web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
  • web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
  • web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-data-arraybufferview.htm: Added.
  • web-platform-tests/XMLHttpRequest/w3c-import.log:
  • web-platform-tests/beacon/headers/header-content-type.html: Added.
  • web-platform-tests/beacon/headers/w3c-import.log:
  • web-platform-tests/beacon/resources/content-type.py: Added.

(main):

  • web-platform-tests/beacon/resources/w3c-import.log:
  • web-platform-tests/check_stability.ini: Added.
  • web-platform-tests/check_stability.py:

(Browser.prepare_environment):
(Firefox.init):
(Chrome.init):
(Chrome.prepare_environment):
(Sauce):
(Sauce.init):
(Sauce.install):
(Sauce.install_webdriver):
(Sauce.version):
(Sauce.wptrunner_args):
(install_wptrunner):
(get_files_changed):
(_in_repo_root):
(get_affected_testfiles):
(get_affected_testfiles.affected_by_wdspec):
(format_comment_title):
(markdown_adjust):
(table):
(get_parser):
(main):

  • web-platform-tests/ci_unittest.sh: Added.
  • web-platform-tests/common/object-association.js: Added.

(window.testIsPerWindow.propertyName.async_test.t.iframe.onload.t.step_func):
(window.testIsPerWindow.propertyName.async_test.t.iframe.onload.t.step_func_done):

  • web-platform-tests/common/performance-timeline-utils.js: Added.

(wp_test):
(test_true):
(test_equals):
(test_entries):

  • web-platform-tests/common/w3c-import.log:
  • web-platform-tests/cors/access-control-expose-headers-parsing.window.js: Added.

(exposeTest):

  • web-platform-tests/cors/preflight-failure.htm:
  • web-platform-tests/cors/resources/access-control-expose-headers-parsing-2.asis: Added.
  • web-platform-tests/cors/resources/access-control-expose-headers-parsing.asis: Added.
  • web-platform-tests/cors/resources/w3c-import.log:
  • web-platform-tests/cors/w3c-import.log:
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-001-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-001.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-002-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-002.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-003-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-003.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-004-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-004.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-005-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-005.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-006-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-006.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-007-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-007.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-008-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-008.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-009-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-009.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-010-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-010.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-011-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-011.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-012-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-012.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-013-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-013.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-014-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-014.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-015-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-015.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-016-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-016.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-017-expected.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-017.html: Added.
  • web-platform-tests/css/css-grid-1/abspos/w3c-import.log: Added.
  • web-platform-tests/css/geometry-1/support/interfaces.js: Added.

(doTest):
(promise_test):

  • web-platform-tests/css/geometry-1/support/w3c-import.log:
  • web-platform-tests/cssom-view/cssom-view-window-screen-interface.html:
  • web-platform-tests/cssom/MediaList-expected.txt:
  • web-platform-tests/cssom/w3c-import.log:
  • web-platform-tests/custom-elements/custom-element-registry/per-global.html: Added.
  • web-platform-tests/custom-elements/custom-element-registry/w3c-import.log:
  • web-platform-tests/custom-elements/microtasks-and-constructors.html: Added.
  • web-platform-tests/custom-elements/w3c-import.log:
  • web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws.html:
  • web-platform-tests/dom/collections/HTMLCollection-empty-name.html:
  • web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html:
  • web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html:
  • web-platform-tests/dom/collections/domstringmap-supported-property-names.html:
  • web-platform-tests/dom/collections/namednodemap-supported-property-names.html:
  • web-platform-tests/dom/events/AddEventListenerOptions-once.html:
  • web-platform-tests/dom/events/AddEventListenerOptions-passive.html:
  • web-platform-tests/dom/events/CustomEvent.html:
  • web-platform-tests/dom/events/Event-cancelBubble.html:
  • web-platform-tests/dom/events/Event-constants.html:
  • web-platform-tests/dom/events/Event-constructors.html:
  • web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html:
  • web-platform-tests/dom/events/Event-defaultPrevented.html:
  • web-platform-tests/dom/events/Event-dispatch-bubble-canceled.html:
  • web-platform-tests/dom/events/Event-dispatch-bubbles-false.html:
  • web-platform-tests/dom/events/Event-dispatch-bubbles-true.html:
  • web-platform-tests/dom/events/Event-dispatch-click.html:
  • web-platform-tests/dom/events/Event-dispatch-detached-click.html:
  • web-platform-tests/dom/events/Event-dispatch-handlers-changed.html:
  • web-platform-tests/dom/events/Event-dispatch-multiple-cancelBubble.html:
  • web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation.html:
  • web-platform-tests/dom/events/Event-dispatch-omitted-capture.html:
  • web-platform-tests/dom/events/Event-dispatch-order.html:
  • web-platform-tests/dom/events/Event-dispatch-other-document.html:
  • web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html:
  • web-platform-tests/dom/events/Event-dispatch-redispatch.html:
  • web-platform-tests/dom/events/Event-dispatch-reenter.html:
  • web-platform-tests/dom/events/Event-dispatch-target-moved.html:
  • web-platform-tests/dom/events/Event-dispatch-target-removed.html:
  • web-platform-tests/dom/events/Event-dispatch-throwing.html:
  • web-platform-tests/dom/events/Event-init-while-dispatching.html:
  • web-platform-tests/dom/events/Event-initEvent.html:
  • web-platform-tests/dom/events/Event-propagation.html:
  • web-platform-tests/dom/events/Event-subclasses-constructors.html:
  • web-platform-tests/dom/events/Event-type-empty.html:
  • web-platform-tests/dom/events/Event-type.html:
  • web-platform-tests/dom/events/EventListener-handleEvent.html:
  • web-platform-tests/dom/events/EventListener-incumbent-global-1.sub.html:
  • web-platform-tests/dom/events/EventListener-incumbent-global-2.sub.html:
  • web-platform-tests/dom/events/EventListener-invoke-legacy.html:
  • web-platform-tests/dom/events/EventListenerOptions-capture.html:
  • web-platform-tests/dom/events/EventTarget-addEventListener.html:
  • web-platform-tests/dom/events/EventTarget-dispatchEvent-returnvalue.html:
  • web-platform-tests/dom/events/EventTarget-dispatchEvent.html:
  • web-platform-tests/dom/events/EventTarget-removeEventListener.html:
  • web-platform-tests/dom/historical.html:
  • web-platform-tests/dom/interface-objects.html:
  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/dom/interfaces.html:
  • web-platform-tests/dom/lists/DOMTokenList-Iterable.html:
  • web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html:
  • web-platform-tests/dom/lists/DOMTokenList-iteration.html:
  • web-platform-tests/dom/lists/DOMTokenList-stringifier.html:
  • web-platform-tests/dom/lists/DOMTokenList-value.html:
  • web-platform-tests/dom/nodes/CharacterData-appendChild.html:
  • web-platform-tests/dom/nodes/CharacterData-appendData.html:
  • web-platform-tests/dom/nodes/CharacterData-data.html:
  • web-platform-tests/dom/nodes/CharacterData-deleteData.html:
  • web-platform-tests/dom/nodes/CharacterData-insertData.html:
  • web-platform-tests/dom/nodes/CharacterData-remove.html:
  • web-platform-tests/dom/nodes/CharacterData-replaceData.html:
  • web-platform-tests/dom/nodes/CharacterData-substringData.html:
  • web-platform-tests/dom/nodes/CharacterData-surrogates.html:
  • web-platform-tests/dom/nodes/ChildNode-after.html:
  • web-platform-tests/dom/nodes/ChildNode-before.html:
  • web-platform-tests/dom/nodes/ChildNode-replaceWith.html:
  • web-platform-tests/dom/nodes/Comment-constructor.html:
  • web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
  • web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html:
  • web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html:
  • web-platform-tests/dom/nodes/DOMImplementation-hasFeature.html:
  • web-platform-tests/dom/nodes/Document-URL.sub.html:
  • web-platform-tests/dom/nodes/Document-adoptNode.html:
  • web-platform-tests/dom/nodes/Document-characterSet-normalization.html:
  • web-platform-tests/dom/nodes/Document-constructor.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/createDocument.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/createHTMLDocument.html:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/xhr_responseType_document.html:
  • web-platform-tests/dom/nodes/Document-createAttribute.html:
  • web-platform-tests/dom/nodes/Document-createComment.html:
  • web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
  • web-platform-tests/dom/nodes/Document-createElement-namespace.html:
  • web-platform-tests/dom/nodes/Document-createElement.html:
  • web-platform-tests/dom/nodes/Document-createElementNS.html:
  • web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
  • web-platform-tests/dom/nodes/Document-createEvent.html:
  • web-platform-tests/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Document-createProcessingInstruction.html:
  • web-platform-tests/dom/nodes/Document-createTextNode.html:
  • web-platform-tests/dom/nodes/Document-createTreeWalker.html:
  • web-platform-tests/dom/nodes/Document-doctype.html:
  • web-platform-tests/dom/nodes/Document-getElementById.html:
  • web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Document-getElementsByTagName.html:
  • web-platform-tests/dom/nodes/Document-getElementsByTagNameNS.html:
  • web-platform-tests/dom/nodes/Document-implementation.html:
  • web-platform-tests/dom/nodes/Document-importNode.html:
  • web-platform-tests/dom/nodes/DocumentType-literal-xhtml.xhtml:
  • web-platform-tests/dom/nodes/DocumentType-literal.html:
  • web-platform-tests/dom/nodes/DocumentType-remove.html:
  • web-platform-tests/dom/nodes/Element-childElement-null-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-childElement-null.html:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.html:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.html:
  • web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-childElementCount-nochild.html:
  • web-platform-tests/dom/nodes/Element-childElementCount-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-childElementCount.html:
  • web-platform-tests/dom/nodes/Element-children.html:
  • web-platform-tests/dom/nodes/Element-classlist-expected.txt:
  • web-platform-tests/dom/nodes/Element-classlist.html:
  • web-platform-tests/dom/nodes/Element-closest.html:
  • web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-firstElementChild-namespace.html:
  • web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-firstElementChild.html:
  • web-platform-tests/dom/nodes/Element-getElementsByClassName.html:
  • web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html:
  • web-platform-tests/dom/nodes/Element-getElementsByTagName.html:
  • web-platform-tests/dom/nodes/Element-getElementsByTagNameNS.html:
  • web-platform-tests/dom/nodes/Element-hasAttributes.html:
  • web-platform-tests/dom/nodes/Element-insertAdjacentElement.html:
  • web-platform-tests/dom/nodes/Element-insertAdjacentText.html:
  • web-platform-tests/dom/nodes/Element-lastElementChild-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-lastElementChild.html:
  • web-platform-tests/dom/nodes/Element-matches-expected.txt:
  • web-platform-tests/dom/nodes/Element-matches.html:
  • web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-nextElementSibling.html:
  • web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-previousElementSibling.html:
  • web-platform-tests/dom/nodes/Element-remove.html:
  • web-platform-tests/dom/nodes/Element-removeAttributeNS.html:
  • web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Element-siblingElement-null.html:
  • web-platform-tests/dom/nodes/Element-tagName.html:
  • web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
  • web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html:
  • web-platform-tests/dom/nodes/MutationObserver-attributes.html:
  • web-platform-tests/dom/nodes/MutationObserver-characterData.html:
  • web-platform-tests/dom/nodes/MutationObserver-childList.html:
  • web-platform-tests/dom/nodes/MutationObserver-disconnect.html:
  • web-platform-tests/dom/nodes/MutationObserver-document.html:
  • web-platform-tests/dom/nodes/MutationObserver-inner-outer.html:
  • web-platform-tests/dom/nodes/MutationObserver-takeRecords.html:
  • web-platform-tests/dom/nodes/Node-appendChild.html:
  • web-platform-tests/dom/nodes/Node-baseURI.html:
  • web-platform-tests/dom/nodes/Node-childNodes.html:
  • web-platform-tests/dom/nodes/Node-cloneNode.html:
  • web-platform-tests/dom/nodes/Node-compareDocumentPosition.html:
  • web-platform-tests/dom/nodes/Node-constants.html:
  • web-platform-tests/dom/nodes/Node-contains-xml.xml:
  • web-platform-tests/dom/nodes/Node-contains.html:
  • web-platform-tests/dom/nodes/Node-insertBefore.html:
  • web-platform-tests/dom/nodes/Node-isConnected.html:
  • web-platform-tests/dom/nodes/Node-isEqualNode-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Node-isEqualNode.html:
  • web-platform-tests/dom/nodes/Node-isSameNode.html:
  • web-platform-tests/dom/nodes/Node-lookupNamespaceURI.html:
  • web-platform-tests/dom/nodes/Node-lookupPrefix.xhtml:
  • web-platform-tests/dom/nodes/Node-nodeName-xhtml.xhtml:
  • web-platform-tests/dom/nodes/Node-nodeName.html:
  • web-platform-tests/dom/nodes/Node-nodeValue.html:
  • web-platform-tests/dom/nodes/Node-normalize.html:
  • web-platform-tests/dom/nodes/Node-parentElement.html:
  • web-platform-tests/dom/nodes/Node-parentNode.html:
  • web-platform-tests/dom/nodes/Node-properties.html:
  • web-platform-tests/dom/nodes/Node-removeChild.html:
  • web-platform-tests/dom/nodes/Node-replaceChild.html:
  • web-platform-tests/dom/nodes/Node-textContent.html:
  • web-platform-tests/dom/nodes/NodeList-Iterable.html:
  • web-platform-tests/dom/nodes/ParentNode-append.html:
  • web-platform-tests/dom/nodes/ParentNode-prepend.html:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht.xht:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All.html:
  • web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml:
  • web-platform-tests/dom/nodes/ProcessingInstruction-literal-1.xhtml:
  • web-platform-tests/dom/nodes/ProcessingInstruction-literal-2.xhtml:
  • web-platform-tests/dom/nodes/Text-constructor.html:
  • web-platform-tests/dom/nodes/Text-splitText.html:
  • web-platform-tests/dom/nodes/append-on-Document.html:
  • web-platform-tests/dom/nodes/attributes.html:
  • web-platform-tests/dom/nodes/case.html:
  • web-platform-tests/dom/nodes/getElementsByClassName-01.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-02.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-03.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-04.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-05.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-06.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-07.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-08.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-09.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-10.xml:
  • web-platform-tests/dom/nodes/getElementsByClassName-11.xml:
  • web-platform-tests/dom/nodes/getElementsByClassName-12.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-13.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-14.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-15.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-16.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-17.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-18.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-19.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-20.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-21.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-22.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-23.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-24.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-25.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-26.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-27.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-28.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-29.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-30.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-31.htm:
  • web-platform-tests/dom/nodes/insert-adjacent.html:
  • web-platform-tests/dom/nodes/mutationobservers.js:
  • web-platform-tests/dom/nodes/prepend-on-Document.html:
  • web-platform-tests/dom/nodes/remove-unscopable.html:
  • web-platform-tests/dom/nodes/rootNode.html:
  • web-platform-tests/dom/nodes/selectors.js:
  • web-platform-tests/dom/nodes/w3c-import.log:
  • web-platform-tests/dom/ranges/Range-attributes.html:
  • web-platform-tests/dom/ranges/Range-cloneContents.html:
  • web-platform-tests/dom/ranges/Range-cloneRange.html:
  • web-platform-tests/dom/ranges/Range-collapse.html:
  • web-platform-tests/dom/ranges/Range-commonAncestorContainer-2.html:
  • web-platform-tests/dom/ranges/Range-commonAncestorContainer.html:
  • web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html:
  • web-platform-tests/dom/ranges/Range-comparePoint-2.html:
  • web-platform-tests/dom/ranges/Range-comparePoint.html:
  • web-platform-tests/dom/ranges/Range-constructor.html:
  • web-platform-tests/dom/ranges/Range-deleteContents.html:
  • web-platform-tests/dom/ranges/Range-detach.html:
  • web-platform-tests/dom/ranges/Range-extractContents.html:
  • web-platform-tests/dom/ranges/Range-insertNode.html:
  • web-platform-tests/dom/ranges/Range-intersectsNode-binding.html:
  • web-platform-tests/dom/ranges/Range-intersectsNode.html:
  • web-platform-tests/dom/ranges/Range-isPointInRange.html:
  • web-platform-tests/dom/ranges/Range-mutations-appendChild.html:
  • web-platform-tests/dom/ranges/Range-mutations-appendData.html:
  • web-platform-tests/dom/ranges/Range-mutations-dataChange.html:
  • web-platform-tests/dom/ranges/Range-mutations-deleteData.html:
  • web-platform-tests/dom/ranges/Range-mutations-insertBefore.html:
  • web-platform-tests/dom/ranges/Range-mutations-insertData.html:
  • web-platform-tests/dom/ranges/Range-mutations-removeChild.html:
  • web-platform-tests/dom/ranges/Range-mutations-replaceChild.html:
  • web-platform-tests/dom/ranges/Range-mutations-replaceData.html:
  • web-platform-tests/dom/ranges/Range-mutations-splitText.html:
  • web-platform-tests/dom/ranges/Range-selectNode.html:
  • web-platform-tests/dom/ranges/Range-set.html:
  • web-platform-tests/dom/ranges/Range-stringifier.html:
  • web-platform-tests/dom/ranges/Range-surroundContents.html:
  • web-platform-tests/dom/traversal/NodeFilter-constants.html:
  • web-platform-tests/dom/traversal/NodeIterator-removal.html:
  • web-platform-tests/dom/traversal/NodeIterator.html:
  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
  • web-platform-tests/dom/traversal/TreeWalker-basic.html:
  • web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
  • web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
  • web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
  • web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html:
  • web-platform-tests/dom/traversal/TreeWalker.html:
  • web-platform-tests/domparsing/DOMParser-parseFromString-xml-internal-subset.html: Added.
  • web-platform-tests/domparsing/w3c-import.log:
  • web-platform-tests/encrypted-media/resources/drm-retrieve-persistent-license.html:
  • web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js:

(runTest):

  • web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js:

(runTest):

  • web-platform-tests/fetch/api/basic/block-mime-as-script.html: Added.
  • web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
  • web-platform-tests/fetch/api/basic/w3c-import.log:
  • web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location.js:

(redirectLocation):

  • web-platform-tests/fetch/api/request/request-consume-empty-expected.txt:
  • web-platform-tests/fetch/api/request/request-consume-empty.html:
  • web-platform-tests/fetch/api/request/request-error-expected.txt:
  • web-platform-tests/fetch/api/request/request-error.html:
  • web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
  • web-platform-tests/fetch/api/request/request-init-001.sub.html:
  • web-platform-tests/fetch/api/resources/script-with-header.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/w3c-import.log:
  • web-platform-tests/fetch/api/response/response-consume-empty-expected.txt:
  • web-platform-tests/fetch/api/response/response-consume-empty.html:
  • web-platform-tests/fonts/CanvasTest.sfd: Removed.
  • web-platform-tests/fonts/w3c-import.log:
  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html:
  • web-platform-tests/html/browsers/history/the-location-interface/per-global.window.js: Added.
  • web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html: Added.
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_iframe.html: Added.
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/w3c-import.log:
  • web-platform-tests/html/browsers/the-window-object/historical.window.js: Added.

(test):

  • web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/security-window/window-security.html:
  • web-platform-tests/html/browsers/the-window-object/w3c-import.log:
  • web-platform-tests/html/browsers/the-window-object/window-properties-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/window-properties.html:
  • web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
  • web-platform-tests/html/browsers/windows/noreferrer-window-name.html:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-07.html: Added.
  • web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-08.html: Added.
  • web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log:
  • web-platform-tests/html/dom/elements-metadata.js:
  • web-platform-tests/html/dom/interfaces.html:
  • web-platform-tests/html/dom/reflection-metadata-expected.txt:
  • web-platform-tests/html/dom/resources/interfaces.idl: Removed.
  • web-platform-tests/html/dom/resources/untested-interfaces.idl: Removed.
  • web-platform-tests/html/dom/resources/w3c-import.log:
  • web-platform-tests/html/dom/self-origin.sub.html:
  • web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css: Added.

(p):

  • web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css: Added.

(p):

  • web-platform-tests/html/semantics/document-metadata/the-link-element/resources/w3c-import.log:
  • web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-expected.html: Added.
  • web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html: Added.
  • web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js:

(get_test_results.):
(get_test_results):

  • web-platform-tests/html/semantics/embedded-content/the-img-element/delay-load-event.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html: Added.
  • web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table.html: Added.
  • web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html: Added.
  • web-platform-tests/html/semantics/forms/form-control-infrastructure/w3c-import.log:
  • web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-2.html: Added.
  • web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html:
  • web-platform-tests/html/semantics/forms/the-button-element/button-click-submits.html: Added.
  • web-platform-tests/html/semantics/forms/the-button-element/button-type.html: Added.
  • web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection-with-base-url.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/form-action-submission-with-base-url.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/form-action-submission.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/form-action-url-expected.txt: Removed.
  • web-platform-tests/html/semantics/forms/the-form-element/form-action-url.html: Removed.
  • web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html:
  • web-platform-tests/html/semantics/forms/the-form-element/resources/form-action-url-iframe.html: Removed.
  • web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action-with-base.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action-and-base.sub.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action.sub.html: Added.
  • web-platform-tests/html/semantics/forms/the-form-element/resources/target/form-action-url-target.html:
  • web-platform-tests/html/semantics/forms/the-form-element/resources/w3c-import.log:
  • web-platform-tests/html/semantics/forms/the-form-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/the-input-element/checkbox-click-events.html: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/radio-input-cancel.html: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/radio.html:
  • web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/the-label-element/proxy-click-to-associated-element.html: Added.
  • web-platform-tests/html/semantics/forms/the-label-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/the-select-element/select-multiple.html: Added.
  • web-platform-tests/html/semantics/forms/the-select-element/select-selectedOptions.html: Added.
  • web-platform-tests/html/semantics/forms/the-select-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/the-textarea-element/value-defaultValue-textContent.html: Added.
  • web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
  • web-platform-tests/html/semantics/interactive-elements/the-menu-element/menuitem-label.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-menu-element/w3c-import.log:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html:
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-getter-01.html: Added.
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-setter-01.html: Added.
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log:
  • web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
  • web-platform-tests/html/syntax/serializing-html-fragments/serializing.html:
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log:
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-dedicatedworker.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-window.html: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/worker-that-requires-failure.js: Added.

(test):

  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/worker-that-requires-success.js: Added.

(test):

  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html: Removed.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js: Removed.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js.

(async_test):

  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.worker.html: Added.
  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/w3c-import.log:
  • web-platform-tests/images/apng.png: Added.
  • web-platform-tests/images/w3c-import.log:
  • web-platform-tests/lint:
  • web-platform-tests/lint.whitelist:
  • web-platform-tests/media/CanvasTest.ttf: Removed.
  • web-platform-tests/media/OWNERS:
  • web-platform-tests/media/w3c-import.log:
  • web-platform-tests/notifications/shownotification-resolve-manual.https.html: Added.
  • web-platform-tests/notifications/w3c-import.log:
  • web-platform-tests/resource-timing/resource-timing.js:

(assertResourceEntryInvariants):

  • web-platform-tests/resource-timing/resource_TAO_match_origin.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_multi.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_null.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_origin.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_space.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_wildcard.htm: Added.
  • web-platform-tests/resource-timing/resource_TAO_zero.htm: Added.
  • web-platform-tests/resource-timing/resources/TAOResponse.py: Added.

(main):

  • web-platform-tests/resource-timing/resources/iframe_TAO_match_origin.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_match_wildcard.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_multi.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_null.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_origin.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_origin_uppercase.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_space.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_wildcard.html: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_zero.html: Added.
  • web-platform-tests/resource-timing/resources/w3c-import.log:
  • web-platform-tests/resource-timing/w3c-import.log:
  • web-platform-tests/resources/examples/apisample18.html: Added.
  • web-platform-tests/resources/examples/apisample19.html: Added.
  • web-platform-tests/resources/examples/w3c-import.log:
  • web-platform-tests/resources/idlharness.js:

(IdlArray.prototype.assert_type_is):
(IdlInterface.prototype.test_self):

  • web-platform-tests/resources/readme.md:
  • web-platform-tests/resources/w3c-import.log:
  • web-platform-tests/resources/webidl2/lib/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/invalid/idl/record-key.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/invalid/json/record-key.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Removed.
  • web-platform-tests/resources/webidl2/test/syntax/idl/namespace.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/record.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Removed.
  • web-platform-tests/resources/webidl2/test/syntax/idl/typedef-union.idl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/syntax/json/map.json: Removed.
  • web-platform-tests/resources/webidl2/test/syntax/json/namespace.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/record.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Removed.
  • web-platform-tests/resources/webidl2/test/syntax/json/typedef-union.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/w3c-import.log:
  • web-platform-tests/resources/webidl2/test/web/w3c-import.log:
  • web-platform-tests/resources/webidl2/w3c-import.log:
  • web-platform-tests/shadow-dom/slots-fallback-in-document.html: Added.
  • web-platform-tests/shadow-dom/w3c-import.log:
  • web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
  • web-platform-tests/streams/piping/flow-control-expected.txt:
  • web-platform-tests/streams/piping/flow-control.js:

(StepTracker):
(StepTracker.prototype.waitThenAdvance):
(promise_test):

  • web-platform-tests/streams/piping/general-expected.txt:
  • web-platform-tests/streams/piping/pipe-through-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.js:

(test):

  • web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/general.js:

(promise_test):

  • web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/floating-point-total-queue-size.js:
  • web-platform-tests/streams/resources/recording-streams.js:

(self.recordingWritableStream):

  • web-platform-tests/tools/html5lib/html5lib/serializer/w3c-import.log:
  • web-platform-tests/tools/html5lib/html5lib/treebuilders/w3c-import.log:
  • web-platform-tests/tools/html5lib/html5lib/treewalkers/w3c-import.log:
  • web-platform-tests/tools/html5lib/html5lib/trie/w3c-import.log:
  • web-platform-tests/tools/html5lib/html5lib/w3c-import.log:
  • web-platform-tests/tools/manifest/w3c-import.log:
  • web-platform-tests/tools/pytest/.github/w3c-import.log:
  • web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/w3c-import.log:
  • web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/w3c-import.log:
  • web-platform-tests/tools/serve/w3c-import.log:
  • web-platform-tests/tools/six/w3c-import.log:
  • web-platform-tests/tools/sslutils/w3c-import.log:
  • web-platform-tests/tools/w3c-import.log:
  • web-platform-tests/tools/webdriver/webdriver/client.py:

(ActionSequence.pause):
(ActionSequence.pointer_up):
(ActionSequence.pointer_down):
(ActionSequence.click):

  • web-platform-tests/tools/webdriver/webdriver/transport.py:

(Response.from_http_response):

  • web-platform-tests/tools/wptrunner/requirements_firefox.txt:
  • web-platform-tests/tools/wptrunner/wptrunner/browsers/base.py:

(Browser.settings):
(Browser.start):
(NullBrowser.start):

  • web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py:

(browser_kwargs):
(ChromeBrowser.start):

  • web-platform-tests/tools/wptrunner/wptrunner/browsers/edge.py:

(EdgeBrowser.start):

  • web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py:

(get_timeout_multiplier):
(browser_kwargs):
(executor_kwargs):
(FirefoxBrowser.init):
(FirefoxBrowser):
(FirefoxBrowser.settings):
(FirefoxBrowser.start):
(FirefoxBrowser.stop):
(FirefoxBrowser.process_leaks):
(FirefoxBrowser.cleanup):

  • web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce.py:

(browser_kwargs):

  • web-platform-tests/tools/wptrunner/wptrunner/browsers/servo.py:

(browser_kwargs):

  • web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py:

(browser_kwargs):
(ServoWebDriverBrowser.start):

  • web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py:

(MarionetteProtocol.init):
(MarionetteProtocol.setup):
(MarionetteTestharnessExecutor.init):

  • web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py:

(ExpectedManifest.leaks):
(ExpectedManifest):
(DirectoryManifest.leaks):
(DirectoryManifest):
(TestNode.leaks):
(TestNode):

  • web-platform-tests/tools/wptrunner/wptrunner/testloader.py:

(EqualTimeChunker._group_by_directory):
(PathGroupedSource.get_queue):

  • web-platform-tests/tools/wptrunner/wptrunner/testrunner.py:

(BrowserManager.init):
(BrowserManager.update_settings):
(BrowserManager.init):
(TestRunnerManager.init):
(TestRunnerManager.get_next_test):
(TestRunnerManager.run_test):

  • web-platform-tests/tools/wptrunner/wptrunner/tests/test_chunker.py:

(MockTest):

  • web-platform-tests/tools/wptrunner/wptrunner/update/sync.py:

(copy_wpt_tree):
(add_license):
(CopyWorkTree.create):

  • web-platform-tests/tools/wptrunner/wptrunner/update/tree.py:

(GitTree.paths):

  • web-platform-tests/tools/wptrunner/wptrunner/update/update.py:

(SyncFromUpstream.create):

  • web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py:

(create_parser_update):

  • web-platform-tests/tools/wptrunner/wptrunner/wptrunner.py:

(run_tests):

  • web-platform-tests/tools/wptrunner/wptrunner/wpttest.py:

(Test):
(Test.init):
(Test.from_manifest):
(Test.leaks):
(ReftestTest.init):
(ReftestTest.from_manifest):
(WdspecTest):

  • web-platform-tests/tools/wptserve/wptserve/w3c-import.log:
  • web-platform-tests/user-timing/measure.html:
  • web-platform-tests/user-timing/measure_navigation_timing.html:
  • web-platform-tests/user-timing/resources/webperftestharness.js:
  • web-platform-tests/user-timing/test_user_timing_clear_marks-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_clear_measures-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_entry_type-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_exists-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_with_timing_attributes-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_without_parameter-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_with_name_of_navigation_timing_optional_attribute-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
  • web-platform-tests/w3c-import.log:
  • web-platform-tests/webrtc/OWNERS:
  • web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize-expected.txt:
  • web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html:
  • web-platform-tests/webrtc/RTCIceCandidate-constructor.html: Added.
  • web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html: Added.
  • web-platform-tests/webrtc/getstats-expected.txt:
  • web-platform-tests/webrtc/getstats.html:
  • web-platform-tests/webrtc/w3c-import.log:
  • web-platform-tests/wptrun: Added.

Tools:

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.

LayoutTests:

Location:
trunk
Files:
298 added
17 deleted
521 edited
38 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r217217 r217225  
     12017-05-22  youenn fablet  <youenn@apple.com>
     2
     3        Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
     4        https://bugs.webkit.org/show_bug.cgi?id=172426
     5
     6        Reviewed by Chris Dumez.
     7
     8        * TestExpectations:
     9        * tests-options.json:
     10
    1112017-05-22  Antti Koivisto  <antti@apple.com>
    212
  • trunk/LayoutTests/TestExpectations

    r217144 r217225  
    800800
    801801imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html [ Pass Failure ]
     802imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html [ Pass Failure ]
    802803imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_go_zero.html [ Pass Failure ]
     804
     805[ Debug ] imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html [ Failure ]
     806[ Debug ] imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html [ Failure ]
     807[ Debug ] imported/w3c/web-platform-tests/dom/nodes/Element-classlist.html [ Failure ]
    803808
    804809# FIXME: The following failures need individual bugs.
     
    11151120webkit.org/b/168175 imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click.html [ Timeout Pass Failure ]
    11161121webkit.org/b/169264 imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-navigation-samedoc.html [ Failure ]
     1122
     1123imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html [ Failure ]
     1124imported/w3c/web-platform-tests/cssom/MediaList.html [ Failure ]
     1125imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/007.html [ Failure ]
     1126imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/joint_session_history/001.html [ Failure ]
     1127imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/joint_session_history/002.html [ Failure ]
     1128imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/reload_post_1.html [ Failure ]
     1129imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html [ Failure ]
     1130imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name.html [ Failure ]
     1131imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata.html [ Failure ]
     1132imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url.html [ ImageOnlyFailure ]
    11171133
    11181134webkit.org/b/168066 performance-api/performance-now-api.html [ Pass Failure ]
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r217168 r217225  
     12017-05-22  youenn fablet  <youenn@apple.com>
     2
     3        Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
     4        https://bugs.webkit.org/show_bug.cgi?id=172426
     5
     6        Reviewed by Chris Dumez.
     7
     8        * resources/TestRepositories:
     9        * resources/import-expectations.json:
     10        * resources/resource-files.json:
     11        * web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
     12        * web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
     13        * web-platform-tests/IndexedDB/idb_webworkers.htm:
     14        * web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm:
     15        * web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm:
     16        * web-platform-tests/IndexedDB/idbcursor-advance.htm:
     17        * web-platform-tests/IndexedDB/idbcursor-continue.htm:
     18        * web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm:
     19        * web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm:
     20        * web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
     21        * web-platform-tests/IndexedDB/idbcursor-direction-index.htm:
     22        * web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
     23        * web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm:
     24        * web-platform-tests/IndexedDB/idbcursor-direction.htm:
     25        * web-platform-tests/IndexedDB/idbcursor-source.htm:
     26        * web-platform-tests/IndexedDB/idbcursor_iterating.htm:
     27        * web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm:
     28        * web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm:
     29        * web-platform-tests/IndexedDB/idbdatabase_close.htm:
     30        * web-platform-tests/IndexedDB/idbfactory-deleteDatabase-request-success.html: Added.
     31        * web-platform-tests/IndexedDB/idbfactory-open-request-error.html: Added.
     32        * web-platform-tests/IndexedDB/idbfactory-open-request-success.html: Added.
     33        * web-platform-tests/IndexedDB/idbfactory_open10.htm:
     34        * web-platform-tests/IndexedDB/idbfactory_open11.htm:
     35        * web-platform-tests/IndexedDB/idbfactory_open3.htm:
     36        * web-platform-tests/IndexedDB/idbfactory_open6.htm:
     37        * web-platform-tests/IndexedDB/idbfactory_open7.htm:
     38        * web-platform-tests/IndexedDB/idbindex_getAll.html:
     39        * web-platform-tests/IndexedDB/idbindex_getAllKeys.html:
     40        * web-platform-tests/IndexedDB/idbobjectstore-index-finished.html: Added.
     41        * web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm:
     42        * web-platform-tests/IndexedDB/idbobjectstore_getAll.html:
     43        * web-platform-tests/IndexedDB/idbobjectstore_getAllKeys.html:
     44        * web-platform-tests/IndexedDB/idbobjectstore_getKey.html:
     45        * web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm:
     46        * web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm:
     47        * web-platform-tests/IndexedDB/idbrequest-onupgradeneeded.htm:
     48        * web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html: Added.
     49        * web-platform-tests/IndexedDB/idbtransaction.htm:
     50        * web-platform-tests/IndexedDB/idbtransaction_objectStoreNames.html:
     51        * web-platform-tests/IndexedDB/request-abort-ordering.html: Added.
     52        * web-platform-tests/IndexedDB/support.js:
     53        (indexeddb_test):
     54        * web-platform-tests/IndexedDB/w3c-import.log:
     55        * web-platform-tests/README.md:
     56        * web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js:
     57        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html.
     58        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html.
     59        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html.
     60        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     61        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     62        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     63        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     64        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     65        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     66        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     67        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     68        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
     69        * web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log:
     70        * web-platform-tests/WebCryptoAPI/digest/test_digest.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.html.
     71        * web-platform-tests/WebCryptoAPI/digest/w3c-import.log:
     72        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html.
     73        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html.
     74        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html.
     75        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html.
     76        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log:
     77        * web-platform-tests/WebCryptoAPI/generateKey/successes.js:
     78        (run_test):
     79        * web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html.
     80        * web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html.
     81        * web-platform-tests/WebCryptoAPI/generateKey/test_failures.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html.
     82        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html.
     83        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html.
     84        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html.
     85        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html.
     86        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html.
     87        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html.
     88        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html.
     89        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html.
     90        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html.
     91        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html.
     92        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html.
     93        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html.
     94        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html.
     95        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html.
     96        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html.
     97        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html.
     98        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html.
     99        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Removed.
     100        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html.
     101        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html.
     102        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html.
     103        * web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log:
     104        * web-platform-tests/WebCryptoAPI/getRandomValues.any.html: Added.
     105        * web-platform-tests/WebCryptoAPI/getRandomValues.any.js: Added.
     106        (test):
     107        (string_appeared_here.test):
     108        * web-platform-tests/WebCryptoAPI/getRandomValues.any.worker.html: Added.
     109        * web-platform-tests/WebCryptoAPI/idlharness.https.html: Added.
     110        * web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html.
     111        * web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html.
     112        * web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html.
     113        * web-platform-tests/WebCryptoAPI/import_export/w3c-import.log:
     114        * web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-non-secure-context-not-available.sub.html: Added.
     115        * web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html: Added.
     116        * web-platform-tests/WebCryptoAPI/secure_context/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/w3c-import.log.
     117        * web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html.
     118        * web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html.
     119        * web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html.
     120        * web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html.
     121        * web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log:
     122        * web-platform-tests/WebCryptoAPI/util/helpers.js:
     123        (allNameVariants):
     124        * web-platform-tests/WebCryptoAPI/util/w3c-import.log:
     125        * web-platform-tests/WebCryptoAPI/util/worker-report-crypto-subtle-presence.js: Added.
     126        * web-platform-tests/WebCryptoAPI/w3c-import.log:
     127        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html.
     128        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log:
     129        * web-platform-tests/WebIDL/OWNERS: Added.
     130        * web-platform-tests/WebIDL/ecmascript-binding/has-instance-expected.txt:
     131        * web-platform-tests/WebIDL/ecmascript-binding/has-instance.html:
     132        * web-platform-tests/WebIDL/ecmascript-binding/interface-prototype-object.html: Added.
     133        * web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html: Added.
     134        * web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html: Added.
     135        * web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html: Added.
     136        * web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
     137        * web-platform-tests/WebIDL/w3c-import.log:
     138        * web-platform-tests/XMLHttpRequest/formdata-foreach.html:
     139        * web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm:
     140        * web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
     141        * web-platform-tests/XMLHttpRequest/interfaces.html:
     142        * web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin.htm:
     143        * web-platform-tests/XMLHttpRequest/resources/base.xml: Added.
     144        * web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
     145        * web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
     146        * web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
     147        * web-platform-tests/XMLHttpRequest/send-data-arraybufferview.htm: Added.
     148        * web-platform-tests/XMLHttpRequest/w3c-import.log:
     149        * web-platform-tests/beacon/headers/header-content-type.html: Added.
     150        * web-platform-tests/beacon/headers/w3c-import.log:
     151        * web-platform-tests/beacon/resources/content-type.py: Added.
     152        (main):
     153        * web-platform-tests/beacon/resources/w3c-import.log:
     154        * web-platform-tests/check_stability.ini: Added.
     155        * web-platform-tests/check_stability.py:
     156        (Browser.prepare_environment):
     157        (Firefox.__init__):
     158        (Chrome.__init__):
     159        (Chrome.prepare_environment):
     160        (Sauce):
     161        (Sauce.__init__):
     162        (Sauce.install):
     163        (Sauce.install_webdriver):
     164        (Sauce.version):
     165        (Sauce.wptrunner_args):
     166        (install_wptrunner):
     167        (get_files_changed):
     168        (_in_repo_root):
     169        (get_affected_testfiles):
     170        (get_affected_testfiles.affected_by_wdspec):
     171        (format_comment_title):
     172        (markdown_adjust):
     173        (table):
     174        (get_parser):
     175        (main):
     176        * web-platform-tests/ci_unittest.sh: Added.
     177        * web-platform-tests/common/object-association.js: Added.
     178        (window.testIsPerWindow.propertyName.async_test.t.iframe.onload.t.step_func):
     179        (window.testIsPerWindow.propertyName.async_test.t.iframe.onload.t.step_func_done):
     180        * web-platform-tests/common/performance-timeline-utils.js: Added.
     181        (wp_test):
     182        (test_true):
     183        (test_equals):
     184        (test_entries):
     185        * web-platform-tests/common/w3c-import.log:
     186        * web-platform-tests/cors/access-control-expose-headers-parsing.window.js: Added.
     187        (exposeTest):
     188        * web-platform-tests/cors/preflight-failure.htm:
     189        * web-platform-tests/cors/resources/access-control-expose-headers-parsing-2.asis: Added.
     190        * web-platform-tests/cors/resources/access-control-expose-headers-parsing.asis: Added.
     191        * web-platform-tests/cors/resources/w3c-import.log:
     192        * web-platform-tests/cors/w3c-import.log:
     193        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-001-expected.html: Added.
     194        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-001.html: Added.
     195        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-002-expected.html: Added.
     196        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-002.html: Added.
     197        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-003-expected.html: Added.
     198        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-003.html: Added.
     199        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-004-expected.html: Added.
     200        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-004.html: Added.
     201        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-005-expected.html: Added.
     202        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-005.html: Added.
     203        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-006-expected.html: Added.
     204        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-006.html: Added.
     205        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-007-expected.html: Added.
     206        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-007.html: Added.
     207        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-008-expected.html: Added.
     208        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-008.html: Added.
     209        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-009-expected.html: Added.
     210        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-009.html: Added.
     211        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-010-expected.html: Added.
     212        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-010.html: Added.
     213        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-011-expected.html: Added.
     214        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-011.html: Added.
     215        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-012-expected.html: Added.
     216        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-012.html: Added.
     217        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-013-expected.html: Added.
     218        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-013.html: Added.
     219        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-014-expected.html: Added.
     220        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-014.html: Added.
     221        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-015-expected.html: Added.
     222        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-015.html: Added.
     223        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-016-expected.html: Added.
     224        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-016.html: Added.
     225        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-017-expected.html: Added.
     226        * web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-017.html: Added.
     227        * web-platform-tests/css/css-grid-1/abspos/w3c-import.log: Added.
     228        * web-platform-tests/css/geometry-1/support/interfaces.js: Added.
     229        (doTest):
     230        (promise_test):
     231        * web-platform-tests/css/geometry-1/support/w3c-import.log:
     232        * web-platform-tests/cssom-view/cssom-view-window-screen-interface.html:
     233        * web-platform-tests/cssom/MediaList-expected.txt:
     234        * web-platform-tests/cssom/w3c-import.log:
     235        * web-platform-tests/custom-elements/custom-element-registry/per-global.html: Added.
     236        * web-platform-tests/custom-elements/custom-element-registry/w3c-import.log:
     237        * web-platform-tests/custom-elements/microtasks-and-constructors.html: Added.
     238        * web-platform-tests/custom-elements/w3c-import.log:
     239        * web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws.html:
     240        * web-platform-tests/dom/collections/HTMLCollection-empty-name.html:
     241        * web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html:
     242        * web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html:
     243        * web-platform-tests/dom/collections/domstringmap-supported-property-names.html:
     244        * web-platform-tests/dom/collections/namednodemap-supported-property-names.html:
     245        * web-platform-tests/dom/events/AddEventListenerOptions-once.html:
     246        * web-platform-tests/dom/events/AddEventListenerOptions-passive.html:
     247        * web-platform-tests/dom/events/CustomEvent.html:
     248        * web-platform-tests/dom/events/Event-cancelBubble.html:
     249        * web-platform-tests/dom/events/Event-constants.html:
     250        * web-platform-tests/dom/events/Event-constructors.html:
     251        * web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html:
     252        * web-platform-tests/dom/events/Event-defaultPrevented.html:
     253        * web-platform-tests/dom/events/Event-dispatch-bubble-canceled.html:
     254        * web-platform-tests/dom/events/Event-dispatch-bubbles-false.html:
     255        * web-platform-tests/dom/events/Event-dispatch-bubbles-true.html:
     256        * web-platform-tests/dom/events/Event-dispatch-click.html:
     257        * web-platform-tests/dom/events/Event-dispatch-detached-click.html:
     258        * web-platform-tests/dom/events/Event-dispatch-handlers-changed.html:
     259        * web-platform-tests/dom/events/Event-dispatch-multiple-cancelBubble.html:
     260        * web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation.html:
     261        * web-platform-tests/dom/events/Event-dispatch-omitted-capture.html:
     262        * web-platform-tests/dom/events/Event-dispatch-order.html:
     263        * web-platform-tests/dom/events/Event-dispatch-other-document.html:
     264        * web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html:
     265        * web-platform-tests/dom/events/Event-dispatch-redispatch.html:
     266        * web-platform-tests/dom/events/Event-dispatch-reenter.html:
     267        * web-platform-tests/dom/events/Event-dispatch-target-moved.html:
     268        * web-platform-tests/dom/events/Event-dispatch-target-removed.html:
     269        * web-platform-tests/dom/events/Event-dispatch-throwing.html:
     270        * web-platform-tests/dom/events/Event-init-while-dispatching.html:
     271        * web-platform-tests/dom/events/Event-initEvent.html:
     272        * web-platform-tests/dom/events/Event-propagation.html:
     273        * web-platform-tests/dom/events/Event-subclasses-constructors.html:
     274        * web-platform-tests/dom/events/Event-type-empty.html:
     275        * web-platform-tests/dom/events/Event-type.html:
     276        * web-platform-tests/dom/events/EventListener-handleEvent.html:
     277        * web-platform-tests/dom/events/EventListener-incumbent-global-1.sub.html:
     278        * web-platform-tests/dom/events/EventListener-incumbent-global-2.sub.html:
     279        * web-platform-tests/dom/events/EventListener-invoke-legacy.html:
     280        * web-platform-tests/dom/events/EventListenerOptions-capture.html:
     281        * web-platform-tests/dom/events/EventTarget-addEventListener.html:
     282        * web-platform-tests/dom/events/EventTarget-dispatchEvent-returnvalue.html:
     283        * web-platform-tests/dom/events/EventTarget-dispatchEvent.html:
     284        * web-platform-tests/dom/events/EventTarget-removeEventListener.html:
     285        * web-platform-tests/dom/historical.html:
     286        * web-platform-tests/dom/interface-objects.html:
     287        * web-platform-tests/dom/interfaces-expected.txt:
     288        * web-platform-tests/dom/interfaces.html:
     289        * web-platform-tests/dom/lists/DOMTokenList-Iterable.html:
     290        * web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html:
     291        * web-platform-tests/dom/lists/DOMTokenList-iteration.html:
     292        * web-platform-tests/dom/lists/DOMTokenList-stringifier.html:
     293        * web-platform-tests/dom/lists/DOMTokenList-value.html:
     294        * web-platform-tests/dom/nodes/CharacterData-appendChild.html:
     295        * web-platform-tests/dom/nodes/CharacterData-appendData.html:
     296        * web-platform-tests/dom/nodes/CharacterData-data.html:
     297        * web-platform-tests/dom/nodes/CharacterData-deleteData.html:
     298        * web-platform-tests/dom/nodes/CharacterData-insertData.html:
     299        * web-platform-tests/dom/nodes/CharacterData-remove.html:
     300        * web-platform-tests/dom/nodes/CharacterData-replaceData.html:
     301        * web-platform-tests/dom/nodes/CharacterData-substringData.html:
     302        * web-platform-tests/dom/nodes/CharacterData-surrogates.html:
     303        * web-platform-tests/dom/nodes/ChildNode-after.html:
     304        * web-platform-tests/dom/nodes/ChildNode-before.html:
     305        * web-platform-tests/dom/nodes/ChildNode-replaceWith.html:
     306        * web-platform-tests/dom/nodes/Comment-constructor.html:
     307        * web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
     308        * web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html:
     309        * web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html:
     310        * web-platform-tests/dom/nodes/DOMImplementation-hasFeature.html:
     311        * web-platform-tests/dom/nodes/Document-URL.sub.html:
     312        * web-platform-tests/dom/nodes/Document-adoptNode.html:
     313        * web-platform-tests/dom/nodes/Document-characterSet-normalization.html:
     314        * web-platform-tests/dom/nodes/Document-constructor.html:
     315        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp.html:
     316        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css.html:
     317        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html:
     318        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html:
     319        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif.html:
     320        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html.html:
     321        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi.html:
     322        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg.html:
     323        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01.html:
     324        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02.html:
     325        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png.html:
     326        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt.html:
     327        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml.html:
     328        * web-platform-tests/dom/nodes/Document-contentType/contentType/createDocument.html:
     329        * web-platform-tests/dom/nodes/Document-contentType/contentType/createHTMLDocument.html:
     330        * web-platform-tests/dom/nodes/Document-contentType/contentType/xhr_responseType_document.html:
     331        * web-platform-tests/dom/nodes/Document-createAttribute.html:
     332        * web-platform-tests/dom/nodes/Document-createComment.html:
     333        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
     334        * web-platform-tests/dom/nodes/Document-createElement-namespace.html:
     335        * web-platform-tests/dom/nodes/Document-createElement.html:
     336        * web-platform-tests/dom/nodes/Document-createElementNS.html:
     337        * web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
     338        * web-platform-tests/dom/nodes/Document-createEvent.html:
     339        * web-platform-tests/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml:
     340        * web-platform-tests/dom/nodes/Document-createProcessingInstruction.html:
     341        * web-platform-tests/dom/nodes/Document-createTextNode.html:
     342        * web-platform-tests/dom/nodes/Document-createTreeWalker.html:
     343        * web-platform-tests/dom/nodes/Document-doctype.html:
     344        * web-platform-tests/dom/nodes/Document-getElementById.html:
     345        * web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml:
     346        * web-platform-tests/dom/nodes/Document-getElementsByTagName.html:
     347        * web-platform-tests/dom/nodes/Document-getElementsByTagNameNS.html:
     348        * web-platform-tests/dom/nodes/Document-implementation.html:
     349        * web-platform-tests/dom/nodes/Document-importNode.html:
     350        * web-platform-tests/dom/nodes/DocumentType-literal-xhtml.xhtml:
     351        * web-platform-tests/dom/nodes/DocumentType-literal.html:
     352        * web-platform-tests/dom/nodes/DocumentType-remove.html:
     353        * web-platform-tests/dom/nodes/Element-childElement-null-xhtml.xhtml:
     354        * web-platform-tests/dom/nodes/Element-childElement-null.html:
     355        * web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml:
     356        * web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.html:
     357        * web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml:
     358        * web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.html:
     359        * web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml:
     360        * web-platform-tests/dom/nodes/Element-childElementCount-nochild.html:
     361        * web-platform-tests/dom/nodes/Element-childElementCount-xhtml.xhtml:
     362        * web-platform-tests/dom/nodes/Element-childElementCount.html:
     363        * web-platform-tests/dom/nodes/Element-children.html:
     364        * web-platform-tests/dom/nodes/Element-classlist-expected.txt:
     365        * web-platform-tests/dom/nodes/Element-classlist.html:
     366        * web-platform-tests/dom/nodes/Element-closest.html:
     367        * web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml:
     368        * web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml:
     369        * web-platform-tests/dom/nodes/Element-firstElementChild-namespace.html:
     370        * web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml:
     371        * web-platform-tests/dom/nodes/Element-firstElementChild.html:
     372        * web-platform-tests/dom/nodes/Element-getElementsByClassName.html:
     373        * web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html:
     374        * web-platform-tests/dom/nodes/Element-getElementsByTagName.html:
     375        * web-platform-tests/dom/nodes/Element-getElementsByTagNameNS.html:
     376        * web-platform-tests/dom/nodes/Element-hasAttributes.html:
     377        * web-platform-tests/dom/nodes/Element-insertAdjacentElement.html:
     378        * web-platform-tests/dom/nodes/Element-insertAdjacentText.html:
     379        * web-platform-tests/dom/nodes/Element-lastElementChild-xhtml.xhtml:
     380        * web-platform-tests/dom/nodes/Element-lastElementChild.html:
     381        * web-platform-tests/dom/nodes/Element-matches-expected.txt:
     382        * web-platform-tests/dom/nodes/Element-matches.html:
     383        * web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml:
     384        * web-platform-tests/dom/nodes/Element-nextElementSibling.html:
     385        * web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml:
     386        * web-platform-tests/dom/nodes/Element-previousElementSibling.html:
     387        * web-platform-tests/dom/nodes/Element-remove.html:
     388        * web-platform-tests/dom/nodes/Element-removeAttributeNS.html:
     389        * web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml:
     390        * web-platform-tests/dom/nodes/Element-siblingElement-null.html:
     391        * web-platform-tests/dom/nodes/Element-tagName.html:
     392        * web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
     393        * web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html:
     394        * web-platform-tests/dom/nodes/MutationObserver-attributes.html:
     395        * web-platform-tests/dom/nodes/MutationObserver-characterData.html:
     396        * web-platform-tests/dom/nodes/MutationObserver-childList.html:
     397        * web-platform-tests/dom/nodes/MutationObserver-disconnect.html:
     398        * web-platform-tests/dom/nodes/MutationObserver-document.html:
     399        * web-platform-tests/dom/nodes/MutationObserver-inner-outer.html:
     400        * web-platform-tests/dom/nodes/MutationObserver-takeRecords.html:
     401        * web-platform-tests/dom/nodes/Node-appendChild.html:
     402        * web-platform-tests/dom/nodes/Node-baseURI.html:
     403        * web-platform-tests/dom/nodes/Node-childNodes.html:
     404        * web-platform-tests/dom/nodes/Node-cloneNode.html:
     405        * web-platform-tests/dom/nodes/Node-compareDocumentPosition.html:
     406        * web-platform-tests/dom/nodes/Node-constants.html:
     407        * web-platform-tests/dom/nodes/Node-contains-xml.xml:
     408        * web-platform-tests/dom/nodes/Node-contains.html:
     409        * web-platform-tests/dom/nodes/Node-insertBefore.html:
     410        * web-platform-tests/dom/nodes/Node-isConnected.html:
     411        * web-platform-tests/dom/nodes/Node-isEqualNode-xhtml.xhtml:
     412        * web-platform-tests/dom/nodes/Node-isEqualNode.html:
     413        * web-platform-tests/dom/nodes/Node-isSameNode.html:
     414        * web-platform-tests/dom/nodes/Node-lookupNamespaceURI.html:
     415        * web-platform-tests/dom/nodes/Node-lookupPrefix.xhtml:
     416        * web-platform-tests/dom/nodes/Node-nodeName-xhtml.xhtml:
     417        * web-platform-tests/dom/nodes/Node-nodeName.html:
     418        * web-platform-tests/dom/nodes/Node-nodeValue.html:
     419        * web-platform-tests/dom/nodes/Node-normalize.html:
     420        * web-platform-tests/dom/nodes/Node-parentElement.html:
     421        * web-platform-tests/dom/nodes/Node-parentNode.html:
     422        * web-platform-tests/dom/nodes/Node-properties.html:
     423        * web-platform-tests/dom/nodes/Node-removeChild.html:
     424        * web-platform-tests/dom/nodes/Node-replaceChild.html:
     425        * web-platform-tests/dom/nodes/Node-textContent.html:
     426        * web-platform-tests/dom/nodes/NodeList-Iterable.html:
     427        * web-platform-tests/dom/nodes/ParentNode-append.html:
     428        * web-platform-tests/dom/nodes/ParentNode-prepend.html:
     429        * web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
     430        * web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
     431        * web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht.xht:
     432        * web-platform-tests/dom/nodes/ParentNode-querySelector-All.html:
     433        * web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml:
     434        * web-platform-tests/dom/nodes/ProcessingInstruction-literal-1.xhtml:
     435        * web-platform-tests/dom/nodes/ProcessingInstruction-literal-2.xhtml:
     436        * web-platform-tests/dom/nodes/Text-constructor.html:
     437        * web-platform-tests/dom/nodes/Text-splitText.html:
     438        * web-platform-tests/dom/nodes/append-on-Document.html:
     439        * web-platform-tests/dom/nodes/attributes.html:
     440        * web-platform-tests/dom/nodes/case.html:
     441        * web-platform-tests/dom/nodes/getElementsByClassName-01.htm:
     442        * web-platform-tests/dom/nodes/getElementsByClassName-02.htm:
     443        * web-platform-tests/dom/nodes/getElementsByClassName-03.htm:
     444        * web-platform-tests/dom/nodes/getElementsByClassName-04.htm:
     445        * web-platform-tests/dom/nodes/getElementsByClassName-05.htm:
     446        * web-platform-tests/dom/nodes/getElementsByClassName-06.htm:
     447        * web-platform-tests/dom/nodes/getElementsByClassName-07.htm:
     448        * web-platform-tests/dom/nodes/getElementsByClassName-08.htm:
     449        * web-platform-tests/dom/nodes/getElementsByClassName-09.htm:
     450        * web-platform-tests/dom/nodes/getElementsByClassName-10.xml:
     451        * web-platform-tests/dom/nodes/getElementsByClassName-11.xml:
     452        * web-platform-tests/dom/nodes/getElementsByClassName-12.htm:
     453        * web-platform-tests/dom/nodes/getElementsByClassName-13.htm:
     454        * web-platform-tests/dom/nodes/getElementsByClassName-14.htm:
     455        * web-platform-tests/dom/nodes/getElementsByClassName-15.htm:
     456        * web-platform-tests/dom/nodes/getElementsByClassName-16.htm:
     457        * web-platform-tests/dom/nodes/getElementsByClassName-17.htm:
     458        * web-platform-tests/dom/nodes/getElementsByClassName-18.htm:
     459        * web-platform-tests/dom/nodes/getElementsByClassName-19.htm:
     460        * web-platform-tests/dom/nodes/getElementsByClassName-20.htm:
     461        * web-platform-tests/dom/nodes/getElementsByClassName-21.htm:
     462        * web-platform-tests/dom/nodes/getElementsByClassName-22.htm:
     463        * web-platform-tests/dom/nodes/getElementsByClassName-23.htm:
     464        * web-platform-tests/dom/nodes/getElementsByClassName-24.htm:
     465        * web-platform-tests/dom/nodes/getElementsByClassName-25.htm:
     466        * web-platform-tests/dom/nodes/getElementsByClassName-26.htm:
     467        * web-platform-tests/dom/nodes/getElementsByClassName-27.htm:
     468        * web-platform-tests/dom/nodes/getElementsByClassName-28.htm:
     469        * web-platform-tests/dom/nodes/getElementsByClassName-29.htm:
     470        * web-platform-tests/dom/nodes/getElementsByClassName-30.htm:
     471        * web-platform-tests/dom/nodes/getElementsByClassName-31.htm:
     472        * web-platform-tests/dom/nodes/insert-adjacent.html:
     473        * web-platform-tests/dom/nodes/mutationobservers.js:
     474        * web-platform-tests/dom/nodes/prepend-on-Document.html:
     475        * web-platform-tests/dom/nodes/remove-unscopable.html:
     476        * web-platform-tests/dom/nodes/rootNode.html:
     477        * web-platform-tests/dom/nodes/selectors.js:
     478        * web-platform-tests/dom/nodes/w3c-import.log:
     479        * web-platform-tests/dom/ranges/Range-attributes.html:
     480        * web-platform-tests/dom/ranges/Range-cloneContents.html:
     481        * web-platform-tests/dom/ranges/Range-cloneRange.html:
     482        * web-platform-tests/dom/ranges/Range-collapse.html:
     483        * web-platform-tests/dom/ranges/Range-commonAncestorContainer-2.html:
     484        * web-platform-tests/dom/ranges/Range-commonAncestorContainer.html:
     485        * web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html:
     486        * web-platform-tests/dom/ranges/Range-comparePoint-2.html:
     487        * web-platform-tests/dom/ranges/Range-comparePoint.html:
     488        * web-platform-tests/dom/ranges/Range-constructor.html:
     489        * web-platform-tests/dom/ranges/Range-deleteContents.html:
     490        * web-platform-tests/dom/ranges/Range-detach.html:
     491        * web-platform-tests/dom/ranges/Range-extractContents.html:
     492        * web-platform-tests/dom/ranges/Range-insertNode.html:
     493        * web-platform-tests/dom/ranges/Range-intersectsNode-binding.html:
     494        * web-platform-tests/dom/ranges/Range-intersectsNode.html:
     495        * web-platform-tests/dom/ranges/Range-isPointInRange.html:
     496        * web-platform-tests/dom/ranges/Range-mutations-appendChild.html:
     497        * web-platform-tests/dom/ranges/Range-mutations-appendData.html:
     498        * web-platform-tests/dom/ranges/Range-mutations-dataChange.html:
     499        * web-platform-tests/dom/ranges/Range-mutations-deleteData.html:
     500        * web-platform-tests/dom/ranges/Range-mutations-insertBefore.html:
     501        * web-platform-tests/dom/ranges/Range-mutations-insertData.html:
     502        * web-platform-tests/dom/ranges/Range-mutations-removeChild.html:
     503        * web-platform-tests/dom/ranges/Range-mutations-replaceChild.html:
     504        * web-platform-tests/dom/ranges/Range-mutations-replaceData.html:
     505        * web-platform-tests/dom/ranges/Range-mutations-splitText.html:
     506        * web-platform-tests/dom/ranges/Range-selectNode.html:
     507        * web-platform-tests/dom/ranges/Range-set.html:
     508        * web-platform-tests/dom/ranges/Range-stringifier.html:
     509        * web-platform-tests/dom/ranges/Range-surroundContents.html:
     510        * web-platform-tests/dom/traversal/NodeFilter-constants.html:
     511        * web-platform-tests/dom/traversal/NodeIterator-removal.html:
     512        * web-platform-tests/dom/traversal/NodeIterator.html:
     513        * web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
     514        * web-platform-tests/dom/traversal/TreeWalker-basic.html:
     515        * web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
     516        * web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
     517        * web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
     518        * web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
     519        * web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
     520        * web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
     521        * web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html:
     522        * web-platform-tests/dom/traversal/TreeWalker.html:
     523        * web-platform-tests/domparsing/DOMParser-parseFromString-xml-internal-subset.html: Added.
     524        * web-platform-tests/domparsing/w3c-import.log:
     525        * web-platform-tests/encrypted-media/resources/drm-retrieve-persistent-license.html:
     526        * web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js:
     527        (runTest):
     528        * web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js:
     529        (runTest):
     530        * web-platform-tests/fetch/api/basic/block-mime-as-script.html: Added.
     531        * web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
     532        * web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
     533        * web-platform-tests/fetch/api/basic/w3c-import.log:
     534        * web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt:
     535        * web-platform-tests/fetch/api/redirect/redirect-location.js:
     536        (redirectLocation):
     537        * web-platform-tests/fetch/api/request/request-consume-empty-expected.txt:
     538        * web-platform-tests/fetch/api/request/request-consume-empty.html:
     539        * web-platform-tests/fetch/api/request/request-error-expected.txt:
     540        * web-platform-tests/fetch/api/request/request-error.html:
     541        * web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
     542        * web-platform-tests/fetch/api/request/request-init-001.sub.html:
     543        * web-platform-tests/fetch/api/resources/script-with-header.py: Added.
     544        (main):
     545        * web-platform-tests/fetch/api/resources/w3c-import.log:
     546        * web-platform-tests/fetch/api/response/response-consume-empty-expected.txt:
     547        * web-platform-tests/fetch/api/response/response-consume-empty.html:
     548        * web-platform-tests/fonts/CanvasTest.sfd: Removed.
     549        * web-platform-tests/fonts/w3c-import.log:
     550        * web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html:
     551        * web-platform-tests/html/browsers/history/the-location-interface/per-global.window.js: Added.
     552        * web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
     553        * web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html: Added.
     554        * web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_iframe.html: Added.
     555        * web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/w3c-import.log:
     556        * web-platform-tests/html/browsers/the-window-object/historical.window.js: Added.
     557        (test):
     558        * web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt:
     559        * web-platform-tests/html/browsers/the-window-object/security-window/window-security.html:
     560        * web-platform-tests/html/browsers/the-window-object/w3c-import.log:
     561        * web-platform-tests/html/browsers/the-window-object/window-properties-expected.txt:
     562        * web-platform-tests/html/browsers/the-window-object/window-properties.html:
     563        * web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
     564        * web-platform-tests/html/browsers/windows/noreferrer-window-name.html:
     565        * web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-07.html: Added.
     566        * web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-08.html: Added.
     567        * web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log:
     568        * web-platform-tests/html/dom/elements-metadata.js:
     569        * web-platform-tests/html/dom/interfaces.html:
     570        * web-platform-tests/html/dom/reflection-metadata-expected.txt:
     571        * web-platform-tests/html/dom/resources/interfaces.idl: Removed.
     572        * web-platform-tests/html/dom/resources/untested-interfaces.idl: Removed.
     573        * web-platform-tests/html/dom/resources/w3c-import.log:
     574        * web-platform-tests/html/dom/self-origin.sub.html:
     575        * web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css: Added.
     576        (p):
     577        * web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css: Added.
     578        (p):
     579        * web-platform-tests/html/semantics/document-metadata/the-link-element/resources/w3c-import.log:
     580        * web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-expected.html: Added.
     581        * web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html: Added.
     582        * web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:
     583        * web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html: Added.
     584        * web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
     585        * web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js:
     586        (get_test_results.):
     587        (get_test_results):
     588        * web-platform-tests/html/semantics/embedded-content/the-img-element/delay-load-event.html: Added.
     589        * web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url-expected.html: Added.
     590        * web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url.html: Added.
     591        * web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
     592        * web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html: Added.
     593        * web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table.html: Added.
     594        * web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html: Added.
     595        * web-platform-tests/html/semantics/forms/form-control-infrastructure/w3c-import.log:
     596        * web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-2.html: Added.
     597        * web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log:
     598        * web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt:
     599        * web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html:
     600        * web-platform-tests/html/semantics/forms/the-button-element/button-click-submits.html: Added.
     601        * web-platform-tests/html/semantics/forms/the-button-element/button-type.html: Added.
     602        * web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
     603        * web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection-with-base-url.html: Added.
     604        * web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection.html: Added.
     605        * web-platform-tests/html/semantics/forms/the-form-element/form-action-submission-with-base-url.html: Added.
     606        * web-platform-tests/html/semantics/forms/the-form-element/form-action-submission.html: Added.
     607        * web-platform-tests/html/semantics/forms/the-form-element/form-action-url-expected.txt: Removed.
     608        * web-platform-tests/html/semantics/forms/the-form-element/form-action-url.html: Removed.
     609        * web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
     610        * web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html:
     611        * web-platform-tests/html/semantics/forms/the-form-element/resources/form-action-url-iframe.html: Removed.
     612        * web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action-with-base.html: Added.
     613        * web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action.html: Added.
     614        * web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action-and-base.sub.html: Added.
     615        * web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action.sub.html: Added.
     616        * web-platform-tests/html/semantics/forms/the-form-element/resources/target/form-action-url-target.html:
     617        * web-platform-tests/html/semantics/forms/the-form-element/resources/w3c-import.log:
     618        * web-platform-tests/html/semantics/forms/the-form-element/w3c-import.log:
     619        * web-platform-tests/html/semantics/forms/the-input-element/checkbox-click-events.html: Added.
     620        * web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
     621        * web-platform-tests/html/semantics/forms/the-input-element/radio-input-cancel.html: Added.
     622        * web-platform-tests/html/semantics/forms/the-input-element/radio.html:
     623        * web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
     624        * web-platform-tests/html/semantics/forms/the-label-element/proxy-click-to-associated-element.html: Added.
     625        * web-platform-tests/html/semantics/forms/the-label-element/w3c-import.log:
     626        * web-platform-tests/html/semantics/forms/the-select-element/select-multiple.html: Added.
     627        * web-platform-tests/html/semantics/forms/the-select-element/select-selectedOptions.html: Added.
     628        * web-platform-tests/html/semantics/forms/the-select-element/w3c-import.log:
     629        * web-platform-tests/html/semantics/forms/the-textarea-element/value-defaultValue-textContent.html: Added.
     630        * web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
     631        * web-platform-tests/html/semantics/interactive-elements/the-menu-element/menuitem-label.html: Added.
     632        * web-platform-tests/html/semantics/interactive-elements/the-menu-element/w3c-import.log:
     633        * web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html:
     634        * web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-getter-01.html: Added.
     635        * web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-setter-01.html: Added.
     636        * web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log:
     637        * web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
     638        * web-platform-tests/html/syntax/serializing-html-fragments/serializing.html:
     639        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log:
     640        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm: Added.
     641        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm: Added.
     642        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm: Added.
     643        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm: Added.
     644        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm: Added.
     645        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm: Added.
     646        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm: Added.
     647        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm: Added.
     648        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm: Added.
     649        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm: Added.
     650        * web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm:
     651        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-dedicatedworker.html: Added.
     652        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html: Added.
     653        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html: Added.
     654        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-window.html: Added.
     655        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/w3c-import.log: Added.
     656        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/worker-that-requires-failure.js: Added.
     657        (test):
     658        * web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/worker-that-requires-success.js: Added.
     659        (test):
     660        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html: Removed.
     661        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js: Removed.
     662        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.html: Added.
     663        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js.
     664        (async_test):
     665        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.worker.html: Added.
     666        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/w3c-import.log:
     667        * web-platform-tests/images/apng.png: Added.
     668        * web-platform-tests/images/w3c-import.log:
     669        * web-platform-tests/lint:
     670        * web-platform-tests/lint.whitelist:
     671        * web-platform-tests/media/CanvasTest.ttf: Removed.
     672        * web-platform-tests/media/OWNERS:
     673        * web-platform-tests/media/w3c-import.log:
     674        * web-platform-tests/notifications/shownotification-resolve-manual.https.html: Added.
     675        * web-platform-tests/notifications/w3c-import.log:
     676        * web-platform-tests/resource-timing/resource-timing.js:
     677        (assertResourceEntryInvariants):
     678        * web-platform-tests/resource-timing/resource_TAO_match_origin.htm: Added.
     679        * web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm: Added.
     680        * web-platform-tests/resource-timing/resource_TAO_multi.htm: Added.
     681        * web-platform-tests/resource-timing/resource_TAO_null.htm: Added.
     682        * web-platform-tests/resource-timing/resource_TAO_origin.htm: Added.
     683        * web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm: Added.
     684        * web-platform-tests/resource-timing/resource_TAO_space.htm: Added.
     685        * web-platform-tests/resource-timing/resource_TAO_wildcard.htm: Added.
     686        * web-platform-tests/resource-timing/resource_TAO_zero.htm: Added.
     687        * web-platform-tests/resource-timing/resources/TAOResponse.py: Added.
     688        (main):
     689        * web-platform-tests/resource-timing/resources/iframe_TAO_match_origin.html: Added.
     690        * web-platform-tests/resource-timing/resources/iframe_TAO_match_wildcard.html: Added.
     691        * web-platform-tests/resource-timing/resources/iframe_TAO_multi.html: Added.
     692        * web-platform-tests/resource-timing/resources/iframe_TAO_null.html: Added.
     693        * web-platform-tests/resource-timing/resources/iframe_TAO_origin.html: Added.
     694        * web-platform-tests/resource-timing/resources/iframe_TAO_origin_uppercase.html: Added.
     695        * web-platform-tests/resource-timing/resources/iframe_TAO_space.html: Added.
     696        * web-platform-tests/resource-timing/resources/iframe_TAO_wildcard.html: Added.
     697        * web-platform-tests/resource-timing/resources/iframe_TAO_zero.html: Added.
     698        * web-platform-tests/resource-timing/resources/w3c-import.log:
     699        * web-platform-tests/resource-timing/w3c-import.log:
     700        * web-platform-tests/resources/examples/apisample18.html: Added.
     701        * web-platform-tests/resources/examples/apisample19.html: Added.
     702        * web-platform-tests/resources/examples/w3c-import.log:
     703        * web-platform-tests/resources/idlharness.js:
     704        (IdlArray.prototype.assert_type_is):
     705        (IdlInterface.prototype.test_self):
     706        * web-platform-tests/resources/readme.md:
     707        * web-platform-tests/resources/w3c-import.log:
     708        * web-platform-tests/resources/webidl2/lib/w3c-import.log:
     709        * web-platform-tests/resources/webidl2/test/invalid/idl/record-key.widl: Added.
     710        * web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log:
     711        * web-platform-tests/resources/webidl2/test/invalid/json/record-key.json: Added.
     712        * web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log:
     713        * web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Removed.
     714        * web-platform-tests/resources/webidl2/test/syntax/idl/namespace.widl: Added.
     715        * web-platform-tests/resources/webidl2/test/syntax/idl/record.widl: Added.
     716        * web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Removed.
     717        * web-platform-tests/resources/webidl2/test/syntax/idl/typedef-union.idl: Added.
     718        * web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log:
     719        * web-platform-tests/resources/webidl2/test/syntax/json/map.json: Removed.
     720        * web-platform-tests/resources/webidl2/test/syntax/json/namespace.json: Added.
     721        * web-platform-tests/resources/webidl2/test/syntax/json/record.json: Added.
     722        * web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Removed.
     723        * web-platform-tests/resources/webidl2/test/syntax/json/typedef-union.json: Added.
     724        * web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log:
     725        * web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log:
     726        * web-platform-tests/resources/webidl2/test/w3c-import.log:
     727        * web-platform-tests/resources/webidl2/test/web/w3c-import.log:
     728        * web-platform-tests/resources/webidl2/w3c-import.log:
     729        * web-platform-tests/shadow-dom/slots-fallback-in-document.html: Added.
     730        * web-platform-tests/shadow-dom/w3c-import.log:
     731        * web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
     732        * web-platform-tests/streams/piping/flow-control-expected.txt:
     733        * web-platform-tests/streams/piping/flow-control.js:
     734        (StepTracker):
     735        (StepTracker.prototype.waitThenAdvance):
     736        (promise_test):
     737        * web-platform-tests/streams/piping/general-expected.txt:
     738        * web-platform-tests/streams/piping/pipe-through-expected.txt:
     739        * web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
     740        * web-platform-tests/streams/piping/pipe-through.js:
     741        (test):
     742        * web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
     743        * web-platform-tests/streams/readable-byte-streams/general.js:
     744        (promise_test):
     745        * web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker-expected.txt:
     746        * web-platform-tests/streams/readable-streams/floating-point-total-queue-size.js:
     747        * web-platform-tests/streams/resources/recording-streams.js:
     748        (self.recordingWritableStream):
     749        * web-platform-tests/tools/html5lib/html5lib/serializer/w3c-import.log:
     750        * web-platform-tests/tools/html5lib/html5lib/treebuilders/w3c-import.log:
     751        * web-platform-tests/tools/html5lib/html5lib/treewalkers/w3c-import.log:
     752        * web-platform-tests/tools/html5lib/html5lib/trie/w3c-import.log:
     753        * web-platform-tests/tools/html5lib/html5lib/w3c-import.log:
     754        * web-platform-tests/tools/manifest/w3c-import.log:
     755        * web-platform-tests/tools/pytest/.github/w3c-import.log:
     756        * web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/w3c-import.log:
     757        * web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/w3c-import.log:
     758        * web-platform-tests/tools/serve/w3c-import.log:
     759        * web-platform-tests/tools/six/w3c-import.log:
     760        * web-platform-tests/tools/sslutils/w3c-import.log:
     761        * web-platform-tests/tools/w3c-import.log:
     762        * web-platform-tests/tools/webdriver/webdriver/client.py:
     763        (ActionSequence.pause):
     764        (ActionSequence.pointer_up):
     765        (ActionSequence.pointer_down):
     766        (ActionSequence.click):
     767        * web-platform-tests/tools/webdriver/webdriver/transport.py:
     768        (Response.from_http_response):
     769        * web-platform-tests/tools/wptrunner/requirements_firefox.txt:
     770        * web-platform-tests/tools/wptrunner/wptrunner/browsers/base.py:
     771        (Browser.settings):
     772        (Browser.start):
     773        (NullBrowser.start):
     774        * web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py:
     775        (browser_kwargs):
     776        (ChromeBrowser.start):
     777        * web-platform-tests/tools/wptrunner/wptrunner/browsers/edge.py:
     778        (EdgeBrowser.start):
     779        * web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py:
     780        (get_timeout_multiplier):
     781        (browser_kwargs):
     782        (executor_kwargs):
     783        (FirefoxBrowser.__init__):
     784        (FirefoxBrowser):
     785        (FirefoxBrowser.settings):
     786        (FirefoxBrowser.start):
     787        (FirefoxBrowser.stop):
     788        (FirefoxBrowser.process_leaks):
     789        (FirefoxBrowser.cleanup):
     790        * web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce.py:
     791        (browser_kwargs):
     792        * web-platform-tests/tools/wptrunner/wptrunner/browsers/servo.py:
     793        (browser_kwargs):
     794        * web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py:
     795        (browser_kwargs):
     796        (ServoWebDriverBrowser.start):
     797        * web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py:
     798        (MarionetteProtocol.__init__):
     799        (MarionetteProtocol.setup):
     800        (MarionetteTestharnessExecutor.__init__):
     801        * web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py:
     802        (ExpectedManifest.leaks):
     803        (ExpectedManifest):
     804        (DirectoryManifest.leaks):
     805        (DirectoryManifest):
     806        (TestNode.leaks):
     807        (TestNode):
     808        * web-platform-tests/tools/wptrunner/wptrunner/testloader.py:
     809        (EqualTimeChunker._group_by_directory):
     810        (PathGroupedSource.get_queue):
     811        * web-platform-tests/tools/wptrunner/wptrunner/testrunner.py:
     812        (BrowserManager.__init__):
     813        (BrowserManager.update_settings):
     814        (BrowserManager.init):
     815        (TestRunnerManager.init):
     816        (TestRunnerManager.get_next_test):
     817        (TestRunnerManager.run_test):
     818        * web-platform-tests/tools/wptrunner/wptrunner/tests/test_chunker.py:
     819        (MockTest):
     820        * web-platform-tests/tools/wptrunner/wptrunner/update/sync.py:
     821        (copy_wpt_tree):
     822        (add_license):
     823        (CopyWorkTree.create):
     824        * web-platform-tests/tools/wptrunner/wptrunner/update/tree.py:
     825        (GitTree.paths):
     826        * web-platform-tests/tools/wptrunner/wptrunner/update/update.py:
     827        (SyncFromUpstream.create):
     828        * web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py:
     829        (create_parser_update):
     830        * web-platform-tests/tools/wptrunner/wptrunner/wptrunner.py:
     831        (run_tests):
     832        * web-platform-tests/tools/wptrunner/wptrunner/wpttest.py:
     833        (Test):
     834        (Test.__init__):
     835        (Test.from_manifest):
     836        (Test.leaks):
     837        (ReftestTest.__init__):
     838        (ReftestTest.from_manifest):
     839        (WdspecTest):
     840        * web-platform-tests/tools/wptserve/wptserve/w3c-import.log:
     841        * web-platform-tests/user-timing/measure.html:
     842        * web-platform-tests/user-timing/measure_navigation_timing.html:
     843        * web-platform-tests/user-timing/resources/webperftestharness.js:
     844        * web-platform-tests/user-timing/test_user_timing_clear_marks-expected.txt:
     845        * web-platform-tests/user-timing/test_user_timing_clear_measures-expected.txt:
     846        * web-platform-tests/user-timing/test_user_timing_entry_type-expected.txt:
     847        * web-platform-tests/user-timing/test_user_timing_exists-expected.txt:
     848        * web-platform-tests/user-timing/test_user_timing_mark-expected.txt:
     849        * web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_with_timing_attributes-expected.txt:
     850        * web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_without_parameter-expected.txt:
     851        * web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
     852        * web-platform-tests/user-timing/test_user_timing_mark_with_name_of_navigation_timing_optional_attribute-expected.txt:
     853        * web-platform-tests/user-timing/test_user_timing_measure-expected.txt:
     854        * web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
     855        * web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
     856        * web-platform-tests/w3c-import.log:
     857        * web-platform-tests/webrtc/OWNERS:
     858        * web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize-expected.txt:
     859        * web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html:
     860        * web-platform-tests/webrtc/RTCIceCandidate-constructor.html: Added.
     861        * web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html: Added.
     862        * web-platform-tests/webrtc/getstats-expected.txt:
     863        * web-platform-tests/webrtc/getstats.html:
     864        * web-platform-tests/webrtc/w3c-import.log:
     865        * web-platform-tests/wptrun: Added.
     866
    18672017-05-19  Chris Dumez  <cdumez@apple.com>
    2868
  • trunk/LayoutTests/imported/w3c/resources/TestRepositories

    r215515 r217225  
    33        "name": "web-platform-tests",
    44        "url": "https://github.com/w3c/web-platform-tests.git",
    5         "revision": "23cd07d4685d81024b7440e042f8bbdb33e7ddec",
     5        "revision": "8df7c9c215678328212f232ce0b5270c505a8563",
    66        "paths_to_skip": [
    77            "conformance-checkers",
    88            "docs",
    9             "old-tests"
     9            "old-tests",
     10            "resources/testharness.css",
     11            "resources/testharnessreport.js"
    1012        ],
    1113        "paths_to_import": [
    1214            "common",
     15            "config.default.json",
    1316            "fonts",
    1417            "images",
    1518            "resources",
    16             "config.default.json",
     19            "tools",
    1720            "serve.py"
    1821        ],
  • trunk/LayoutTests/imported/w3c/resources/import-expectations.json

    r217125 r217225  
    3636    "web-platform-tests/annotation-protocol": "skip",
    3737    "web-platform-tests/annotation-vocab": "skip",
     38    "web-platform-tests/apng": "skip",
    3839    "web-platform-tests/app-uri": "skip",
    3940    "web-platform-tests/assumptions": "skip",
     
    5051    "web-platform-tests/cookies": "skip",
    5152    "web-platform-tests/cors": "import",
     53    "web-platform-tests/credential-management": "skip",
    5254    "web-platform-tests/css": "skip",
     55    "web-platform-tests/css-font-loading": "skip",
     56    "web-platform-tests/css-paint-api": "skip",
     57    "web-platform-tests/css-timing": "skip",
    5358    "web-platform-tests/css-typed-om": "skip",
    5459    "web-platform-tests/css-values": "skip",
     
    5863    "web-platform-tests/css/selectors4": "import",
    5964    "web-platform-tests/cssom": "import",
     65    "web-platform-tests/cssom/MediaList.xhtml": "skip",
    6066    "web-platform-tests/cssom-view": "import",
    6167    "web-platform-tests/custom-elements": "import",
     
    213219    "web-platform-tests/innerText": "import",
    214220    "web-platform-tests/input-events": "skip",
     221    "web-platform-tests/interfaces": "skip",
    215222    "web-platform-tests/js": "skip",
     223    "web-platform-tests/keyboard-lock": "skip",
    216224    "web-platform-tests/longtask-timing": "skip",
    217225    "web-platform-tests/magnetometer": "skip",
    218226    "web-platform-tests/mathml": "skip",
    219227    "web-platform-tests/media-capabilities": "skip",
     228    "web-platform-tests/mediacapture-image": "skip",
    220229    "web-platform-tests/mediacapture-record": "skip",
    221230    "web-platform-tests/mediacapture-streams": "skip",
     
    228237    "web-platform-tests/old-tests": "skip",
    229238    "web-platform-tests/orientation-event": "skip",
     239    "web-platform-tests/orientation-sensor": "skip",
    230240    "web-platform-tests/page-visibility": "skip",
    231241    "web-platform-tests/payment-request": "skip",
     
    243253    "web-platform-tests/screen-orientation": "skip",
    244254    "web-platform-tests/secure-contexts": "skip",
     255    "web-platform-tests/secure_context": "skip",
    245256    "web-platform-tests/selection": "skip",
    246257    "web-platform-tests/selectors": "skip",
    247258    "web-platform-tests/selectors-api": "skip",
     259    "web-platform-tests/server-timing": "skip",
    248260    "web-platform-tests/service-workers": "skip",
    249261    "web-platform-tests/shadow-dom": "import",
     
    266278    "web-platform-tests/wai-aria": "skip",
    267279    "web-platform-tests/web-animations": "skip",
     280    "web-platform-tests/web-nfc": "skip",
    268281    "web-platform-tests/webaudio": "skip",
    269282    "web-platform-tests/webauthn": "skip",
     
    277290    "web-platform-tests/webvr": "skip",
    278291    "web-platform-tests/webvtt": "skip",
    279     "web-platform-tests/workers": "skip"
     292    "web-platform-tests/workers": "skip",
     293    "web-platform-tests/x-frame-options": "skip"
    280294}
  • trunk/LayoutTests/imported/w3c/resources/resource-files.json

    r216975 r217225  
    160160        "web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html",
    161161        "web-platform-tests/html/browsers/origin/cross-origin-objects/win-documentdomain.sub.html",
     162        "web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_iframe.html",
    162163        "web-platform-tests/html/browsers/sandboxing/inner-iframe.html",
    163164        "web-platform-tests/html/browsers/the-window-object/accessing-other-browsing-contexts/test1.html",
     
    280281        "web-platform-tests/html/syntax/parsing/foreign_content_011.html",
    281282        "web-platform-tests/html/syntax/parsing/foreign_content_013.html",
     283        "web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm",
    282284        "web-platform-tests/html/webappapis/scripting/events/onerroreventhandler-frame.html",
    283285        "web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-iframe.html",
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idb_webworkers.htm

    r206999 r217225  
    99    var db, count = 0,
    1010      t = async_test();
     11      t.add_cleanup(function() { indexedDB.deleteDatabase('webworker101'); });
    1112
    1213    t.step(function() {
     
    2829        worker.postMessage(1);
    2930    })
    30 
    3131</script>
    32 
    33 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm

    r206999 r217225  
    88<script>
    99
    10     var db, open;
     10function upgrade_func(t, db, tx) {
     11  var objStore = db.createObjectStore("test");
     12  objStore.createIndex("index", "");
    1113
    12     setup(function() {
    13         open = indexedDB.open('testdb-' + new Date().getTime());
    14         open.onupgradeneeded = function(e) {
    15             db = e.target.result;
    16             var objStore = db.createObjectStore("test");
    17             objStore.createIndex("index", "");
     14  objStore.add("data",  1);
     15  objStore.add("data2", 2);
     16}
    1817
    19             objStore.add("data",  1);
    20             objStore.add("data2", 2);
    21         };
    22     },
    23     { explicit_done: true });
     18indexeddb_test(
     19  upgrade_func,
     20  function(t, db) {
     21    var count = 0;
     22    var rq = db.transaction("test").objectStore("test").openCursor();
    2423
     24    rq.onsuccess = t.step_func(function(e) {
     25      if (!e.target.result) {
     26        assert_equals(count, 2, 'count');
     27        t.done();
     28        return;
     29      }
     30      var cursor = e.target.result;
    2531
    26     open.onsuccess = function() {
     32      switch(count) {
     33        case 0:
     34          assert_equals(cursor.value, "data")
     35          assert_equals(cursor.key, 1)
     36          cursor.advance(1)
     37          assert_equals(cursor.value, "data")
     38          assert_equals(cursor.key, 1)
     39          break
    2740
     41        case 1:
     42          assert_equals(cursor.value, "data2")
     43          assert_equals(cursor.key, 2)
     44          cursor.advance(1)
     45          assert_equals(cursor.value, "data2")
     46          assert_equals(cursor.key, 2)
     47          break
    2848
    29         async_test(document.title + " - advance").step(function(e) {
    30             var count = 0;
    31             var rq = db.transaction("test").objectStore("test").openCursor();
     49        default:
     50          assert_unreached("Unexpected count: " + count)
     51      }
    3252
    33             rq.onsuccess = this.step_func(function(e) {
    34                 if (!e.target.result) {
    35                     assert_equals(count, 2, 'count');
    36                     this.done();
    37                     return;
    38                 }
    39                 var cursor = e.target.result;
     53      count++;
     54    });
     55    rq.onerror = t.unreached_func("unexpected error")
     56  },
     57  document.title + " - advance"
     58);
    4059
    41                 switch(count) {
    42                     case 0:
    43                         assert_equals(cursor.value, "data")
    44                         assert_equals(cursor.key, 1)
    45                         cursor.advance(1)
    46                         assert_equals(cursor.value, "data")
    47                         assert_equals(cursor.key, 1)
    48                         break
     60indexeddb_test(
     61  upgrade_func,
     62  function(t, db) {
     63    var count = 0;
     64    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    4965
    50                     case 1:
    51                         assert_equals(cursor.value, "data2")
    52                         assert_equals(cursor.key, 2)
    53                         cursor.advance(1)
    54                         assert_equals(cursor.value, "data2")
    55                         assert_equals(cursor.key, 2)
    56                         break
     66    rq.onsuccess = t.step_func(function(e) {
     67      if (!e.target.result) {
     68        assert_equals(count, 2, 'count');
     69        t.done();
     70        return;
     71      }
     72      var cursor = e.target.result;
    5773
    58                     default:
    59                         assert_unreached("Unexpected count: " + count)
    60                 }
     74      switch(count) {
     75        case 0:
     76          assert_equals(cursor.value, "data")
     77          assert_equals(cursor.key,   "data")
     78          assert_equals(cursor.primaryKey, 1)
     79          cursor.continue("data2")
     80          assert_equals(cursor.value, "data")
     81          assert_equals(cursor.key,   "data")
     82          assert_equals(cursor.primaryKey, 1)
     83          break
    6184
    62                 count++;
    63             });
    64             rq.onerror = fail(this, "unexpected error")
    65         });
     85        case 1:
     86          assert_equals(cursor.value, "data2")
     87          assert_equals(cursor.key,   "data2")
     88          assert_equals(cursor.primaryKey, 2)
     89          cursor.continue()
     90          assert_equals(cursor.value, "data2")
     91          assert_equals(cursor.key,   "data2")
     92          assert_equals(cursor.primaryKey, 2)
     93          break
    6694
     95        default:
     96          assert_unreached("Unexpected count: " + count)
     97      }
    6798
    68         async_test(document.title + " - continue").step(function(e) {
    69             var count = 0;
    70             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     99      count++;
     100    });
     101    rq.onerror = t.unreached_func("unexpected error")
     102  },
     103  document.title + " - continue"
     104);
    71105
    72             rq.onsuccess = this.step_func(function(e) {
    73                 if (!e.target.result) {
    74                     assert_equals(count, 2, 'count');
    75                     this.done();
    76                     return;
    77                 }
    78                 var cursor = e.target.result;
     106indexeddb_test(
     107  upgrade_func,
     108  function(t, db) {
     109    var count = 0;
     110    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    79111
    80                 switch(count) {
    81                     case 0:
    82                         assert_equals(cursor.value, "data")
    83                         assert_equals(cursor.key,   "data")
    84                         assert_equals(cursor.primaryKey, 1)
    85                         cursor.continue("data2")
    86                         assert_equals(cursor.value, "data")
    87                         assert_equals(cursor.key,   "data")
    88                         assert_equals(cursor.primaryKey, 1)
    89                         break
     112    rq.onsuccess = t.step_func(function(e) {
     113      if (!e.target.result) {
     114        assert_equals(count, 2, 'count');
     115        t.done();
     116        return;
     117      }
     118      var cursor = e.target.result;
     119      cursor.advance(1)
    90120
    91                     case 1:
    92                         assert_equals(cursor.value, "data2")
    93                         assert_equals(cursor.key,   "data2")
    94                         assert_equals(cursor.primaryKey, 2)
    95                         cursor.continue()
    96                         assert_equals(cursor.value, "data2")
    97                         assert_equals(cursor.key,   "data2")
    98                         assert_equals(cursor.primaryKey, 2)
    99                         break
     121      switch(count) {
     122        case 0:
     123          assert_equals(cursor.value, "data")
     124          assert_equals(cursor.key,   "data")
     125          assert_equals(cursor.primaryKey, 1)
     126          break
    100127
    101                     default:
    102                         assert_unreached("Unexpected count: " + count)
    103                 }
     128        case 1:
     129          assert_equals(cursor.value, "data2")
     130          assert_equals(cursor.key,   "data2")
     131          assert_equals(cursor.primaryKey, 2)
     132          break
    104133
    105                 count++;
    106             });
    107             rq.onerror = fail(this, "unexpected error")
    108         });
     134        default:
     135          assert_unreached("Unexpected count: " + count)
     136      }
    109137
     138      count++;
     139    });
     140    rq.onerror = t.unreached_func("unexpected error")
     141  },
     142  document.title + " - fresh advance still async"
     143);
    110144
    111         async_test(document.title + " - fresh advance still async").step(function(e) {
    112             var count = 0;
    113             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     145indexeddb_test(
     146  upgrade_func,
     147  function(t, db) {
     148    var count = 0;
     149    var rq = db.transaction("test").objectStore("test").openCursor();
    114150
    115             rq.onsuccess = this.step_func(function(e) {
    116                 if (!e.target.result) {
    117                     assert_equals(count, 2, 'count');
    118                     this.done();
    119                     return;
    120                 }
    121                 var cursor = e.target.result;
    122                 cursor.advance(1)
     151    rq.onsuccess = t.step_func(function(e) {
     152      if (!e.target.result) {
     153        assert_equals(count, 2, 'count');
     154        t.done();
     155        return;
     156      }
     157      var cursor = e.target.result;
     158      cursor.continue()
    123159
    124                 switch(count) {
    125                     case 0:
    126                         assert_equals(cursor.value, "data")
    127                         assert_equals(cursor.key,   "data")
    128                         assert_equals(cursor.primaryKey, 1)
    129                         break
     160      switch(count) {
     161        case 0:
     162          assert_equals(cursor.value, "data")
     163          assert_equals(cursor.key, 1)
     164          break
    130165
    131                     case 1:
    132                         assert_equals(cursor.value, "data2")
    133                         assert_equals(cursor.key,   "data2")
    134                         assert_equals(cursor.primaryKey, 2)
    135                         break
     166        case 1:
     167          assert_equals(cursor.value, "data2")
     168          assert_equals(cursor.key, 2)
     169          break
    136170
    137                     default:
    138                         assert_unreached("Unexpected count: " + count)
    139                 }
     171        default:
     172          assert_unreached("Unexpected count: " + count)
     173      }
    140174
    141                 count++;
    142             });
    143             rq.onerror = fail(this, "unexpected error")
    144         });
    145 
    146 
    147         async_test(document.title + " - fresh continue still async").step(function(e) {
    148             var count = 0;
    149             var rq = db.transaction("test").objectStore("test").openCursor();
    150 
    151             rq.onsuccess = this.step_func(function(e) {
    152                 if (!e.target.result) {
    153                     assert_equals(count, 2, 'count');
    154                     this.done();
    155                     return;
    156                 }
    157                 var cursor = e.target.result;
    158                 cursor.continue()
    159 
    160                 switch(count) {
    161                     case 0:
    162                         assert_equals(cursor.value, "data")
    163                         assert_equals(cursor.key, 1)
    164                         break
    165 
    166                     case 1:
    167                         assert_equals(cursor.value, "data2")
    168                         assert_equals(cursor.key, 2)
    169                         break
    170 
    171                     default:
    172                         assert_unreached("Unexpected count: " + count)
    173                 }
    174 
    175                 count++;
    176             });
    177             rq.onerror = fail(this, "unexpected error")
    178         });
    179 
    180         // Stop blocking the testing system from hereon
    181         done();
    182     }
    183 
     175      count++;
     176    });
     177    rq.onerror = t.unreached_func("unexpected error")
     178  },
     179  document.title + " - fresh continue still async"
     180);
    184181</script>
    185 
    186 <div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm

    r206999 r217225  
    1414<script>
    1515
    16     var db, open;
     16function upgrade_func(t, db, tx) {
     17  var objStore = db.createObjectStore("test");
     18  objStore.createIndex("index", "");
    1719
    18     setup(function() {
    19         open = indexedDB.open('testdb-' + new Date().getTime());
    20         open.onupgradeneeded = function(e) {
    21             db = e.target.result;
    22             var objStore = db.createObjectStore("test");
    23             objStore.createIndex("index", "");
     20  objStore.add("data",  1);
     21  objStore.add("data2", 2);
     22}
    2423
    25             objStore.add("data",  1);
    26             objStore.add("data2", 2);
    27         };
    28     },
    29     { explicit_done: true });
     24indexeddb_test(
     25  upgrade_func,
     26  function(t, db) {
     27    var count = 0;
     28    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     29
     30    rq.onsuccess = t.step_func(function(e) {
     31      if (!e.target.result) {
     32        assert_equals(count, 2, 'count');
     33        t.done();
     34        return;
     35      }
     36      var cursor = e.target.result;
     37
     38      cursor.advance(1);
     39
     40      // Second try
     41      assert_throws('InvalidStateError',
     42                    function() { cursor.advance(1); }, 'second advance');
     43
     44      assert_throws('InvalidStateError',
     45                    function() { cursor.advance(3); }, 'third advance');
     46
     47      count++;
     48    });
     49    rq.onerror = t.unreached_func("unexpected error")
     50  },
     51  document.title + " - attempt to call advance twice"
     52);
     53
     54indexeddb_test(
     55  upgrade_func,
     56  function(t, db) {
     57    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     58
     59    rq.onsuccess = t.step_func(function(e) {
     60      var cursor = e.target.result;
     61
     62      assert_throws({ name: "TypeError" },
     63                    function() { cursor.advance(document); });
     64
     65      assert_throws({ name: "TypeError" },
     66                    function() { cursor.advance({}); });
     67
     68      assert_throws({ name: "TypeError" },
     69                    function() { cursor.advance([]); });
     70
     71      assert_throws({ name: "TypeError" },
     72                    function() { cursor.advance(""); });
     73
     74      assert_throws({ name: "TypeError" },
     75                    function() { cursor.advance("1 2"); });
     76
     77      t.done();
     78    });
     79    rq.onerror = t.unreached_func("unexpected error")
     80  },
     81  document.title + " - pass something other than number"
     82);
    3083
    3184
    32     open.onsuccess = function() {
     85indexeddb_test(
     86  upgrade_func,
     87  function(t, db) {
     88    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    3389
    34         async_test(document.title + " - attempt to call advance twice").step(function(e) {
    35             var count = 0;
    36             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     90    rq.onsuccess = t.step_func(function(e) {
     91      var cursor = e.target.result;
    3792
    38             rq.onsuccess = this.step_func(function(e) {
    39                 if (!e.target.result) {
    40                     assert_equals(count, 2, 'count');
    41                     this.done();
    42                     return;
    43                 }
    44                 var cursor = e.target.result;
     93      assert_throws({ name: "TypeError" },
     94                    function() { cursor.advance(null); });
    4595
    46                 cursor.advance(1);
     96      assert_throws({ name: "TypeError" },
     97                    function() { cursor.advance(undefined); });
    4798
    48                 // Second try
    49                 assert_throws('InvalidStateError',
    50                     function() { cursor.advance(1); }, 'second advance');
     99      var myvar = null;
     100      assert_throws({ name: "TypeError" },
     101                    function() { cursor.advance(myvar); });
    51102
    52                 assert_throws('InvalidStateError',
    53                     function() { cursor.advance(3); }, 'third advance');
    54 
    55                 count++;
    56             });
    57             rq.onerror = fail(this, "unexpected error")
    58         });
     103      t.done();
     104    });
     105    rq.onerror = t.unreached_func("unexpected error")
     106  },
     107  document.title + " - pass null/undefined"
     108);
    59109
    60110
    61         async_test(document.title + " - pass something other than number").step(function(e) {
    62             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     111indexeddb_test(
     112  upgrade_func,
     113  function(t, db) {
     114    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    63115
    64             rq.onsuccess = this.step_func(function(e) {
    65                 var cursor = e.target.result;
     116    rq.onsuccess = t.step_func(function(e) {
     117      var cursor = e.target.result;
    66118
    67                 assert_throws({ name: "TypeError" },
    68                     function() { cursor.advance(document); });
     119      assert_throws({ name: "TypeError" },
     120                    function() { cursor.advance(); });
    69121
    70                 assert_throws({ name: "TypeError" },
    71                     function() { cursor.advance({}); });
     122      t.done();
     123    });
     124    rq.onerror = t.unreached_func("unexpected error")
     125  },
     126  document.title + " - missing argument"
     127);
    72128
    73                 assert_throws({ name: "TypeError" },
    74                     function() { cursor.advance([]); });
     129indexeddb_test(
     130  upgrade_func,
     131  function(t, db) {
     132    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    75133
    76                 assert_throws({ name: "TypeError" },
    77                     function() { cursor.advance(""); });
     134    rq.onsuccess = t.step_func(function(e) {
     135      var cursor = e.target.result;
    78136
    79                 assert_throws({ name: "TypeError" },
    80                     function() { cursor.advance("1 2"); });
     137      assert_throws({ name: "TypeError" },
     138                    function() { cursor.advance(-1); });
    81139
    82                 this.done();
    83             });
    84             rq.onerror = fail(this, "unexpected error")
    85         });
     140      assert_throws({ name: "TypeError" },
     141                    function() { cursor.advance(NaN); });
    86142
     143      assert_throws({ name: "TypeError" },
     144                    function() { cursor.advance(0); });
    87145
    88         async_test(document.title + " - pass null/undefined").step(function(e) {
    89             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     146      assert_throws({ name: "TypeError" },
     147                    function() { cursor.advance(-0); });
    90148
    91             rq.onsuccess = this.step_func(function(e) {
    92                 var cursor = e.target.result;
     149      assert_throws({ name: "TypeError" },
     150                    function() { cursor.advance(Infinity); });
    93151
    94                 assert_throws({ name: "TypeError" },
    95                     function() { cursor.advance(null); });
     152      assert_throws({ name: "TypeError" },
     153                    function() { cursor.advance(-Infinity); });
    96154
    97                 assert_throws({ name: "TypeError" },
    98                     function() { cursor.advance(undefined); });
    99 
    100                 var myvar = null;
    101                 assert_throws({ name: "TypeError" },
     155      var myvar = -999999;
     156      assert_throws({ name: "TypeError" },
    102157                    function() { cursor.advance(myvar); });
    103158
    104                 this.done();
    105             });
    106             rq.onerror = fail(this, "unexpected error")
    107         });
     159      t.done();
     160    });
     161    rq.onerror = t.unreached_func("unexpected error")
     162  },
     163  document.title + " - pass negative numbers"
     164);
    108165
     166indexeddb_test(
     167  upgrade_func,
     168  function(t, db) {
     169    var count = 0;
     170    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    109171
    110         async_test(document.title + " - missing argument").step(function(e) {
    111             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     172    rq.onsuccess = t.step_func(function(e) {
     173      var cursor = e.target.result;
     174      if (!cursor)
     175        {
     176          assert_equals(count, 2, "count runs");
     177          t.done();
     178          return;
     179        }
    112180
    113             rq.onsuccess = this.step_func(function(e) {
    114                 var cursor = e.target.result;
    115 
    116                 assert_throws({ name: "TypeError" },
    117                     function() { cursor.advance(); });
    118 
    119                 this.done();
    120             });
    121             rq.onerror = fail(this, "unexpected error")
    122         });
    123 
    124 
    125         async_test(document.title + " - pass negative numbers").step(function(e) {
    126             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    127 
    128             rq.onsuccess = this.step_func(function(e) {
    129                 var cursor = e.target.result;
    130 
    131                 assert_throws({ name: "TypeError" },
    132                     function() { cursor.advance(-1); });
    133 
    134                 assert_throws({ name: "TypeError" },
    135                     function() { cursor.advance(NaN); });
    136 
    137                 assert_throws({ name: "TypeError" },
     181      assert_throws({ name: "TypeError" },
    138182                    function() { cursor.advance(0); });
    139183
    140                 assert_throws({ name: "TypeError" },
    141                     function() { cursor.advance(-0); });
    142 
    143                 assert_throws({ name: "TypeError" },
    144                     function() { cursor.advance(Infinity); });
    145 
    146                 assert_throws({ name: "TypeError" },
    147                     function() { cursor.advance(-Infinity); });
    148 
    149                 var myvar = -999999;
    150                 assert_throws({ name: "TypeError" },
    151                     function() { cursor.advance(myvar); });
    152 
    153                 this.done();
    154             });
    155             rq.onerror = fail(this, "unexpected error")
    156         });
    157 
    158 
    159         async_test(document.title + " - got value not set on exception").step(function(e) {
    160             var count = 0;
    161             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    162 
    163             rq.onsuccess = this.step_func(function(e) {
    164                 var cursor = e.target.result;
    165                 if (!cursor)
    166                 {
    167                     assert_equals(count, 2, "count runs");
    168                     this.done();
    169                     return;
    170                 }
    171 
    172                 assert_throws({ name: "TypeError" },
    173                     function() { cursor.advance(0); });
    174 
    175                 cursor.advance(1);
    176                 count++;
    177             });
    178             rq.onerror = fail(this, "unexpected error")
    179         });
    180 
    181 
    182         // Stop blocking the testing system from hereon
    183         done();
    184     }
     184      cursor.advance(1);
     185      count++;
     186    });
     187    rq.onerror = t.unreached_func("unexpected error")
     188  },
     189  document.title + " - got value not set on exception"
     190);
    185191
    186192</script>
    187 
    188 <div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-advance.htm

    r206999 r217225  
    88<script>
    99
    10     var db, open;
    11 
    12     setup(function() {
    13         open = indexedDB.open("testdb-" + new Date().getTime());
    14         open.onupgradeneeded = function(e) {
    15             db = e.target.result;
    16             var objStore = db.createObjectStore("test");
    17             objStore.createIndex("index", "");
    18 
    19             objStore.add("cupcake", 5);
    20             objStore.add("pancake", 3); // Yes, it is intended
    21             objStore.add("pie",     1);
    22             objStore.add("pie",     4);
    23             objStore.add("taco",    2);
    24         };
    25     },
    26     { explicit_done: true });
    27 
    28 
    29     open.onsuccess = function() {
    30 
    31         async_test(document.title + " - advances").step(function(e) {
    32             var count = 0;
    33             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    34 
    35             rq.onsuccess = this.step_func(function(e) {
    36                 if (!e.target.result) {
    37                     assert_equals(count, 3, "count");
    38                     this.done();
    39                     return;
    40                 }
    41                 var cursor = e.target.result;
    42 
    43                 switch(count) {
    44                     case 0:
    45                         assert_equals(cursor.value, "cupcake");
    46                         assert_equals(cursor.primaryKey, 5);
    47                         break;
    48 
    49                     case 1:
    50                         assert_equals(cursor.value, "pie");
    51                         assert_equals(cursor.primaryKey, 1);
    52                         break;
    53 
    54                     case 2:
    55                         assert_equals(cursor.value, "taco");
    56                         assert_equals(cursor.primaryKey, 2);
    57                         break;
    58 
    59                     default:
    60                         assert_unreached("Unexpected count: " + count);
    61                 }
    62 
    63                 count++;
    64                 cursor.advance(2);
    65             });
    66             rq.onerror = fail(this, "unexpected error")
    67         });
    68 
    69         async_test(document.title + " - advances backwards").step(function(e) {
    70             var count = 0;
    71             var rq = db.transaction("test").objectStore("test").index("index").openCursor(null, "prev");
    72 
    73             rq.onsuccess = this.step_func(function(e) {
    74                 if (!e.target.result) {
    75                     assert_equals(count, 3, "count");
    76                     this.done();
    77                     return;
    78                 }
    79                 var cursor = e.target.result;
    80 
    81                 switch(count) {
    82                     case 0:
    83                         assert_equals(cursor.value, "taco");
    84                         assert_equals(cursor.primaryKey, 2);
    85                         break;
    86 
    87                     case 1:
    88                         assert_equals(cursor.value, "pie");
    89                         assert_equals(cursor.primaryKey, 1);
    90                         break;
    91 
    92                     case 2:
    93                         assert_equals(cursor.value, "cupcake");
    94                         assert_equals(cursor.primaryKey, 5);
    95                         break;
    96 
    97                     default:
    98                         assert_unreached("Unexpected count: " + count);
    99                 }
    100 
    101                 count++;
    102                 cursor.advance(2);
    103             });
    104             rq.onerror = fail(this, "unexpected error")
    105         });
    106 
    107         async_test(document.title + " - skip far forward").step(function(e) {
    108             var count = 0;
    109             var rq = db.transaction("test").objectStore("test").index("index")
    110                        .openCursor();
    111 
    112             rq.onsuccess = this.step_func(function(e) {
    113                 if (!e.target.result) {
    114                     assert_equals(count, 1, "count");
    115                     this.done();
    116                     return;
    117                 }
    118                 var cursor = e.target.result;
    119 
    120                 switch(count) {
    121                     case 0:
    122                         assert_equals(cursor.value, "cupcake");
    123                         assert_equals(cursor.primaryKey, 5);
    124                         break;
    125 
    126                     default:
    127                         assert_unreached("Unexpected count: " + count);
    128                 }
    129 
    130                 count++;
    131                 cursor.advance(100000);
    132             });
    133             rq.onerror = fail(this, "unexpected error")
    134         });
    135 
    136 
    137         async_test(document.title + " - within range").step(function(e) {
    138             var count = 0;
    139             var rq = db.transaction("test").objectStore("test").index("index")
    140                        .openCursor(IDBKeyRange.lowerBound("cupcake", true));
    141 
    142             rq.onsuccess = this.step_func(function(e) {
    143                 if (!e.target.result) {
    144                     assert_equals(count, 2, "count");
    145                     this.done();
    146                     return;
    147                 }
    148                 var cursor = e.target.result;
    149 
    150                 switch(count) {
    151                     case 0:
    152                         assert_equals(cursor.value, "pancake");
    153                         assert_equals(cursor.primaryKey, 3);
    154                         break;
    155 
    156                     case 1:
    157                         assert_equals(cursor.value, "pie");
    158                         assert_equals(cursor.primaryKey, 4);
    159                         break;
    160 
    161                     default:
    162                         assert_unreached("Unexpected count: " + count);
    163                 }
    164 
    165                 count++;
    166                 cursor.advance(2);
    167             });
    168             rq.onerror = fail(this, "unexpected error")
    169         });
    170 
    171 
    172         async_test(document.title + " - within single key range").step(function(e) {
    173             var count = 0;
    174             var rq = db.transaction("test").objectStore("test").index("index")
    175                        .openCursor("pancake");
    176 
    177             rq.onsuccess = this.step_func(function(e) {
    178                 if (!e.target.result) {
    179                     assert_equals(count, 1, "count");
    180                     this.done();
    181                     return;
    182                 }
    183                 var cursor = e.target.result;
    184 
    185                 switch(count) {
    186                     case 0:
    187                         assert_equals(cursor.value, "pancake");
    188                         assert_equals(cursor.primaryKey, 3);
    189                         break;
    190 
    191                     default:
    192                         assert_unreached("Unexpected count: " + count);
    193                 }
    194 
    195                 count++;
    196                 cursor.advance(1);
    197             });
    198             rq.onerror = fail(this, "unexpected error")
    199         });
    200 
    201 
    202         async_test(document.title + " - within single key range, with several results").step(function(e) {
    203             var count = 0;
    204             var rq = db.transaction("test").objectStore("test").index("index")
    205                        .openCursor("pie");
    206 
    207             rq.onsuccess = this.step_func(function(e) {
    208                 if (!e.target.result) {
    209                     assert_equals(count, 2, "count");
    210                     this.done();
    211                     return;
    212                 }
    213                 var cursor = e.target.result;
    214 
    215                 switch(count) {
    216                     case 0:
    217                         assert_equals(cursor.value, "pie");
    218                         assert_equals(cursor.primaryKey, 1);
    219                         break;
    220 
    221                     case 1:
    222                         assert_equals(cursor.value, "pie");
    223                         assert_equals(cursor.primaryKey, 4);
    224                         break;
    225 
    226                     default:
    227                         assert_unreached("Unexpected count: " + count);
    228                 }
    229 
    230                 count++;
    231                 cursor.advance(1);
    232             });
    233             rq.onerror = fail(this, "unexpected error")
    234         });
    235 
    236 
    237         // Stop blocking the testing system from hereon
    238         done();
    239     }
     10function upgrade_func(t, db, tx) {
     11  var objStore = db.createObjectStore("test");
     12  objStore.createIndex("index", "");
     13
     14  objStore.add("cupcake", 5);
     15  objStore.add("pancake", 3); // Yes, it is intended
     16  objStore.add("pie",     1);
     17  objStore.add("pie",     4);
     18  objStore.add("taco",    2);
     19}
     20
     21indexeddb_test(
     22  upgrade_func,
     23  function(t, db) {
     24    var count = 0;
     25    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     26
     27    rq.onsuccess = t.step_func(function(e) {
     28      if (!e.target.result) {
     29        assert_equals(count, 3, "count");
     30        t.done();
     31        return;
     32      }
     33      var cursor = e.target.result;
     34
     35      switch(count) {
     36        case 0:
     37          assert_equals(cursor.value, "cupcake");
     38          assert_equals(cursor.primaryKey, 5);
     39          break;
     40
     41        case 1:
     42          assert_equals(cursor.value, "pie");
     43          assert_equals(cursor.primaryKey, 1);
     44          break;
     45
     46        case 2:
     47          assert_equals(cursor.value, "taco");
     48          assert_equals(cursor.primaryKey, 2);
     49          break;
     50
     51        default:
     52          assert_unreached("Unexpected count: " + count);
     53      }
     54
     55      count++;
     56      cursor.advance(2);
     57    });
     58    rq.onerror = t.unreached_func("unexpected error")
     59  },
     60  document.title + " - advances"
     61);
     62
     63indexeddb_test(
     64  upgrade_func,
     65  function(t, db) {
     66    var count = 0;
     67    var rq = db.transaction("test").objectStore("test").index("index").openCursor(null, "prev");
     68
     69    rq.onsuccess = t.step_func(function(e) {
     70      if (!e.target.result) {
     71        assert_equals(count, 3, "count");
     72        t.done();
     73        return;
     74      }
     75      var cursor = e.target.result;
     76
     77      switch(count) {
     78        case 0:
     79          assert_equals(cursor.value, "taco");
     80          assert_equals(cursor.primaryKey, 2);
     81          break;
     82
     83        case 1:
     84          assert_equals(cursor.value, "pie");
     85          assert_equals(cursor.primaryKey, 1);
     86          break;
     87
     88        case 2:
     89          assert_equals(cursor.value, "cupcake");
     90          assert_equals(cursor.primaryKey, 5);
     91          break;
     92
     93        default:
     94          assert_unreached("Unexpected count: " + count);
     95      }
     96
     97      count++;
     98      cursor.advance(2);
     99    });
     100    rq.onerror = t.unreached_func("unexpected error")
     101  },
     102  document.title + " - advances backwards"
     103);
     104
     105indexeddb_test(
     106  upgrade_func,
     107  function(t, db) {
     108    var count = 0;
     109    var rq = db.transaction("test").objectStore("test").index("index")
     110               .openCursor();
     111
     112    rq.onsuccess = t.step_func(function(e) {
     113      if (!e.target.result) {
     114        assert_equals(count, 1, "count");
     115        t.done();
     116        return;
     117      }
     118      var cursor = e.target.result;
     119
     120      switch(count) {
     121        case 0:
     122          assert_equals(cursor.value, "cupcake");
     123          assert_equals(cursor.primaryKey, 5);
     124          break;
     125
     126        default:
     127          assert_unreached("Unexpected count: " + count);
     128      }
     129
     130      count++;
     131      cursor.advance(100000);
     132    });
     133    rq.onerror = t.unreached_func("unexpected error")
     134  },
     135  document.title + " - skip far forward"
     136);
     137
     138indexeddb_test(
     139  upgrade_func,
     140  function(t, db) {
     141    var count = 0;
     142    var rq = db.transaction("test").objectStore("test").index("index")
     143               .openCursor(IDBKeyRange.lowerBound("cupcake", true));
     144
     145    rq.onsuccess = t.step_func(function(e) {
     146      if (!e.target.result) {
     147        assert_equals(count, 2, "count");
     148        t.done();
     149        return;
     150      }
     151      var cursor = e.target.result;
     152
     153      switch(count) {
     154        case 0:
     155          assert_equals(cursor.value, "pancake");
     156          assert_equals(cursor.primaryKey, 3);
     157          break;
     158
     159        case 1:
     160          assert_equals(cursor.value, "pie");
     161          assert_equals(cursor.primaryKey, 4);
     162          break;
     163
     164        default:
     165          assert_unreached("Unexpected count: " + count);
     166      }
     167
     168      count++;
     169      cursor.advance(2);
     170    });
     171    rq.onerror = t.unreached_func("unexpected error")
     172  },
     173  document.title + " - within range"
     174);
     175
     176indexeddb_test(
     177  upgrade_func,
     178  function(t, db) {
     179    var count = 0;
     180    var rq = db.transaction("test").objectStore("test").index("index")
     181               .openCursor("pancake");
     182
     183    rq.onsuccess = t.step_func(function(e) {
     184      if (!e.target.result) {
     185        assert_equals(count, 1, "count");
     186        t.done();
     187        return;
     188      }
     189      var cursor = e.target.result;
     190
     191      switch(count) {
     192        case 0:
     193          assert_equals(cursor.value, "pancake");
     194          assert_equals(cursor.primaryKey, 3);
     195          break;
     196
     197        default:
     198          assert_unreached("Unexpected count: " + count);
     199      }
     200
     201      count++;
     202      cursor.advance(1);
     203    });
     204    rq.onerror = t.unreached_func("unexpected error")
     205  },
     206  document.title + " - within single key range"
     207);
     208
     209indexeddb_test(
     210  upgrade_func,
     211  function(t, db) {
     212    var count = 0;
     213    var rq = db.transaction("test").objectStore("test").index("index")
     214               .openCursor("pie");
     215
     216    rq.onsuccess = t.step_func(function(e) {
     217      if (!e.target.result) {
     218        assert_equals(count, 2, "count");
     219        t.done();
     220        return;
     221      }
     222      var cursor = e.target.result;
     223
     224      switch(count) {
     225        case 0:
     226          assert_equals(cursor.value, "pie");
     227          assert_equals(cursor.primaryKey, 1);
     228          break;
     229
     230        case 1:
     231          assert_equals(cursor.value, "pie");
     232          assert_equals(cursor.primaryKey, 4);
     233          break;
     234
     235        default:
     236          assert_unreached("Unexpected count: " + count);
     237      }
     238
     239      count++;
     240      cursor.advance(1);
     241    });
     242    rq.onerror = t.unreached_func("unexpected error")
     243  },
     244  document.title + " - within single key range, with several results"
     245);
    240246
    241247</script>
    242 
    243 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-continue.htm

    r206999 r217225  
    1010<script>
    1111
    12     var db, open;
    13     var store = [ { value: "cupcake", key: 5 },
    14                   { value: "pancake", key: 3 },
    15                   { value: "pie",     key: 1 },
    16                   { value: "pie",     key: 4 },
    17                   { value: "taco",    key: 2 } ];
    18 
    19     setup(function() {
    20         open = indexedDB.open('testdb-' + new Date().getTime());
    21         open.onupgradeneeded = function(e) {
    22             var os, i;
    23             db = e.target.result;
    24             os = db.createObjectStore("test");
    25             os.createIndex("index", "");
    26 
    27             for (i = 0; i < store.length; i++)
    28                 os.add(store[i].value, store[i].key);
    29         };
    30     },
    31     { explicit_done: true });
    32 
    33 
    34     open.onsuccess = function() {
    35 
    36 
    37         async_test(document.title + " - continues").step(function(e) {
    38             var count = 0;
    39             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    40 
    41             rq.onsuccess = this.step_func(function(e) {
    42                 if (!e.target.result) {
    43                     assert_equals(count, 5, 'count');
    44                     this.done();
    45                     return;
    46                 }
    47                 var cursor = e.target.result;
    48 
    49                 assert_equals(cursor.value, store[count].value);
    50                 assert_equals(cursor.primaryKey, store[count].key);
    51 
    52                 cursor.continue();
    53 
    54                 count++;
    55             });
    56             rq.onerror = fail(this, "unexpected error")
    57         });
    58 
    59 
    60         async_test(document.title + " - with given key").step(function(e) {
    61             var count = 0;
    62             var rq = db.transaction("test").objectStore("test").index("index").openCursor();
    63 
    64             rq.onsuccess = this.step_func(function(e) {
    65                 if (!e.target.result) {
    66                     assert_equals(count, 3, 'count');
    67                     this.done();
    68                     return;
    69                 }
    70                 var cursor = e.target.result;
    71 
    72                 switch(count) {
    73                     case 0:
    74                         assert_equals(cursor.value, "cupcake");
    75                         assert_equals(cursor.primaryKey, 5);
    76                         cursor.continue("pie");
    77                         break;
    78 
    79                     case 1:
    80                         assert_equals(cursor.value, "pie");
    81                         assert_equals(cursor.primaryKey, 1);
    82                         cursor.continue("taco");
    83                         break;
    84 
    85                     case 2:
    86                         assert_equals(cursor.value, "taco");
    87                         assert_equals(cursor.primaryKey, 2);
    88                         cursor.continue();
    89                         break;
    90 
    91                     default:
    92                         assert_unreached("Unexpected count: " + count);
    93                 }
    94 
    95                 count++;
    96             });
    97             rq.onerror = fail(this, "unexpected error")
    98         });
    99 
    100 
    101         async_test(document.title + " - skip far forward").step(function(e) {
    102             var count = 0;
    103             var rq = db.transaction("test").objectStore("test").index("index")
    104                        .openCursor();
    105 
    106             rq.onsuccess = this.step_func(function(e) {
    107                 if (!e.target.result) {
    108                     assert_equals(count, 1, 'count');
    109                     this.done();
    110                     return;
    111                 }
    112                 var cursor = e.target.result;
    113 
    114                 switch(count) {
    115                     case 0:
    116                         assert_equals(cursor.value, "cupcake");
    117                         assert_equals(cursor.primaryKey, 5);
    118                         break;
    119 
    120                     default:
    121                         assert_unreached("Unexpected count: " + count);
    122                 }
    123 
    124                 count++;
    125                 cursor.continue([]); // Arrays are always bigger than strings
    126 
    127             });
    128             rq.onerror = fail(this, "unexpected error2")
    129         });
    130 
    131 
    132         async_test(document.title + " - within range").step(function(e) {
    133             var count = 0;
    134             var rq = db.transaction("test").objectStore("test").index("index")
    135                        .openCursor(IDBKeyRange.lowerBound("cupcake", true));
    136 
    137             rq.onsuccess = this.step_func(function(e) {
    138                 if (!e.target.result) {
    139                     assert_equals(count, 2, 'count');
    140                     this.done();
    141                     return;
    142                 }
    143                 var cursor = e.target.result;
    144 
    145                 switch(count) {
    146                     case 0:
    147                         assert_equals(cursor.value, "pancake");
    148                         assert_equals(cursor.primaryKey, 3);
    149                         cursor.continue("pie");
    150                         break;
    151 
    152                     case 1:
    153                         assert_equals(cursor.value, "pie");
    154                         assert_equals(cursor.primaryKey, 1);
    155                         cursor.continue("zzz");
    156                         break;
    157 
    158                     default:
    159                         assert_unreached("Unexpected count: " + count);
    160                 }
    161 
    162                 count++;
    163             });
    164             rq.onerror = fail(this, "unexpected error1")
    165         });
    166 
    167 
    168         async_test(document.title + " - within single key range").step(function(e) {
    169             var count = 0;
    170             var rq = db.transaction("test").objectStore("test").index("index")
    171                        .openCursor("pancake");
    172 
    173             rq.onsuccess = this.step_func(function(e) {
    174                 if (!e.target.result) {
    175                     assert_equals(count, 1, 'count');
    176                     this.done();
    177                     return;
    178                 }
    179                 var cursor = e.target.result;
    180 
    181                 switch(count) {
    182                     case 0:
    183                         assert_equals(cursor.value, "pancake");
    184                         assert_equals(cursor.primaryKey, 3);
    185                         cursor.continue("pie");
    186                         break;
    187 
    188                     default:
    189                         assert_unreached("Unexpected count: " + count);
    190                 }
    191 
    192                 count++;
    193             });
    194             rq.onerror = fail(this, "unexpected error1")
    195         });
    196 
    197 
    198         async_test(document.title + " - within single key range, with several results").step(function(e) {
    199             var count = 0;
    200             var rq = db.transaction("test").objectStore("test").index("index")
    201                        .openCursor("pie");
    202 
    203             rq.onsuccess = this.step_func(function(e) {
    204                 if (!e.target.result) {
    205                     assert_equals(count, 2, 'count');
    206                     this.done();
    207                     return;
    208                 }
    209                 var cursor = e.target.result;
    210 
    211                 switch(count) {
    212                     case 0:
    213                         assert_equals(cursor.value, "pie");
    214                         assert_equals(cursor.primaryKey, 1);
    215                         cursor.continue();
    216                         break;
    217 
    218                     case 1:
    219                         assert_equals(cursor.value, "pie");
    220                         assert_equals(cursor.primaryKey, 4);
    221                         cursor.continue();
    222                         break;
    223 
    224                     default:
    225                         assert_unreached("Unexpected count: " + count);
    226                 }
    227 
    228                 count++;
    229             });
    230             rq.onerror = fail(this, "unexpected error1")
    231         });
    232 
    233 
    234         // Stop blocking the testing system from hereon
    235         done();
    236     }
     12var store = [ { value: "cupcake", key: 5 },
     13              { value: "pancake", key: 3 },
     14              { value: "pie",     key: 1 },
     15              { value: "pie",     key: 4 },
     16              { value: "taco",    key: 2 } ];
     17
     18function upgrade_func(t, db, tx) {
     19  var db, open;
     20
     21  var os, i;
     22  os = db.createObjectStore("test");
     23  os.createIndex("index", "");
     24
     25  for (i = 0; i < store.length; i++)
     26    os.add(store[i].value, store[i].key);
     27}
     28
     29indexeddb_test(
     30  upgrade_func,
     31  function(t, db) {
     32    var count = 0;
     33    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     34
     35    rq.onsuccess = t.step_func(function(e) {
     36      if (!e.target.result) {
     37        assert_equals(count, 5, 'count');
     38        t.done();
     39        return;
     40      }
     41      var cursor = e.target.result;
     42
     43      assert_equals(cursor.value, store[count].value);
     44      assert_equals(cursor.primaryKey, store[count].key);
     45
     46      cursor.continue();
     47
     48      count++;
     49    });
     50    rq.onerror = t.unreached_func("unexpected error")
     51  },
     52  document.title + " - continues"
     53);
     54
     55
     56indexeddb_test(
     57  upgrade_func,
     58  function(t, db) {
     59    var count = 0;
     60    var rq = db.transaction("test").objectStore("test").index("index").openCursor();
     61
     62    rq.onsuccess = t.step_func(function(e) {
     63      if (!e.target.result) {
     64        assert_equals(count, 3, 'count');
     65        t.done();
     66        return;
     67      }
     68      var cursor = e.target.result;
     69
     70      switch(count) {
     71        case 0:
     72          assert_equals(cursor.value, "cupcake");
     73          assert_equals(cursor.primaryKey, 5);
     74          cursor.continue("pie");
     75          break;
     76
     77        case 1:
     78          assert_equals(cursor.value, "pie");
     79          assert_equals(cursor.primaryKey, 1);
     80          cursor.continue("taco");
     81          break;
     82
     83        case 2:
     84          assert_equals(cursor.value, "taco");
     85          assert_equals(cursor.primaryKey, 2);
     86          cursor.continue();
     87          break;
     88
     89        default:
     90          assert_unreached("Unexpected count: " + count);
     91      }
     92
     93      count++;
     94    });
     95    rq.onerror = t.unreached_func("unexpected error")
     96  },
     97  document.title + " - with given key"
     98);
     99
     100
     101indexeddb_test(
     102  upgrade_func,
     103  function(t, db) {
     104    var count = 0;
     105    var rq = db.transaction("test").objectStore("test").index("index")
     106               .openCursor();
     107
     108    rq.onsuccess = t.step_func(function(e) {
     109      if (!e.target.result) {
     110        assert_equals(count, 1, 'count');
     111        t.done();
     112        return;
     113      }
     114      var cursor = e.target.result;
     115
     116      switch(count) {
     117        case 0:
     118          assert_equals(cursor.value, "cupcake");
     119          assert_equals(cursor.primaryKey, 5);
     120          break;
     121
     122        default:
     123          assert_unreached("Unexpected count: " + count);
     124      }
     125
     126      count++;
     127      cursor.continue([]); // Arrays are always bigger than strings
     128
     129    });
     130    rq.onerror = t.unreached_func("unexpected error2")
     131  },
     132  document.title + " - skip far forward"
     133);
     134
     135
     136indexeddb_test(
     137  upgrade_func,
     138  function(t, db) {
     139    var count = 0;
     140    var rq = db.transaction("test").objectStore("test").index("index")
     141               .openCursor(IDBKeyRange.lowerBound("cupcake", true));
     142
     143    rq.onsuccess = t.step_func(function(e) {
     144      if (!e.target.result) {
     145        assert_equals(count, 2, 'count');
     146        t.done();
     147        return;
     148      }
     149      var cursor = e.target.result;
     150
     151      switch(count) {
     152        case 0:
     153          assert_equals(cursor.value, "pancake");
     154          assert_equals(cursor.primaryKey, 3);
     155          cursor.continue("pie");
     156          break;
     157
     158        case 1:
     159          assert_equals(cursor.value, "pie");
     160          assert_equals(cursor.primaryKey, 1);
     161          cursor.continue("zzz");
     162          break;
     163
     164        default:
     165          assert_unreached("Unexpected count: " + count);
     166      }
     167
     168      count++;
     169    });
     170    rq.onerror = t.unreached_func("unexpected error1")
     171  },
     172  document.title + " - within range"
     173);
     174
     175
     176indexeddb_test(
     177  upgrade_func,
     178  function(t, db) {
     179    var count = 0;
     180    var rq = db.transaction("test").objectStore("test").index("index")
     181               .openCursor("pancake");
     182
     183    rq.onsuccess = t.step_func(function(e) {
     184      if (!e.target.result) {
     185        assert_equals(count, 1, 'count');
     186        t.done();
     187        return;
     188      }
     189      var cursor = e.target.result;
     190
     191      switch(count) {
     192        case 0:
     193          assert_equals(cursor.value, "pancake");
     194          assert_equals(cursor.primaryKey, 3);
     195          cursor.continue("pie");
     196          break;
     197
     198        default:
     199          assert_unreached("Unexpected count: " + count);
     200      }
     201
     202      count++;
     203    });
     204    rq.onerror = t.unreached_func("unexpected error1")
     205  },
     206  document.title + " - within single key range"
     207);
     208
     209indexeddb_test(
     210  upgrade_func,
     211  function(t, db) {
     212    var count = 0;
     213    var rq = db.transaction("test").objectStore("test").index("index")
     214               .openCursor("pie");
     215
     216    rq.onsuccess = t.step_func(function(e) {
     217      if (!e.target.result) {
     218        assert_equals(count, 2, 'count');
     219        t.done();
     220        return;
     221      }
     222      var cursor = e.target.result;
     223
     224      switch(count) {
     225        case 0:
     226          assert_equals(cursor.value, "pie");
     227          assert_equals(cursor.primaryKey, 1);
     228          cursor.continue();
     229          break;
     230
     231        case 1:
     232          assert_equals(cursor.value, "pie");
     233          assert_equals(cursor.primaryKey, 4);
     234          cursor.continue();
     235          break;
     236
     237        default:
     238          assert_unreached("Unexpected count: " + count);
     239      }
     240
     241      count++;
     242    });
     243    rq.onerror = t.unreached_func("unexpected error1")
     244  },
     245  document.title + " - within single key range, with several results"
     246);
    237247
    238248</script>
    239 
    240 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm

    r206999 r217225  
    4646            store.deleteIndex("idx");
    4747        });
    48         txn.oncomplete = function() {
     48        txn.oncomplete = t.step_func(function() {
    4949            assert_throws("TransactionInactiveError", function() {
    5050                cursor.continuePrimaryKey("A", 4);
    5151            }, "transaction-state check should precede deletion check");
    5252            t.done();
    53         };
     53        });
    5454    },
    5555    null,
     
    379379);
    380380</script>
    381 
    382 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm

    r212202 r217225  
    1717    open.onupgradeneeded = t.step_func(function() {
    1818        var db = open.result;
     19        t.add_cleanup(function() {
     20            db.close();
     21            indexedDB.deleteDatabase(db.name);
     22        });
    1923        var store = db.createObjectStore('store');
    2024        store.put('a', 1).onerror = t.unreached_func('put should not fail');
     
    6165        open.onupgradeneeded = t.step_func(function() {
    6266            var db = open.result;
     67            t.add_cleanup(function() {
     68                db.close();
     69                indexedDB.deleteDatabase(db.name);
     70            });
    6371            var store = db.createObjectStore('store', {keyPath: 'pk'});
    6472            var index = store.createIndex('index', 'ik', {multiEntry: true});
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm

    r215164 r217225  
    1616
    1717<script>
    18     var records = [ 1337, "Alice", "Bob", "Bob", "Greg", "Åke", ["Anne"] ];
    19     var directions = ["next", "prev", "nextunique", "prevunique"];
    20     var tests = {};
    21 
    22     directions.forEach(function(dir) {
    23         tests[dir] = async_test(document.title + ' - ' + dir);
    24     });
    25 
    26     var open_rq = indexedDB.open("testdb-" + new Date().getTime() + Math.random());
    27 
    28     open_rq.onupgradeneeded = function(e) {
    29         var objStore = e.target.result.createObjectStore("test");
    30         objStore.createIndex("idx", "name");
    31 
    32         for (var i = 0; i < records.length; i++)
    33             objStore.add({ name: records[i] }, i);
    34     };
    35 
    36     open_rq.onsuccess = function(e) {
    37         var db = e.target.result;
    38         db.onerror = fail_helper("db.onerror");
     18var records = [ 1337, "Alice", "Bob", "Bob", "Greg", "Åke", ["Anne"] ];
     19var cases = [
     20  {dir: 'next', expect: ['Alice:1', 'Bob:2', 'Bob:3', 'Greg:4']},
     21  {dir: 'prev', expect: ['Greg:4',  'Bob:3', 'Bob:2', 'Alice:1']},
     22  {dir: 'nextunique', expect: ['Alice:1', 'Bob:2', 'Greg:4']},
     23  {dir: 'prevunique', expect: ['Greg:4',  'Bob:2', 'Alice:1']}
     24];
    3925
    4026
    41         // The tests
    42         testdir('next',       ['Alice:1', 'Bob:2', 'Bob:3', 'Greg:4']);
    43         testdir('prev',       ['Greg:4',  'Bob:3', 'Bob:2', 'Alice:1']);
    44         testdir('nextunique', ['Alice:1', 'Bob:2', 'Greg:4']);
    45         testdir('prevunique', ['Greg:4',  'Bob:2', 'Alice:1']);
     27cases.forEach(function(testcase) {
     28  var dir = testcase.dir;
     29  var expect = testcase.expect;
     30  indexeddb_test(
     31    function(t, db, tx) {
     32      var objStore = db.createObjectStore("test");
     33      objStore.createIndex("idx", "name");
    4634
    47 
    48         // Test function
    49         function testdir(dir, expect) {
    50             var count = 0;
    51             var t = tests[dir];
    52             var rq = db.transaction("test").objectStore("test").index("idx").openCursor(IDBKeyRange.bound("AA", "ZZ"), dir);
    53             rq.onsuccess = t.step_func(function(e) {
    54                 var cursor = e.target.result;
    55                 if (!cursor) {
    56                     assert_equals(count, expect.length, "cursor runs");
    57                     t.done();
    58                 }
    59                 assert_equals(cursor.value.name + ":" + cursor.primaryKey, expect[count], "cursor.value");
    60                 count++;
    61                 cursor.continue();
    62             });
    63             rq.onerror = t.step_func(function(e) {
    64                 e.preventDefault();
    65                 e.stopPropagation();
    66                 assert_unreached("rq.onerror - " + e.message);
    67             });
     35      for (var i = 0; i < records.length; i++)
     36        objStore.add({ name: records[i] }, i);
     37    },
     38    function(t, db) {
     39      var count = 0;
     40      var rq = db.transaction("test").objectStore("test").index("idx").openCursor(IDBKeyRange.bound("AA", "ZZ"), dir);
     41      rq.onsuccess = t.step_func(function(e) {
     42        var cursor = e.target.result;
     43        if (!cursor) {
     44          assert_equals(count, expect.length, "cursor runs");
     45          t.done();
    6846        }
    69     };
    70 
    71     // Fail handling
    72     function fail_helper(name) {
    73         return function() {
    74             directions.forEach(function(dir) {
    75                 tests[dir].step(function() { assert_unreached(name); });
    76             });
    77         };
    78     }
    79     open_rq.onblocked = fail_helper('open_rq.onblocked');
    80     open_rq.onerror = fail_helper('open_rq.onerror');
     47        assert_equals(cursor.value.name + ":" + cursor.primaryKey, expect[count], "cursor.value");
     48        count++;
     49        cursor.continue();
     50      });
     51      rq.onerror = t.step_func(function(e) {
     52        e.preventDefault();
     53        e.stopPropagation();
     54        assert_unreached("rq.onerror - " + e.message);
     55      });
     56    },
     57    document.title + ' - ' + dir
     58  )
     59});
    8160</script>
    82 
    83 <div id=log> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-index.htm

    r206999 r217225  
    1414
    1515<script>
    16     var records = [ "Alice", "Bob", "Bob", "Greg" ];
    17     var directions = ["next", "prev", "nextunique", "prevunique"];
    18     var tests = {};
     16var records = [ "Alice", "Bob", "Bob", "Greg" ];
     17var cases = [
     18  {dir: 'next', expect: ['Alice:0', 'Bob:1', 'Bob:2', 'Greg:3']},
     19  {dir: 'prev', expect: ['Greg:3',  'Bob:2', 'Bob:1', 'Alice:0']},
     20  {dir: 'nextunique', expect: ['Alice:0', 'Bob:1', 'Greg:3']},
     21  {dir: 'prevunique', expect: ['Greg:3',  'Bob:1', 'Alice:0']},
     22];
    1923
    20     directions.forEach(function(dir) {
    21         tests[dir] = async_test(document.title + ' - ' + dir);
    22     });
     24cases.forEach(function(testcase) {
     25  var dir = testcase.dir;
     26  var expect = testcase.expect;
     27  indexeddb_test(
     28    function(t, db, tx) {
     29      var objStore = db.createObjectStore("test");
     30      objStore.createIndex("idx", "name");
    2331
    24     var open_rq = indexedDB.open("testdb-" + new Date().getTime() + Math.random());
    25 
    26     open_rq.onupgradeneeded = function(e) {
    27         var objStore = e.target.result.createObjectStore("test");
    28         objStore.createIndex("idx", "name");
    29 
    30         for (var i = 0; i < records.length; i++)
    31             objStore.add({ name: records[i] }, i);
    32     };
    33 
    34     open_rq.onsuccess = function(e) {
    35         var db = e.target.result;
    36         db.onerror = fail_helper("db.onerror");
    37 
    38 
    39         // The tests
    40         testdir('next',       ['Alice:0', 'Bob:1', 'Bob:2', 'Greg:3']);
    41         testdir('prev',       ['Greg:3',  'Bob:2', 'Bob:1', 'Alice:0']);
    42         testdir('nextunique', ['Alice:0', 'Bob:1', 'Greg:3']);
    43         testdir('prevunique', ['Greg:3',  'Bob:1', 'Alice:0']);
    44 
    45 
    46         // Test function
    47         function testdir(dir, expect) {
    48             var count = 0;
    49             var t = tests[dir];
    50             var rq = db.transaction("test").objectStore("test").index("idx").openCursor(undefined, dir);
    51             rq.onsuccess = t.step_func(function(e) {
    52                 var cursor = e.target.result;
    53                 if (!cursor) {
    54                     assert_equals(count, expect.length, "cursor runs");
    55                     t.done();
    56                 }
    57                 assert_equals(cursor.value.name + ":" + cursor.primaryKey, expect[count], "cursor.value");
    58                 count++;
    59                 cursor.continue();
    60             });
    61             rq.onerror = t.step_func(function(e) {
    62                 e.preventDefault();
    63                 e.stopPropagation();
    64                 assert_unreached("rq.onerror - " + e.message);
    65             });
     32      for (var i = 0; i < records.length; i++)
     33        objStore.add({ name: records[i] }, i);
     34    },
     35    function(t, db) {
     36      var count = 0;
     37      var rq = db.transaction("test").objectStore("test").index("idx").openCursor(undefined, dir);
     38      rq.onsuccess = t.step_func(function(e) {
     39        var cursor = e.target.result;
     40        if (!cursor) {
     41          assert_equals(count, expect.length, "cursor runs");
     42          t.done();
    6643        }
    67     };
    68 
    69     // Fail handling
    70     function fail_helper(name) {
    71         return function() {
    72             directions.forEach(function(dir) {
    73                 tests[dir].step(function() { assert_unreached(name); });
    74             });
    75         };
    76     }
    77     open_rq.onblocked = fail_helper('open_rq.onblocked');
    78     open_rq.onerror = fail_helper('open_rq.onerror');
     44        assert_equals(cursor.value.name + ":" + cursor.primaryKey, expect[count], "cursor.value");
     45        count++;
     46        cursor.continue();
     47      });
     48      rq.onerror = t.step_func(function(e) {
     49        e.preventDefault();
     50        e.stopPropagation();
     51        assert_unreached("rq.onerror - " + e.message);
     52      });
     53    },
     54    document.title + ' - ' + dir
     55  );
     56});
    7957</script>
    80 
    81 <div id=log> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm

    r215164 r217225  
    1212
    1313<script>
    14     var records = [ 1337, "Alice", "Bob", "Greg", "Åke", ["Anne"] ];
    15     var directions = ["next", "prev", "nextunique", "prevunique"];
    16     var tests = {};
     14var records = [ 1337, "Alice", "Bob", "Greg", "Åke", ["Anne"] ];
     15var directions = ["next", "prev", "nextunique", "prevunique"];
     16var cases = [
     17  {dir: 'next', expect: ['Alice', 'Bob', 'Greg']},
     18  {dir: 'prev', expect: ['Greg', 'Bob', 'Alice']},
     19  {dir: 'nextunique', expect: ['Alice', 'Bob', 'Greg']},
     20  {dir: 'prevunique', expect: ['Greg', 'Bob', 'Alice']},
     21];
    1722
    18     directions.forEach(function(dir) {
    19         tests[dir] = async_test(document.title + ' - ' + dir);
    20     });
    21 
    22     var open_rq = indexedDB.open("testdb-" + new Date().getTime() + Math.random());
    23 
    24     open_rq.onupgradeneeded = function(e) {
    25         var objStore = e.target.result.createObjectStore("test");
    26 
     23cases.forEach(function(testcase) {
     24  var dir = testcase.dir;
     25  var expect = testcase.expect;
     26  indexeddb_test(
     27    function(t, db, tx) {
     28        var objStore = db.createObjectStore("test");
    2729        for (var i = 0; i < records.length; i++)
    28             objStore.add(records[i], records[i]);
    29     };
    30 
    31     open_rq.onsuccess = function(e) {
    32         var db = e.target.result;
    33         db.onerror = fail_helper("db.onerror");
    34 
    35 
    36         // The tests
    37         testdir('next',       ['Alice', 'Bob', 'Greg']);
    38         testdir('prev',       ['Greg', 'Bob', 'Alice']);
    39         testdir('nextunique', ['Alice', 'Bob', 'Greg']);
    40         testdir('prevunique', ['Greg', 'Bob', 'Alice']);
    41 
    42 
    43         // Test function
    44         function testdir(dir, expect) {
    45             var count = 0;
    46             var t = tests[dir];
    47             var rq = db.transaction("test").objectStore("test").openCursor(IDBKeyRange.bound("AA", "ZZ"), dir);
    48             rq.onsuccess = t.step_func(function(e) {
    49                 var cursor = e.target.result;
    50                 if (!cursor) {
    51                     assert_equals(count, expect.length, "cursor runs");
    52                     t.done();
    53                 }
    54                 assert_equals(cursor.value, expect[count], "cursor.value");
    55                 count++;
    56                 cursor.continue();
    57             });
    58             rq.onerror = t.step_func(function(e) {
    59                 e.preventDefault();
    60                 e.stopPropagation();
    61                 assert_unreached("rq.onerror - " + e.message);
    62             });
     30          objStore.add(records[i], records[i]);
     31    },
     32    function(t, db) {
     33      var count = 0;
     34      var rq = db.transaction("test").objectStore("test").openCursor(IDBKeyRange.bound("AA", "ZZ"), dir);
     35      rq.onsuccess = t.step_func(function(e) {
     36        var cursor = e.target.result;
     37        if (!cursor) {
     38          assert_equals(count, expect.length, "cursor runs");
     39          t.done();
    6340        }
    64     };
    65 
    66     // Fail handling
    67     function fail_helper(name) {
    68         return function() {
    69             directions.forEach(function(dir) {
    70                 tests[dir].step(function() { assert_unreached(name); });
    71             });
    72         };
    73     }
    74     open_rq.onblocked = fail_helper('open_rq.onblocked');
    75     open_rq.onerror = fail_helper('open_rq.onerror');
     41        assert_equals(cursor.value, expect[count], "cursor.value");
     42        count++;
     43        cursor.continue();
     44      });
     45      rq.onerror = t.step_func(function(e) {
     46        e.preventDefault();
     47        e.stopPropagation();
     48        assert_unreached("rq.onerror - " + e.message);
     49      });
     50    },
     51    document.title + ' - ' + dir
     52  );
     53});
    7654</script>
    77 
    78 <div id=log> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm

    r206999 r217225  
    1414
    1515<script>
    16     var records = [ "Alice", "Bob", "Greg" ];
    17     var directions = ["next", "prev", "nextunique", "prevunique"];
    18     var tests = {};
     16var records = [ "Alice", "Bob", "Greg" ];
     17var directions = ["next", "prev", "nextunique", "prevunique"];
     18var cases = [
     19  {dir: 'next', expect: ['Alice', 'Bob', 'Greg']},
     20  {dir: 'prev', expect: ['Greg', 'Bob', 'Alice']},
     21  {dir: 'nextunique', expect: ['Alice', 'Bob', 'Greg']},
     22  {dir: 'prevunique', expect: ['Greg', 'Bob', 'Alice']},
     23];
    1924
    20     directions.forEach(function(dir) {
    21         tests[dir] = async_test(document.title + ' - ' + dir);
    22     });
    23 
    24     var open_rq = indexedDB.open("testdb-" + new Date().getTime() + Math.random());
    25 
    26     open_rq.onupgradeneeded = function(e) {
    27         var objStore = e.target.result.createObjectStore("test");
    28 
    29         for (var i = 0; i < records.length; i++)
    30             objStore.add(records[i], records[i]);
    31     };
    32 
    33     open_rq.onsuccess = function(e) {
    34         var db = e.target.result;
    35         db.onerror = fail_helper("db.onerror");
    36 
    37 
    38         // The tests
    39         testdir('next',       ['Alice', 'Bob', 'Greg']);
    40         testdir('prev',       ['Greg', 'Bob', 'Alice']);
    41         testdir('nextunique', ['Alice', 'Bob', 'Greg']);
    42         testdir('prevunique', ['Greg', 'Bob', 'Alice']);
    43 
    44 
    45         // Test function
    46         function testdir(dir, expect) {
    47             var count = 0;
    48             var t = tests[dir];
    49             var rq = db.transaction("test").objectStore("test").openCursor(undefined, dir);
    50             rq.onsuccess = t.step_func(function(e) {
    51                 var cursor = e.target.result;
    52                 if (!cursor) {
    53                     assert_equals(count, expect.length, "cursor runs");
    54                     t.done();
    55                 }
    56                 assert_equals(cursor.value, expect[count], "cursor.value");
    57                 count++;
    58                 cursor.continue();
    59             });
    60             rq.onerror = t.step_func(function(e) {
    61                 e.preventDefault();
    62                 e.stopPropagation();
    63                 assert_unreached("rq.onerror - " + e.message);
    64             });
     25cases.forEach(function(testcase) {
     26  var dir = testcase.dir;
     27  var expect = testcase.expect;
     28  indexeddb_test(
     29    function(t, db, tx) {
     30      var objStore = db.createObjectStore("test");
     31      for (var i = 0; i < records.length; i++)
     32        objStore.add(records[i], records[i]);
     33    },
     34    function(t, db) {
     35      var count = 0;
     36      var rq = db.transaction("test").objectStore("test").openCursor(undefined, dir);
     37      rq.onsuccess = t.step_func(function(e) {
     38        var cursor = e.target.result;
     39        if (!cursor) {
     40          assert_equals(count, expect.length, "cursor runs");
     41          t.done();
    6542        }
    66     };
    67 
    68     // Fail handling
    69     function fail_helper(name) {
    70         return function() {
    71             directions.forEach(function(dir) {
    72                 tests[dir].step(function() { assert_unreached(name); });
    73             });
    74         };
    75     }
    76     open_rq.onblocked = fail_helper('open_rq.onblocked');
    77     open_rq.onerror = fail_helper('open_rq.onerror');
     43        assert_equals(cursor.value, expect[count], "cursor.value");
     44        count++;
     45        cursor.continue();
     46      });
     47      rq.onerror = t.step_func(function(e) {
     48        e.preventDefault();
     49        e.stopPropagation();
     50        assert_unreached("rq.onerror - " + e.message);
     51      });
     52    },
     53    document.title + ' - ' + dir
     54  );
     55});
    7856</script>
    79 
    80 <div id=log> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction.htm

    r206999 r217225  
    1818        open_rq.onupgradeneeded = function(e) {
    1919            db = e.target.result;
     20            t.add_cleanup(function() {
     21                db.close();
     22                indexedDB.deleteDatabase(db.name);
     23            });
     24
    2025            var objStore = db.createObjectStore("test");
    2126
     
    7075
    7176</script>
    72 
    73 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-source.htm

    r206999 r217225  
    77
    88<script>
    9     setup({ explicit_done: true });
     9function cursor_source_test(test_name, name, stringified_object, cursor_rq_func) {
     10  indexeddb_test(
     11    function(t, db, tx) {
     12      var objStore = db.createObjectStore("my_objectstore");
     13      objStore.createIndex("my_index", "");
    1014
    11     var db;
    12     var open_rq = indexedDB.open('testdb-' + new Date().getTime());
    13     open_rq.onupgradeneeded = function(e) {
    14         db = e.target.result;
    15         var objStore = db.createObjectStore("my_objectstore");
    16         objStore.createIndex("my_index", "");
     15      objStore.add("data",  1);
     16      objStore.add("data2", 2);
     17    },
     18    function(t, db) {
     19      var cursor_rq = cursor_rq_func(db);
    1720
    18         objStore.add("data",  1);
    19         objStore.add("data2", 2);
    20     };
     21      cursor_rq.onsuccess = t.step_func(function(e) {
     22        if (!e.target.result) {
     23          return;
     24        }
     25        var cursor = e.target.result;
     26        assert_readonly(cursor, 'source');
    2127
    22     function cursor_source(name, stringified_object, cursor_rq) {
    23         var cursor;
     28        // Direct try
     29        assert_true(cursor.source instanceof Object, "source isobject");
     30        assert_equals(cursor.source + "", stringified_object, "source");
     31        assert_equals(cursor.source.name, name, "name");
    2432
    25         cursor_rq.onsuccess = this.step_func(function(e) {
    26             if (!e.target.result) {
    27                 return;
    28             }
    29             cursor = e.target.result;
    30             assert_readonly(cursor, 'source');
     33        cursor.continue();
     34      });
    3135
    32             // Direct try
    33             assert_true(cursor.source instanceof Object, "source isobject");
    34             assert_equals(cursor.source + "", stringified_object, "source");
    35             assert_equals(cursor.source.name, name, "name");
     36      cursor_rq.transaction.oncomplete = t.step_func(function(e) {
     37        t.done();
     38      });
    3639
    37             cursor.continue();
    38         });
     40      cursor_rq.transaction.onerror = t.step_func(function(e) {
     41        assert_unreached("Transaction got error. " + (e.target.error ? e.target.error.name : "unknown"));
     42      });
     43    },
     44    test_name
     45  );
     46}
    3947
    40         cursor_rq.transaction.oncomplete = this.step_func(function(e) {
    41             this.done();
    42          });
     48cursor_source_test(
     49  document.title + ' - IDBObjectStore',
     50  "my_objectstore",
     51  "[object IDBObjectStore]",
     52  function(db) { return db.transaction("my_objectstore")
     53                          .objectStore("my_objectstore")
     54                          .openCursor(); }
     55);
    4356
    44         cursor_rq.transaction.onerror = this.step_func(function(e) {
    45             assert_unreached("Transaction got error. " + (e.target.error ? e.target.error.name : "unknown"));
    46         });
    47     }
    48 
    49     open_rq.onsuccess = function() {
    50         async_test(document.title + ' - IDBObjectStore').step(function() {
    51             cursor_source.call(this, "my_objectstore", "[object IDBObjectStore]", db.transaction("my_objectstore")
    52                                                        .objectStore("my_objectstore")
    53                                                        .openCursor());
    54         });
    55 
    56         async_test(document.title + ' - IDBIndex').step(function() {
    57             cursor_source.call(this, "my_index", "[object IDBIndex]", db.transaction("my_objectstore")
    58                                                  .objectStore("my_objectstore")
    59                                                  .index("my_index")
    60                                                  .openCursor());
    61         });
    62 
    63         done();
    64     };
    65 
     57cursor_source_test(
     58  document.title + ' - IDBIndex',
     59  "my_index",
     60  "[object IDBIndex]",
     61  function(db) { return db.transaction("my_objectstore")
     62                          .objectStore("my_objectstore")
     63                          .index("my_index")
     64                          .openCursor(); }
     65);
    6666</script>
    67 
    68 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor_iterating.htm

    r206999 r217225  
    1414    open_rq.onupgradeneeded = function(e) {
    1515        db = e.target.result;
     16        t.add_cleanup(function() { db.close(); indexedDB.deleteDatabase(db.name); });
    1617        var objStore = db.createObjectStore("test", { keyPath: "key" });
    1718
     
    107108    };
    108109</script>
    109 
    110 <div id="log"> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm

    r206999 r217225  
    1919    open_rq.onupgradeneeded = function(e) {
    2020        db = e.target.result;
     21        t.add_cleanup(function() { db.close(); indexedDB.deleteDatabase(db.name); });
    2122        var objStore = db.createObjectStore("test", {keyPath:"pKey"});
    2223
     
    4849    };
    4950</script>
    50 
    51 <div id="log"> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm

    r206999 r217225  
    1919    open_rq.onupgradeneeded = function(e) {
    2020        db = e.target.result;
     21        t.add_cleanup(function() { db.close(); indexedDB.deleteDatabase(db.name); });
    2122        var objStore = db.createObjectStore("test", {keyPath:"pKey"});
    2223
     
    4849    };
    4950</script>
    50 
    51 <div id="log"> </div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase_close.htm

    r206999 r217225  
    3434        assert_equals(upgradeneeded_fired, 2, 'second upgradeneeded event fired #')
    3535
     36        rq.result.close();
    3637        t.done();
    3738    });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_open10.htm

    r206999 r217225  
    8282                idx.getKey("Sicking").onsuccess = this.step_func(function(e) {
    8383                    assert_equals(e.target.result, undefined, "getKey(Sicking)");
     84
     85                    db3.close();
    8486                    this.done();
    8587                });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_open11.htm

    r206999 r217225  
    5252
    5353                assert_equals(count_done, 3, "count_done");
     54
     55                db2.close();
    5456                this.done();
    5557            });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_open3.htm

    r206999 r217225  
    1818        open_rq2.onsuccess = this.step_func(function(e) {
    1919            assert_equals(e.target.result.version, 13, "db.version")
     20            e.target.result.close();
    2021            this.done();
    2122        });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_open6.htm

    r206999 r217225  
    99    var open_rq = createdb(async_test(), undefined, 13);
    1010    var did_upgrade = false;
     11    var open_rq2;
    1112
    1213    open_rq.onupgradeneeded = function() {};
     
    1516        db.close();
    1617
    17         var open_rq2 = window.indexedDB.open(db.name, 14);
     18        open_rq2 = window.indexedDB.open(db.name, 14);
    1819        open_rq2.onupgradeneeded = function() {};
    1920        open_rq2.onsuccess = this.step_func(open_previous_db);
     
    2526        open_rq3.onerror = this.step_func(function(e) {
    2627            assert_equals(e.target.error.name, 'VersionError', 'e.target.error.name')
     28            open_rq2.result.close();
    2729            this.done();
    2830        });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_open7.htm

    r206999 r217225  
    99    var open_rq = createdb(async_test(), undefined, 13);
    1010    var did_upgrade = false;
     11    var open_rq2;
    1112
    1213    open_rq.onupgradeneeded = function() {};
     
    1516        db.close();
    1617
    17         var open_rq2 = window.indexedDB.open(db.name, 14);
     18        open_rq2 = window.indexedDB.open(db.name, 14);
    1819        open_rq2.onupgradeneeded = function() {
    1920            did_upgrade = true;
     
    2728        open_rq3.onsuccess = this.step_func(function(e) {
    2829            assert_equals(e.target.result.version, 14, "db.version")
     30            open_rq2.result.close();
     31            open_rq3.result.close();
    2932            this.done();
    3033        });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_getAll.html

    r206999 r217225  
    33<script src="/resources/testharness.js"></script>
    44<script src="/resources/testharnessreport.js"></script>
     5<script src="support.js"></script>
    56<script>
    6 setup({explicit_done: true});
    7 
    87var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
    98var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
    109
    11 function doSetup(dbName, dbVersion, onsuccess) {
    12   var delete_request = indexedDB.deleteDatabase(dbName);
    13   delete_request.onerror = function() {
    14     assert_unreached('deleteDatabase should not fail');
    15   };
    16   delete_request.onsuccess = function(e) {
    17     var req = indexedDB.open(dbName, dbVersion);
    18     req.onsuccess = onsuccess;
    19     req.onerror = function() {
    20       assert_unreached('open should not fail');
    21     };
    22     req.onupgradeneeded = function(evt) {
    23       var connection = evt.target.result;
    24 
     10function getall_test(func, name) {
     11  indexeddb_test(
     12    function(t, connection, tx) {
    2513      var store = connection.createObjectStore('generated',
    2614            {autoIncrement: true, keyPath: 'id'});
     
    6250      store = connection.createObjectStore('empty', null);
    6351      index = store.createIndex('test_idx', 'upper');
    64     };
    65   };
     52    },
     53    func,
     54    name
     55  );
    6656}
    6757
     
    7565}
    7666
    77 doSetup(location.pathname + '-IDBIndex.getAll', 1, function(evt) {
    78     var connection = evt.target.result;
    79     async_test(function(t) {
     67getall_test(function(t, connection) {
    8068      var req = createGetAllRequest(t, 'out-of-line', connection, 'C');
    8169      req.onsuccess = t.step_func(function(evt) {
     
    8876    }, 'Single item get');
    8977
    90     async_test(function(t) {
     78getall_test(function(t, connection) {
    9179      var req = createGetAllRequest(t, 'empty', connection);
    9280      req.onsuccess = t.step_func(function(evt) {
     
    9785    }, 'Empty object store');
    9886
    99     async_test(function(t) {
     87getall_test(function(t, connection) {
    10088      var req = createGetAllRequest(t, 'out-of-line', connection);
    10189      req.onsuccess = t.step_func(function(evt) {
     
    10896    }, 'Get all keys');
    10997
    110     async_test(function(t) {
     98getall_test(function(t, connection) {
    11199      var req = createGetAllRequest(t, 'out-of-line', connection, undefined,
    112100                                    10);
     
    120108    }, 'maxCount=10');
    121109
    122     async_test(function(t) {
     110getall_test(function(t, connection) {
    123111      var req = createGetAllRequest(t, 'out-of-line', connection,
    124112                                    IDBKeyRange.bound('G', 'M'));
     
    131119    }, 'Get bound range');
    132120
    133     async_test(function(t) {
     121getall_test(function(t, connection) {
    134122      var req = createGetAllRequest(t, 'out-of-line', connection,
    135123                                    IDBKeyRange.bound('G', 'M'), 3);
     
    143131    }, 'Get bound range with maxCount');
    144132
    145     async_test(function(t) {
     133getall_test(function(t, connection) {
    146134      var req = createGetAllRequest(t, 'out-of-line', connection,
    147135          IDBKeyRange.bound('G', 'K', false, true));
     
    155143    }, 'Get upper excluded');
    156144
    157     async_test(function(t) {
     145getall_test(function(t, connection) {
    158146      var req = createGetAllRequest(t, 'out-of-line', connection,
    159147          IDBKeyRange.bound('G', 'K', true, false));
     
    167155    }, 'Get lower excluded');
    168156
    169     async_test(function(t) {
     157getall_test(function(t, connection) {
    170158      var req = createGetAllRequest(t, 'generated',
    171159          connection, IDBKeyRange.bound(4, 15), 3);
     
    178166    }, 'Get bound range (generated) with maxCount');
    179167
    180     async_test(function(t) {
     168getall_test(function(t, connection) {
    181169      var req = createGetAllRequest(t, 'out-of-line',
    182170          connection, "Doesn't exist");
     
    189177    }, 'Non existent key');
    190178
    191     async_test(function(t) {
     179getall_test(function(t, connection) {
    192180      var req = createGetAllRequest(t, 'out-of-line', connection,
    193181          undefined, 0);
     
    201189    }, 'maxCount=0');
    202190
    203     async_test(function(t) {
     191getall_test(function(t, connection) {
    204192      var req = createGetAllRequest(t, 'out-of-line-not-unique', connection,
    205193                                    'first');
     
    213201    }, 'Retrieve multiEntry key');
    214202
    215     async_test(function(t) {
     203getall_test(function(t, connection) {
    216204      var req = createGetAllRequest(t, 'out-of-line-multi', connection,
    217205                                    'vowel');
     
    226214    }, 'Retrieve one key multiple values');
    227215
    228     // Explicit done needed in case async_test body fails synchronously.
    229     done();
    230 });
    231 
    232216</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_getAllKeys.html

    r206999 r217225  
    33<script src="/resources/testharness.js"></script>
    44<script src="/resources/testharnessreport.js"></script>
     5<script src="support.js"></script>
    56<script>
    6 setup({explicit_done: true});
    77
    88var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
    99
    10 function doSetup(dbName, dbVersion, onsuccess) {
    11   var delete_request = indexedDB.deleteDatabase(dbName);
    12   delete_request.onerror = function() {
    13     assert_unreached('deleteDatabase should not fail');
    14   };
    15   delete_request.onsuccess = function(e) {
    16     var req = indexedDB.open(dbName, dbVersion);
    17     req.onsuccess = onsuccess;
    18     req.onerror = function() {
    19       assert_unreached('open should not fail');
    20     };
    21     req.onupgradeneeded = function(evt) {
    22       var connection = evt.target.result;
    23 
     10function getall_test(func, name) {
     11  indexeddb_test(
     12    function(t, connection, tx) {
    2413      var store = connection.createObjectStore('generated',
    2514            {autoIncrement: true, keyPath: 'id'});
     
    5241      store = connection.createObjectStore('empty', null);
    5342      index = store.createIndex('test_idx', 'upper');
    54     };
    55   };
     43    },
     44    func,
     45    name
     46  );
    5647}
    5748
     
    6556}
    6657
    67 doSetup(location.pathname + '-IDBIndex.getAllKeys', 1, function(evt) {
    68     var connection = evt.target.result;
    69     async_test(function(t) {
     58getall_test(function(t, connection) {
    7059      var req = createGetAllKeysRequest(t, 'out-of-line', connection, 'C');
    7160      req.onsuccess = t.step_func(function(evt) {
     
    7665    }, 'Single item get');
    7766
    78     async_test(function(t) {
     67getall_test(function(t, connection) {
    7968      var req = createGetAllKeysRequest(t, 'empty', connection);
    8069      req.onsuccess = t.step_func(function(evt) {
     
    8574    }, 'Empty object store');
    8675
    87     async_test(function(t) {
     76getall_test(function(t, connection) {
    8877      var req = createGetAllKeysRequest(t, 'out-of-line', connection);
    8978      req.onsuccess = t.step_func(function(evt) {
     
    9483    }, 'Get all keys');
    9584
    96     async_test(function(t) {
     85getall_test(function(t, connection) {
    9786      var req = createGetAllKeysRequest(t, 'generated', connection);
    9887      req.onsuccess = t.step_func(function(evt) {
     
    10594    }, 'Get all generated keys');
    10695
    107     async_test(function(t) {
     96getall_test(function(t, connection) {
    10897      var req = createGetAllKeysRequest(t, 'out-of-line', connection, undefined,
    10998                                    10);
     
    116105    }, 'maxCount=10');
    117106
    118     async_test(function(t) {
     107getall_test(function(t, connection) {
    119108      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    120109                                    IDBKeyRange.bound('G', 'M'));
     
    127116    }, 'Get bound range');
    128117
    129     async_test(function(t) {
     118getall_test(function(t, connection) {
    130119      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    131120                                    IDBKeyRange.bound('G', 'M'), 3);
     
    138127    }, 'Get bound range with maxCount');
    139128
    140     async_test(function(t) {
     129getall_test(function(t, connection) {
    141130      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    142131          IDBKeyRange.bound('G', 'K', false, true));
     
    149138    }, 'Get upper excluded');
    150139
    151     async_test(function(t) {
     140getall_test(function(t, connection) {
    152141      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    153142          IDBKeyRange.bound('G', 'K', true, false));
     
    160149    }, 'Get lower excluded');
    161150
    162     async_test(function(t) {
     151getall_test(function(t, connection) {
    163152      var req = createGetAllKeysRequest(t, 'generated',
    164153          connection, IDBKeyRange.bound(4, 15), 3);
     
    170159    }, 'Get bound range (generated) with maxCount');
    171160
    172     async_test(function(t) {
     161getall_test(function(t, connection) {
    173162      var req = createGetAllKeysRequest(t, 'out-of-line',
    174163          connection, "Doesn't exist");
     
    181170    }, 'Non existent key');
    182171
    183     async_test(function(t) {
     172getall_test(function(t, connection) {
    184173      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    185174          undefined, 0);
     
    191180    }, 'maxCount=0');
    192181
    193     async_test(function(t) {
     182getall_test(function(t, connection) {
    194183      var req = createGetAllKeysRequest(t, 'out-of-line-multi', connection,
    195184                                        'vowel');
     
    201190    }, 'Retrieve multiEntry keys');
    202191
    203     // Explicit done needed in case async_test body fails synchronously.
    204     done();
    205 });
    206 
    207192</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm

    r206999 r217225  
    3636                function() { index = objStore.index("index") });
    3737            assert_equals(index, undefined);
     38            db.close();
    3839            t.done();
    3940        }
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getAll.html

    r206999 r217225  
    33<script src="/resources/testharness.js"></script>
    44<script src="/resources/testharnessreport.js"></script>
     5<script src="support.js"></script>
    56<script>
    6 setup({explicit_done: true});
    77
    88var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
    99
    10 function doSetup(dbName, dbVersion, onsuccess) {
    11   var delete_request = indexedDB.deleteDatabase(dbName);
    12   delete_request.onerror = function() {
    13     assert_unreached('deleteDatabase should not fail');
    14   };
    15   delete_request.onsuccess = function(e) {
    16     var req = indexedDB.open(dbName, dbVersion);
    17     req.onsuccess = onsuccess;
    18     req.onerror = function() {
    19       assert_unreached('open should not fail');
    20     };
    21     req.onupgradeneeded = function(evt) {
    22       var connection = evt.target.result;
    23 
     10function getall_test(func, name) {
     11  indexeddb_test(
     12    function(t, connection, tx) {
    2413      var store = connection.createObjectStore('generated',
    2514            {autoIncrement: true, keyPath: 'id'});
     
    3423
    3524      store = connection.createObjectStore('empty', null);
    36     };
    37   };
     25    },
     26    func,
     27    name
     28  );
    3829}
    3930
     
    4637}
    4738
    48 doSetup(location.pathname + '-IDBObjectStore.getAll', 1, function(evt) {
    49     var connection = evt.target.result;
    50     async_test(function(t) {
     39getall_test(function(t, connection) {
    5140      var req = createGetAllRequest(t, 'out-of-line', connection, 'c');
    5241      req.onsuccess = t.step_func(function(evt) {
     
    5645    }, 'Single item get');
    5746
    58     async_test(function(t) {
     47getall_test(function(t, connection) {
    5948      var req = createGetAllRequest(t, 'generated', connection, 3);
    6049      req.onsuccess = t.step_func(function(evt) {
     
    6857    }, 'Single item get (generated key)');
    6958
    70     async_test(function(t) {
     59getall_test(function(t, connection) {
    7160      var req = createGetAllRequest(t, 'empty', connection);
    7261      req.onsuccess = t.step_func(function(evt) {
     
    7766    }, 'getAll on empty object store');
    7867
    79     async_test(function(t) {
     68getall_test(function(t, connection) {
    8069      var req = createGetAllRequest(t, 'out-of-line', connection);
    8170      req.onsuccess = t.step_func(function(evt) {
     
    8675    }, 'Get all values');
    8776
    88     async_test(function(t) {
     77getall_test(function(t, connection) {
    8978      var req = createGetAllRequest(t, 'out-of-line', connection, undefined,
    9079                                    10);
     
    9685    }, 'Test maxCount');
    9786
    98     async_test(function(t) {
     87getall_test(function(t, connection) {
    9988      var req = createGetAllRequest(t, 'out-of-line', connection,
    10089                                    IDBKeyRange.bound('g', 'm'));
     
    10695    }, 'Get bound range');
    10796
    108     async_test(function(t) {
     97getall_test(function(t, connection) {
    10998      var req = createGetAllRequest(t, 'out-of-line', connection,
    11099                                    IDBKeyRange.bound('g', 'm'), 3);
     
    116105    }, 'Get bound range with maxCount');
    117106
    118     async_test(function(t) {
     107getall_test(function(t, connection) {
    119108      var req = createGetAllRequest(t, 'out-of-line', connection,
    120109                                    IDBKeyRange.bound('g', 'k', false, true));
     
    126115    }, 'Get upper excluded');
    127116
    128     async_test(function(t) {
     117getall_test(function(t, connection) {
    129118      var req = createGetAllRequest(t, 'out-of-line', connection,
    130119                                    IDBKeyRange.bound('g', 'k', true, false));
     
    136125    }, 'Get lower excluded');
    137126
    138     async_test(function(t) {
     127getall_test(function(t, connection) {
    139128      var req = createGetAllRequest(t, 'generated', connection,
    140129                                    IDBKeyRange.bound(4, 15), 3);
     
    148137    }, 'Get bound range (generated) with maxCount');
    149138
    150     async_test(function(t) {
     139getall_test(function(t, connection) {
    151140      var req = createGetAllRequest(t, 'out-of-line', connection,
    152141                                    "Doesn't exist");
     
    159148    }, 'Non existent key');
    160149
    161     async_test(function(t) {
     150getall_test(function(t, connection) {
    162151      var req = createGetAllRequest(t, 'out-of-line', connection, undefined, 0);
    163152      req.onsuccess = t.step_func(function(evt) {
     
    168157    }, 'zero maxCount');
    169158
    170     // Explicit done needed in case async_test body fails synchronously.
    171     done();
    172 });
    173 
    174159</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getAllKeys.html

    r206999 r217225  
    33<script src="/resources/testharness.js"></script>
    44<script src="/resources/testharnessreport.js"></script>
     5<script src="support.js"></script>
    56<script>
    6 setup({explicit_done: true});
    77
    88var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
    99
    10 function doSetup(dbName, dbVersion, onsuccess) {
    11   var delete_request = indexedDB.deleteDatabase(dbName);
    12   delete_request.onerror = function() {
    13     assert_unreached('deleteDatabase should not fail');
    14   };
    15   delete_request.onsuccess = function(e) {
    16     var req = indexedDB.open(dbName, dbVersion);
    17     req.onsuccess = onsuccess;
    18     req.onerror = function() {
    19       assert_unreached('open should not fail');
    20     };
    21     req.onupgradeneeded = function(evt) {
    22       var connection = evt.target.result;
    23 
     10function getall_test(func, name) {
     11  indexeddb_test(
     12    function(t, connection, tx) {
    2413      var store = connection.createObjectStore('generated',
    2514            {autoIncrement: true, keyPath: 'id'});
     
    3423
    3524      store = connection.createObjectStore('empty', null);
    36     };
    37   };
     25    },
     26    func,
     27    name
     28  );
    3829}
    3930
     
    4637}
    4738
    48 doSetup(location.pathname + '-IDBObjectStore.getAllKeys', 1, function(evt) {
    49     var connection = evt.target.result;
    50     async_test(function(t) {
     39getall_test(function(t, connection) {
    5140      var req = createGetAllKeysRequest(t, 'out-of-line', connection, 'c');
    5241      req.onsuccess = t.step_func(function(evt) {
     
    5645    }, 'Single item get');
    5746
    58     async_test(function(t) {
     47getall_test(function(t, connection) {
    5948      var req = createGetAllKeysRequest(t, 'generated', connection, 3);
    6049      req.onsuccess = t.step_func(function(evt) {
     
    6655    }, 'Single item get (generated key)');
    6756
    68     async_test(function(t) {
     57getall_test(function(t, connection) {
    6958      var req = createGetAllKeysRequest(t, 'empty', connection);
    7059      req.onsuccess = t.step_func(function(evt) {
     
    7665    }, 'getAllKeys on empty object store');
    7766
    78     async_test(function(t) {
     67getall_test(function(t, connection) {
    7968      var req = createGetAllKeysRequest(t, 'out-of-line', connection);
    8069      req.onsuccess = t.step_func(function(evt) {
     
    8473    }, 'Get all values');
    8574
    86     async_test(function(t) {
     75getall_test(function(t, connection) {
    8776      var req = createGetAllKeysRequest(t, 'out-of-line', connection, undefined,
    8877                                    10);
     
    9382    }, 'Test maxCount');
    9483
    95     async_test(function(t) {
     84getall_test(function(t, connection) {
    9685      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    9786                                    IDBKeyRange.bound('g', 'm'));
     
    10291    }, 'Get bound range');
    10392
    104     async_test(function(t) {
     93getall_test(function(t, connection) {
    10594      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    10695                                    IDBKeyRange.bound('g', 'm'), 3);
     
    111100    }, 'Get bound range with maxCount');
    112101
    113     async_test(function(t) {
     102getall_test(function(t, connection) {
    114103      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    115104                                    IDBKeyRange.bound('g', 'k', false, true));
     
    120109    }, 'Get upper excluded');
    121110
    122     async_test(function(t) {
     111getall_test(function(t, connection) {
    123112      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    124113                                    IDBKeyRange.bound('g', 'k', true, false));
     
    129118    }, 'Get lower excluded');
    130119
    131     async_test(function(t) {
     120getall_test(function(t, connection) {
    132121      var req = createGetAllKeysRequest(t, 'generated', connection,
    133122                                    IDBKeyRange.bound(4, 15), 3);
     
    140129    }, 'Get bound range (generated) with maxCount');
    141130
    142     async_test(function(t) {
     131getall_test(function(t, connection) {
    143132      var req = createGetAllKeysRequest(t, 'out-of-line', connection,
    144133                                    "Doesn't exist");
     
    152141    }, 'Non existent key');
    153142
    154     async_test(function(t) {
     143getall_test(function(t, connection) {
    155144      var req = createGetAllKeysRequest(t, 'out-of-line', connection, undefined,
    156145          0);
     
    161150    }, 'zero maxCount');
    162151
    163     // Explicit done needed in case async_test body fails synchronously.
    164     done();
    165 });
    166 
    167152</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getKey.html

    r213882 r217225  
    55<script src="/resources/testharness.js"></script>
    66<script src="/resources/testharnessreport.js"></script>
     7<script src="support.js"></script>
    78<script>
    89
    910function getkey_test(func, name) {
    10     return async_test(function(t) {
    11         var del = indexedDB.deleteDatabase(name);
    12         del.onerror = t.unreached_func('deleteDatabase failed');
    13         var open = indexedDB.open(name);
    14         open.onerror = t.unreached_func('open failed');
    15         open.onupgradeneeded = t.step_func(function() {
    16             var db = open.result;
    17 
     11    indexeddb_test(
     12        function(t, db, tx) {
    1813            var basic = db.createObjectStore('basic');
    1914            var key_path_store = db.createObjectStore('key path',
     
    3126                key_generator_and_path_store.put({});
    3227            }
    33         });
    34         open.onsuccess = t.step_func(function() {
    35             var db = open.result;
    36             func(t, db);
    37         });
    38     }, name);
     28        },
     29        func,
     30        name
     31    );
    3932}
    4033
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm

    r206999 r217225  
    55<script src="/resources/testharnessreport.js"></script>
    66<script src="support.js"></script>
    7 
    87<script>
    98
    10     var db, open;
    11 
    12     setup(function() {
    13         open = indexedDB.open('testdb-' + new Date().getTime());
    14         open.onupgradeneeded = function(e) {
    15             db = e.target.result;
     9indexeddb_test(
     10  function(t, db, tx) {
    1611            var objStore = db.createObjectStore("test");
    1712            objStore.createIndex("index", "");
     
    1914            objStore.add("data",  1);
    2015            objStore.add("data2", 2);
    21         };
    22     },
    23     { explicit_done: true });
    24 
    25 
    26     open.onsuccess = function() {
    27 
    28         async_test(document.title + " - pass something other than number").step(function(e) {
     16  },
     17  function(t, db, tx) {
    2918            var idx = db.transaction("test").objectStore("test").index("index");
    3019
     
    3827                function() { idx.openCursor({ lower: "a", lowerOpen: false, upper: null, upperOpen: false }); });
    3928
    40             this.done();
    41         });
    42 
    43 
    44         // Stop blocking the testing system from hereon
    45         done();
    46     }
    47 
     29            t.done();
     30  },
     31  document.title + " - pass something other than number"
     32);
    4833</script>
    49 
    50 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm

    r206999 r217225  
    33<script src="/resources/testharness.js"></script>
    44<script src="/resources/testharnessreport.js"></script>
     5<script src="support.js"></script>
    56<script>
    67function store_test(func, name) {
    7     async_test(function(t) {
    8         var del = indexedDB.deleteDatabase(name);
    9         del.onerror = t.unreached_func("deleteDatabase failed");
    10         var open = indexedDB.open(name);
    11         open.onupgradeneeded = t.step_func(function() {
    12             var db = open.result;
    13             var store = db.createObjectStore("store");
    14             for (var i = 0; i < 10; ++i) {
    15                 store.put("value: " + i, i);
    16             }
    17         });
    18 
    19         open.onsuccess = t.step_func(function() {
    20             var db = open.result;
    21             var tx = db.transaction("store");
    22             var store = tx.objectStore("store");
    23             func(t, db, tx, store);
    24         });
     8  indexeddb_test(
     9    function(t, db, tx) {
     10      var store = db.createObjectStore("store");
     11      for (var i = 0; i < 10; ++i) {
     12        store.put("value: " + i, i);
     13      }
     14    },
     15    function(t, db) {
     16      var tx = db.transaction("store");
     17      var store = tx.objectStore("store");
     18      func(t, db, tx, store);
    2519    }, name);
    2620}
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbrequest-onupgradeneeded.htm

    r212202 r217225  
    1717
    1818      open_request.onupgradeneeded = t.step_func(function() {
     19        t.add_cleanup(function() {
     20          if (open_request.result) {
     21            open_request.result.close(),
     22            indexedDB.deleteDatabase(dbName);
     23          }
     24        });
    1925        upgrade_func(t, open_request);
    2026      });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction.htm

    r206999 r217225  
    77
    88<script>
    9     var db,
    10       t = async_test(document.title + " - request gotten by the handler"),
    11       open_t = async_test(document.title + " - request returned by open()"),
     9async_test(function(t) {
     10  var open_rq = indexedDB.open("idbtransaction-" + document.location + t.name);
    1211
    13     open_rq = indexedDB.open("idbtransaction-" + new Date().getTime() + Math.random());
     12  open_rq.onblocked = t.unreached_func('open_rq.onblocked');
     13  open_rq.onerror = t.unreached_func('open_rq.onerror');
    1414
    15     open_t.step(function() {
    16         assert_equals(open_rq.transaction, null, "IDBOpenDBRequest.transaction");
    17         assert_equals(open_rq.source, null, "IDBOpenDBRequest.source");
    18         assert_equals(open_rq.readyState, "pending", "IDBOpenDBRequest.readyState");
    19 
    20         assert_true(open_rq instanceof IDBOpenDBRequest, "open_rq instanceof IDBOpenDBRequest");
    21         assert_equals(open_rq + "", "[object IDBOpenDBRequest]", "IDBOpenDBRequest (open_rq)");
    22 
    23         open_t.done();
     15  open_rq.onupgradeneeded = t.step_func(function(e) {
     16    t.add_cleanup(function() {
     17      open_rq.onerror = function(e) {
     18        e.preventDefault();
     19      };
     20      open_rq.result.close();
     21      indexedDB.deleteDatabase(open_rq.result.name);
    2422    });
    2523
    26     open_rq.onupgradeneeded = t.step_func(function(e) {
    27         assert_equals(e.target, open_rq, "e.target is reusing the same IDBOpenDBRequest");
    28         assert_equals(e.target.transaction, open_rq.transaction, "IDBOpenDBRequest.transaction");
     24    assert_equals(e.target, open_rq, "e.target is reusing the same IDBOpenDBRequest");
     25    assert_equals(e.target.transaction, open_rq.transaction, "IDBOpenDBRequest.transaction");
    2926
    30         assert_true(e.target.transaction instanceof IDBTransaction, "transaction instanceof IDBTransaction");
    31         t.done();
     27    assert_true(e.target.transaction instanceof IDBTransaction, "transaction instanceof IDBTransaction");
     28    t.done();
     29  });
     30
     31}, document.title + " - request gotten by the handler");
     32
     33async_test(function(t) {
     34  var open_rq = indexedDB.open("idbtransaction-" + document.location + t.name);
     35
     36  assert_equals(open_rq.transaction, null, "IDBOpenDBRequest.transaction");
     37  assert_equals(open_rq.source, null, "IDBOpenDBRequest.source");
     38  assert_equals(open_rq.readyState, "pending", "IDBOpenDBRequest.readyState");
     39
     40  assert_true(open_rq instanceof IDBOpenDBRequest, "open_rq instanceof IDBOpenDBRequest");
     41  assert_equals(open_rq + "", "[object IDBOpenDBRequest]", "IDBOpenDBRequest (open_rq)");
     42
     43  open_rq.onblocked = t.unreached_func('open_rq.onblocked');
     44  open_rq.onerror = t.unreached_func('open_rq.onerror');
     45
     46  open_rq.onupgradeneeded = t.step_func(function() {
     47    t.add_cleanup(function() {
     48      open_rq.onerror = function(e) {
     49        e.preventDefault();
     50      };
     51      open_rq.result.close();
     52      indexedDB.deleteDatabase(open_rq.result.name);
    3253    });
     54    t.done();
     55  });
    3356
     57}, document.title + " - request returned by open()");
    3458
    35     // Not plausible conditions...
    36     function fail_helper(name) {
    37         return function() {
    38             t.step(function() { assert_unreached(name); });
    39             open_t.step(function() { assert_unreached(name); });
    40         };
    41     }
    42     open_rq.onblocked = fail_helper('open_rq.onblocked');
    43     open_rq.onerror = fail_helper('open_rq.onerror');
    4459</script>
    45 
    46 <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction_objectStoreNames.html

    r206999 r217225  
    7474                'previous transaction objectStoreNames should be unchanged');
    7575            assert_array_equals(db.objectStoreNames, saved_tx.objectStoreNames,
    76                 'connection and transaction objectStoreNames should match');
     76                                'connection and transaction objectStoreNames should match');
     77            db2.close();
    7778            t.done();
    7879        });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/support.js

    r213882 r217225  
    107107function indexeddb_test(upgrade_func, open_func, description, options) {
    108108  async_test(function(t) {
    109     var options = Object.assign({upgrade_will_abort: false}, options);
     109    options = Object.assign({upgrade_will_abort: false}, options);
    110110    var dbname = document.location + '-' + t.name;
    111111    var del = indexedDB.deleteDatabase(dbname);
    112112    del.onerror = t.unreached_func('deleteDatabase should succeed');
    113113    var open = indexedDB.open(dbname, 1);
    114     if (!options.upgrade_will_abort) {
     114    open.onupgradeneeded = t.step_func(function() {
     115      var db = open.result;
     116      t.add_cleanup(function() {
     117        // If open didn't succeed already, ignore the error.
     118        open.onerror = function(e) {
     119          e.preventDefault();
     120        };
     121        db.close();
     122        indexedDB.deleteDatabase(db.name);
     123      });
     124      var tx = open.transaction;
     125      upgrade_func(t, db, tx, open);
     126    });
     127    if (options.upgrade_will_abort) {
    115128      open.onsuccess = t.unreached_func('open should not succeed');
    116129    } else {
    117130      open.onerror = t.unreached_func('open should succeed');
     131      open.onsuccess = t.step_func(function() {
     132        var db = open.result;
     133        if (open_func)
     134          open_func(t, db, open);
     135      });
    118136    }
    119     open.onupgradeneeded = t.step_func(function() {
    120       var db = open.result;
    121       var tx = open.transaction;
    122       upgrade_func(t, db, tx);
    123     });
    124     open.onsuccess = t.step_func(function() {
    125       var db = open.result;
    126       t.add_cleanup(function() {
    127         db.close();
    128         indexedDB.deleteDatabase(db.name);
    129       });
    130       if (open_func)
    131         open_func(t, db);
    132     });
    133137  }, description);
    134138}
  • trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/w3c-import.log

    r216354 r217225  
    141141/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm
    142142/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory-deleteDatabase-opaque-origin.html
     143/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory-deleteDatabase-request-success.html
    143144/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory-open-error-properties.html
    144145/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory-open-opaque-origin.html
     146/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory-open-request-error.html
     147/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory-open-request-success.html
    145148/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_cmp.htm
    146149/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbfactory_cmp2.htm
     
    211214/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html
    212215/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html
     216/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-index-finished.html
    213217/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html
    214218/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-rename-abort.html
     
    297301/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbrequest_result.html
    298302/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html
     303/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html
    299304/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction-oncomplete.htm
    300305/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction.htm
     
    327332/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html
    328333/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade.html
     334/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/request-abort-ordering.html
    329335/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/request_bubble-and-capture.htm
    330336/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/string-list-ordering.htm
  • trunk/LayoutTests/imported/w3c/web-platform-tests/README.md

    r215164 r217225  
    4141excluded from your proxy lookups.
    4242
    43 Because web-platform-tests uses git submodules, you must ensure that
    44 these are up to date. In the root of your checkout, run:
    45 
    46 ```
    47 git submodule update --init --recursive
    48 ```
    49 
    5043The test environment can then be started using
    5144
     
    7770"ssl": {"openssl": {"binary": "/path/to/openssl"}}
    7871```
     72
     73Running Tests Automatically
     74---------------------------
     75
     76Tests can be run automatically in a browser using the `wptrun` script
     77in the root of the checkout. This requires the hosts file and OpenSSL
     78setup documented above, but you must *not* have the test server
     79already running when calling `wptrun`. The basic command line syntax
     80is:
     81
     82```
     83./wptrun product [tests]
     84```
     85
     86where `product` is currently `firefox` or `chrome` and `[tests]` is a
     87list of paths to tests. This will attempt to automatically locate a
     88browser instance and install required dependencies. The command is
     89very configurable; for examaple to specify a particular binary use
     90`wptrun --binary=path product`. The full range of options can be see
     91with `wptrun --help` and `wptrun --wptrunner-help`.
     92
     93Not all dependencies can be automatically installed; in particular the
     94`certutil` tool required to run https tests with Firefox must be
     95installed using a system package manager or similar.
     96
     97On Debian/Ubuntu certutil may be installed using:
     98
     99```
     100sudo apt install libnss3-tools
     101```
     102
     103And on macOS with homebrew using:
     104
     105```
     106brew install nss
     107```
     108
     109<span id="submodules">Submodules</span>
     110=======================================
     111
     112Some optional components of web-platform-tests (test components from
     113third party software and pieces of the CSS build system) are included
     114as submodules. To obtain these components run the following in the
     115root of your checkout:
     116
     117```
     118git submodule update --init --recursive
     119```
     120
     121Prior to commit `39d07eb01fab607ab1ffd092051cded1bdd64d78` submodules
     122were requried for basic functionality. If you are working with an
     123older checkout, the above command is required in all cases.
     124
     125When moving between a commit prior to `39d07eb` and one after it git
     126may complain
     127
     128```
     129$ git checkout master
     130error: The following untracked working tree files would be overwritten by checkout:
     131[…]
     132```
     133
     134followed by a long list of files. To avoid this error remove
     135the `resources` and `tools` directories before switching branches:
     136
     137```
     138$ rm -r resources/ tools/
     139$ git checkout master
     140Switched to branch 'master'
     141Your branch is up-to-date with 'origin/master'
     142```
     143
     144When moving in the opposite direction, i.e. to a commit that does have
     145submodules, you will need to `git submodule update`, as above. If git
     146throws an error like:
     147
     148```
     149fatal: No url found for submodule path 'resources/webidl2/test/widlproc' in .gitmodules
     150Failed to recurse into submodule path 'resources/webidl2'
     151fatal: No url found for submodule path 'tools/html5lib' in .gitmodules
     152Failed to recurse into submodule path 'resources'
     153Failed to recurse into submodule path 'tools'
     154```
     155
     156then remove the `tools` and `resources` directories, as above.
    79157
    80158<span id="windows-notes">Windows Notes</span>
     
    187265The lint tool is also run automatically for every submitted pull
    188266request, and reviewers will not merge branches with tests that have
    189 lint errors, so you must fix any errors the lint tool reports. For
    190 details on doing that, see the [lint-tool documentation][lint-tool].
    191 
    192 But in the unusual case of error reports for things essential to a
     267lint errors, so you must fix any errors the lint tool reports.
     268
     269In the unusual case of error reports for things essential to a
    193270certain test or that for other exceptional reasons shouldn't prevent
    194271a merge of a test, update and commit the `lint.whitelist` file in the
    195 web-platform-tests root directory to suppress the error reports. For
    196 details on doing that, see the [lint-tool documentation][lint-tool].
    197 
    198 [lint-tool]: https://github.com/w3c/web-platform-tests/blob/master/docs/lint-tool.md
     272web-platform-tests root directory to suppress the error reports.
     273
     274For more details, see the [lint-tool documentation][lint-tool].
     275
     276[lint-tool]: http://web-platform-tests.org/writing-tests/lint-tool.html
    199277
    200278Adding command-line scripts ("tools" subdirs)
     
    258336[contributing]: https://github.com/w3c/web-platform-tests/blob/master/CONTRIBUTING.md
    259337[ircw3org]: https://www.w3.org/wiki/IRC
    260 [ircarchive]: http://krijnhoetmer.nl/irc-logs/testing/
    261 [mailarchive]: http://lists.w3.org/Archives/Public/public-test-infra/
     338[ircarchive]: http://logs.glob.uno/?c=w3%23testing
     339[mailarchive]: https://lists.w3.org/Archives/Public/public-test-infra/
    262340
    263341Documentation
    264342=============
    265343
    266 * [How to write and review tests](http://testthewebforward.org/docs/)
     344* [How to write and review tests](http://web-platform-tests.org/)
    267345* [Documentation for the wptserve server](http://wptserve.readthedocs.org/en/latest/)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js

    r212124 r217225  
    1 
    2 function run_test() {
     1function run_test(testPasswordSize, testSaltSize) {
    32    // May want to test prefixed implementations.
    43    var subtle = self.crypto.subtle;
     
    2928        // that way, so navigate it to run tests and compare with correct results.
    3029        Object.keys(derivations).forEach(function(passwordSize) {
     30            if (typeof testPasswordSize != 'undefined' && testPasswordSize != passwordSize) return;
    3131            Object.keys(derivations[passwordSize]).forEach(function(saltSize) {
     32                if (typeof testSaltSize != 'undefined' && testSaltSize != saltSize) return;
    3233                Object.keys(derivations[passwordSize][saltSize]).forEach(function(hashName) {
    3334                    Object.keys(derivations[passwordSize][saltSize][hashName]).forEach(function(iterations) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log

    r216354 r217225  
    2525/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.js
    2626/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js
    27 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html
    28 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html
    29 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html
    30 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html
     27/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html
     28/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html
     29/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https.html
     30/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html
     31/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html
     32/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html
     33/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html
     34/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html
     35/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html
     36/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html
     37/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html
     38/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/digest.js
    1818/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/digest.worker.js
    19 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.html
     19/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log

    r216354 r217225  
    2525/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.js
    2626/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa_vectors.js
    27 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html
    28 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html
    29 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html
    30 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html
     27/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https.html
     28/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.https.html
     29/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.https.html
     30/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.js

    r212124 r217225  
    11
    2 function run_test(algorithmNames) {
     2function run_test(algorithmNames, slowTest) {
    33    var subtle = crypto.subtle; // Change to test prefixed implementations
    44
     
    7575    // key generation.
    7676    testVectors.forEach(function(vector) {
    77         allNameVariants(vector.name).forEach(function(name) {
     77        allNameVariants(vector.name, slowTest).forEach(function(name) {
    7878            allAlgorithmSpecifiersFor(name).forEach(function(algorithm) {
    7979                allValidUsages(vector.usages, false, vector.mandatoryUsages).forEach(function(usages) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log

    r216354 r217225  
    3939/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js
    4040/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js
    41 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html
    42 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html
    43 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html
    44 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html
    45 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html
    46 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html
    47 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html
    48 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html
    49 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html
    50 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html
    51 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html
    52 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html
    53 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html
    54 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html
    55 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html
    56 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html
    57 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html
    58 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html
    59 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html
    60 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html
    61 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html
    62 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html
    63 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html
    64 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html
     41/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html
     42/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html
     43/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https.html
     44/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html
     45/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html
     46/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html
     47/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html
     48/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html
     49/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html
     50/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html
     51/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html
     52/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html
     53/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html
     54/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html
     55/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html
     56/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html
     57/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html
     58/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html
     59/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html
     60/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html
     61/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html
     62/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html
     63/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/w3c-import.log

    r216354 r217225  
    2121/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.js
    2222/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.js
    23 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html
    24 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html
    25 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html
     23/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https.html
     24/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html
     25/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log

    r216354 r217225  
    2626/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.js
    2727/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss_vectors.js
    28 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html
    29 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html
    30 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html
    31 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html
     28/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https.html
     29/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.https.html
     30/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https.html
     31/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/helpers.js

    r212124 r217225  
    220220// Algorithm name specifiers are case-insensitive. Generate several
    221221// case variations of a given name.
    222 function allNameVariants(name) {
     222function allNameVariants(name, slowTest) {
    223223    var upCaseName = name.toUpperCase();
    224224    var lowCaseName = name.toLowerCase();
    225225    var mixedCaseName = upCaseName.substring(0, 1) + lowCaseName.substring(1);
    226226
     227    // for slow tests effectively cut the amount of work in third by only
     228    // returning one variation
     229    if (slowTest) return [mixedCaseName];
    227230    return [upCaseName, lowCaseName, mixedCaseName];
    228231}
    229 
    230 
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/helpers.js
     18/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/worker-report-crypto-subtle-presence.js
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/w3c-import.log

    r216354 r217225  
    2020/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues.any.js
    2121/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.html
     22/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.html
    2223/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html
     17/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html
    1818/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js
    1919/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.js
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/has-instance-expected.txt

    r204219 r217225  
     1
    12
    23PASS Manually-constructed prototype chains are correctly handled by instanceof
     4PASS instanceof must return false across different globals, for platform objects
     5PASS platform objects do not have Symbol.hasInstance installed
    36
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/has-instance.html

    r204219 r217225  
    11<!doctype html>
    22<meta charset="utf-8">
    3 <title></title>
     3<title>instanceof behavior</title>
    44<script src="/resources/testharness.js"></script>
    55<script src="/resources/testharnessreport.js"></script>
     6
     7<iframe></iframe>
     8
    69<script>
    710test(function() {
     
    1114  assert_false(obj instanceof Attr);
    1215}, "Manually-constructed prototype chains are correctly handled by instanceof");
     16
     17test(() => {
     18  // This tests that the historical override of [[HasInstance]] was removed:
     19  // https://github.com/heycam/webidl/pull/356
     20  assert_false(document.body instanceof frames[0].Element);
     21}, "instanceof must return false across different globals, for platform objects");
     22
     23test(() => {
     24  assert_false(EventTarget.hasOwnProperty(Symbol.hasInstance));
     25}, "platform objects do not have Symbol.hasInstance installed");
    1326</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/has-instance.html
    1818/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/interface-object.html
     19/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/interface-prototype-object.html
     20/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html
     21/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html
     22/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
     17/LayoutTests/imported/w3c/web-platform-tests/WebIDL/OWNERS
    1718/LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm.html
    1819/LayoutTests/imported/w3c/web-platform-tests/WebIDL/readme.txt
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-foreach.html

    r206999 r217225  
    1515    fd.append('n3', 'v6');
    1616    fd.delete('n2');
    17     var expected_keys = ['n1', 'n3', 'n1', 'n3'];
    18     var expected_values = ['v1', 'v3', 'v4', 'v6'];
     17
     18    var file = new File(['hello'], "hello.txt");
     19    fd.append('f1', file);
     20
     21    var expected_keys = ['n1', 'n3', 'n1', 'n3', 'f1'];
     22    var expected_values = ['v1', 'v3', 'v4', 'v6', file];
    1923    test(function() {
    2024        var mykeys = [], myvalues = [];
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm

    r191546 r217225  
    1919              assert_equals(client.getResponseHeader('X-Test-Me'), null)
    2020              assert_equals(client.getAllResponseHeaders().indexOf('Trailer header value'), -1)
    21               assert_regexp_match(client.getAllResponseHeaders(), /Trailer:\sX-Test-Me/)
     21              assert_regexp_match(client.getAllResponseHeaders(), /trailer:\sX-Test-Me/)
    2222              assert_equals(client.responseText, "First chunk\r\nSecond chunk\r\nYet another (third) chunk\r\nYet another (fourth) chunk\r\n")
    2323              test.done()
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/interfaces-expected.txt

    r217047 r217225  
    1 CONSOLE MESSAGE: line 251: callback not yet supported
    21XMLHttpRequest IDL tests
    32
    43
    5 PASS XMLHttpRequestEventTarget interface: existence and properties of interface object
    6 PASS XMLHttpRequestEventTarget interface object length
    7 PASS XMLHttpRequestEventTarget interface object name
    8 PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object
    9 PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's "constructor" property
    10 PASS XMLHttpRequestEventTarget interface: attribute onloadstart
    11 PASS XMLHttpRequestEventTarget interface: attribute onprogress
    12 PASS XMLHttpRequestEventTarget interface: attribute onabort
    13 PASS XMLHttpRequestEventTarget interface: attribute onerror
    14 PASS XMLHttpRequestEventTarget interface: attribute onload
    15 PASS XMLHttpRequestEventTarget interface: attribute ontimeout
    16 PASS XMLHttpRequestEventTarget interface: attribute onloadend
    17 PASS XMLHttpRequestUpload interface: existence and properties of interface object
    18 PASS XMLHttpRequestUpload interface object length
    19 PASS XMLHttpRequestUpload interface object name
    20 PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object
    21 PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property
    22 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadstart" with the proper type (0)
    23 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onprogress" with the proper type (1)
    24 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onabort" with the proper type (2)
    25 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onerror" with the proper type (3)
    26 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onload" with the proper type (4)
    27 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "ontimeout" with the proper type (5)
    28 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadend" with the proper type (6)
    29 PASS XMLHttpRequest interface: existence and properties of interface object
    30 PASS XMLHttpRequest interface object length
    31 PASS XMLHttpRequest interface object name
    32 PASS XMLHttpRequest interface: existence and properties of interface prototype object
    33 PASS XMLHttpRequest interface: existence and properties of interface prototype object's "constructor" property
    34 PASS XMLHttpRequest interface: attribute onreadystatechange
    35 PASS XMLHttpRequest interface: constant UNSENT on interface object
    36 PASS XMLHttpRequest interface: constant UNSENT on interface prototype object
    37 PASS XMLHttpRequest interface: constant OPENED on interface object
    38 PASS XMLHttpRequest interface: constant OPENED on interface prototype object
    39 PASS XMLHttpRequest interface: constant HEADERS_RECEIVED on interface object
    40 PASS XMLHttpRequest interface: constant HEADERS_RECEIVED on interface prototype object
    41 PASS XMLHttpRequest interface: constant LOADING on interface object
    42 PASS XMLHttpRequest interface: constant LOADING on interface prototype object
    43 PASS XMLHttpRequest interface: constant DONE on interface object
    44 PASS XMLHttpRequest interface: constant DONE on interface prototype object
    45 PASS XMLHttpRequest interface: attribute readyState
    46 PASS XMLHttpRequest interface: operation open(ByteString,USVString)
    47 PASS XMLHttpRequest interface: operation open(ByteString,USVString,boolean,USVString,USVString)
    48 PASS XMLHttpRequest interface: operation setRequestHeader(ByteString,ByteString)
    49 PASS XMLHttpRequest interface: attribute timeout
    50 PASS XMLHttpRequest interface: attribute withCredentials
    51 PASS XMLHttpRequest interface: attribute upload
    52 PASS XMLHttpRequest interface: operation send([object Object],[object Object])
    53 PASS XMLHttpRequest interface: operation abort()
    54 PASS XMLHttpRequest interface: attribute responseURL
    55 PASS XMLHttpRequest interface: attribute status
    56 PASS XMLHttpRequest interface: attribute statusText
    57 PASS XMLHttpRequest interface: operation getResponseHeader(ByteString)
    58 PASS XMLHttpRequest interface: operation getAllResponseHeaders()
    59 PASS XMLHttpRequest interface: operation overrideMimeType(DOMString)
    60 PASS XMLHttpRequest interface: attribute responseType
    61 PASS XMLHttpRequest interface: attribute response
    62 PASS XMLHttpRequest interface: attribute responseText
    63 PASS XMLHttpRequest interface: attribute responseXML
    64 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "onreadystatechange" with the proper type (0)
    65 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "UNSENT" with the proper type (1)
    66 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "OPENED" with the proper type (2)
    67 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "HEADERS_RECEIVED" with the proper type (3)
    68 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "LOADING" with the proper type (4)
    69 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "DONE" with the proper type (5)
    70 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "readyState" with the proper type (6)
    71 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open" with the proper type (7)
    72 PASS XMLHttpRequest interface: calling open(ByteString,USVString) on new XMLHttpRequest() with too few arguments must throw TypeError
    73 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open" with the proper type (8)
    74 PASS XMLHttpRequest interface: calling open(ByteString,USVString,boolean,USVString,USVString) on new XMLHttpRequest() with too few arguments must throw TypeError
    75 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "setRequestHeader" with the proper type (9)
    76 PASS XMLHttpRequest interface: calling setRequestHeader(ByteString,ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError
    77 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "timeout" with the proper type (10)
    78 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "withCredentials" with the proper type (11)
    79 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "upload" with the proper type (12)
    80 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "send" with the proper type (13)
    81 PASS XMLHttpRequest interface: calling send([object Object],[object Object]) on new XMLHttpRequest() with too few arguments must throw TypeError
    82 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "abort" with the proper type (14)
    83 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseURL" with the proper type (15)
    84 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "status" with the proper type (16)
    85 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "statusText" with the proper type (17)
    86 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getResponseHeader" with the proper type (18)
    87 PASS XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError
    88 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getAllResponseHeaders" with the proper type (19)
    89 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "overrideMimeType" with the proper type (20)
    90 PASS XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError
    91 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseType" with the proper type (21)
    92 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "response" with the proper type (22)
    93 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseText" with the proper type (23)
    94 PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseXML" with the proper type (24)
    95 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadstart" with the proper type (0)
    96 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onprogress" with the proper type (1)
    97 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onabort" with the proper type (2)
    98 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onerror" with the proper type (3)
    99 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onload" with the proper type (4)
    100 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "ontimeout" with the proper type (5)
    101 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadend" with the proper type (6)
    102 PASS FormData interface: existence and properties of interface object
    103 PASS FormData interface object length
    104 PASS FormData interface object name
    105 PASS FormData interface: existence and properties of interface prototype object
    106 PASS FormData interface: existence and properties of interface prototype object's "constructor" property
    107 PASS FormData interface: operation append(USVString,Blob,USVString)
    108 PASS FormData interface: operation append(USVString,USVString)
    109 FAIL FormData interface: operation delete(USVString) assert_own_property: interface prototype object missing non-static operation expected property "delete" missing
    110 FAIL FormData interface: operation get(USVString) assert_own_property: interface prototype object missing non-static operation expected property "get" missing
    111 FAIL FormData interface: operation getAll(USVString) assert_own_property: interface prototype object missing non-static operation expected property "getAll" missing
    112 FAIL FormData interface: operation has(USVString) assert_own_property: interface prototype object missing non-static operation expected property "has" missing
    113 FAIL FormData interface: operation set(USVString,Blob,USVString) assert_own_property: interface prototype object missing non-static operation expected property "set" missing
    114 FAIL FormData interface: operation set(USVString,USVString) assert_own_property: interface prototype object missing non-static operation expected property "set" missing
    115 PASS FormData interface: new FormData() must inherit property "append" with the proper type (0)
    116 PASS FormData interface: calling append(USVString,Blob,USVString) on new FormData() with too few arguments must throw TypeError
    117 PASS FormData interface: new FormData() must inherit property "append" with the proper type (1)
    118 PASS FormData interface: calling append(USVString,USVString) on new FormData() with too few arguments must throw TypeError
    119 FAIL FormData interface: new FormData() must inherit property "delete" with the proper type (2) assert_inherits: property "delete" not found in prototype chain
    120 FAIL FormData interface: calling delete(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "delete" not found in prototype chain
    121 FAIL FormData interface: new FormData() must inherit property "get" with the proper type (3) assert_inherits: property "get" not found in prototype chain
    122 FAIL FormData interface: calling get(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "get" not found in prototype chain
    123 FAIL FormData interface: new FormData() must inherit property "getAll" with the proper type (4) assert_inherits: property "getAll" not found in prototype chain
    124 FAIL FormData interface: calling getAll(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "getAll" not found in prototype chain
    125 FAIL FormData interface: new FormData() must inherit property "has" with the proper type (5) assert_inherits: property "has" not found in prototype chain
    126 FAIL FormData interface: calling has(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "has" not found in prototype chain
    127 FAIL FormData interface: new FormData() must inherit property "set" with the proper type (6) assert_inherits: property "set" not found in prototype chain
    128 FAIL FormData interface: calling set(USVString,Blob,USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
    129 FAIL FormData interface: new FormData() must inherit property "set" with the proper type (7) assert_inherits: property "set" not found in prototype chain
    130 FAIL FormData interface: calling set(USVString,USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
    131 PASS FormData interface: new FormData(form) must inherit property "append" with the proper type (0)
    132 PASS FormData interface: calling append(USVString,Blob,USVString) on new FormData(form) with too few arguments must throw TypeError
    133 PASS FormData interface: new FormData(form) must inherit property "append" with the proper type (1)
    134 PASS FormData interface: calling append(USVString,USVString) on new FormData(form) with too few arguments must throw TypeError
    135 FAIL FormData interface: new FormData(form) must inherit property "delete" with the proper type (2) assert_inherits: property "delete" not found in prototype chain
    136 FAIL FormData interface: calling delete(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "delete" not found in prototype chain
    137 FAIL FormData interface: new FormData(form) must inherit property "get" with the proper type (3) assert_inherits: property "get" not found in prototype chain
    138 FAIL FormData interface: calling get(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "get" not found in prototype chain
    139 FAIL FormData interface: new FormData(form) must inherit property "getAll" with the proper type (4) assert_inherits: property "getAll" not found in prototype chain
    140 FAIL FormData interface: calling getAll(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "getAll" not found in prototype chain
    141 FAIL FormData interface: new FormData(form) must inherit property "has" with the proper type (5) assert_inherits: property "has" not found in prototype chain
    142 FAIL FormData interface: calling has(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "has" not found in prototype chain
    143 FAIL FormData interface: new FormData(form) must inherit property "set" with the proper type (6) assert_inherits: property "set" not found in prototype chain
    144 FAIL FormData interface: calling set(USVString,Blob,USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
    145 FAIL FormData interface: new FormData(form) must inherit property "set" with the proper type (7) assert_inherits: property "set" not found in prototype chain
    146 FAIL FormData interface: calling set(USVString,USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
    147 PASS ProgressEvent interface: existence and properties of interface object
    148 PASS ProgressEvent interface object length
    149 PASS ProgressEvent interface object name
    150 PASS ProgressEvent interface: existence and properties of interface prototype object
    151 PASS ProgressEvent interface: existence and properties of interface prototype object's "constructor" property
    152 PASS ProgressEvent interface: attribute lengthComputable
    153 PASS ProgressEvent interface: attribute loaded
    154 PASS ProgressEvent interface: attribute total
     4FAIL Test driver promise_test: Unhandled rejection with value: object "Unrecognised tokens, line 1 (tokens: '{"error": {')
     5[
     6    {
     7        "type": "other",
     8        "value": "{"
     9    },
     10    {
     11        "type": "string",
     12        "value": "\"error\""
     13    },
     14    {
     15        "type": "other",
     16        "value": ":"
     17    },
     18    {
     19        "type": "whitespace",
     20        "value": " "
     21    },
     22    {
     23        "type": "other",
     24        "value": "{"
     25    }
     26]"
    15527
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/interfaces.html

    r191546 r217225  
    1010<div id=log></div>
    1111
    12 <script type=text/plain class=untested>
    13 [Constructor(DOMString type, optional EventInit eventInitDict)/*,
    14  Exposed=(Window,Worker)*/]
    15 interface Event {
    16   readonly attribute DOMString type;
    17   readonly attribute EventTarget? target;
    18   readonly attribute EventTarget? currentTarget;
    19 
    20   const unsigned short NONE = 0;
    21   const unsigned short CAPTURING_PHASE = 1;
    22   const unsigned short AT_TARGET = 2;
    23   const unsigned short BUBBLING_PHASE = 3;
    24   readonly attribute unsigned short eventPhase;
    25 
    26   void stopPropagation();
    27   void stopImmediatePropagation();
    28 
    29   readonly attribute boolean bubbles;
    30   readonly attribute boolean cancelable;
    31   void preventDefault();
    32   readonly attribute boolean defaultPrevented;
    33 
    34   [Unforgeable] readonly attribute boolean isTrusted;
    35   readonly attribute DOMTimeStamp timeStamp;
    36 
    37   void initEvent(DOMString type, boolean bubbles, boolean cancelable);
    38 };
    39 
    40 dictionary EventInit {
    41   boolean bubbles = false;
    42   boolean cancelable = false;
    43 };
    44 
    45 /*[Exposed=(Window,Worker)]*/
    46 interface EventTarget {
    47   void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
    48   void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
    49   boolean dispatchEvent(Event event);
    50 };
    51 </script>
    5212<script type=text/plain class=untested>
    5313[TreatNonCallableAsNull]
     
    150110<script>
    151111"use strict";
    152 var form;
    153 var idlArray;
    154 setup(function() {
    155   form = document.createElement("form");
    156   idlArray = new IdlArray();
     112var form = document.createElement("form");
     113var idlArray = new IdlArray();
     114
     115function doTest(domIdl) {
     116  idlArray.add_untested_idls(domIdl);
    157117  [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
    158118    if (node.className == "untested") {
     
    167127    FormData: ['new FormData()', 'new FormData(form)']
    168128  });
    169 });
    170 idlArray.test();
     129  idlArray.test();
     130}
     131
     132promise_test(function() {
     133  return fetch("/interfaces/dom.idl").then(response => response.text())
     134                                     .then(doTest);
     135}, "Test driver");
    171136</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin.htm

    r213882 r217225  
    1919        var finalWorkerURL = "workerxhr-origin-referrer.js";
    2020        var url = "resources/redirect.py?location=" + encodeURIComponent(finalWorkerURL);
    21         var worker = new Worker(url, true)
     21        var worker = new Worker(url)
    2222        worker.onmessage = function (e) {
    2323            var subtest = async_test(e.data.test)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/w3c-import.log

    r216354 r217225  
    1818/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/accept.py
    1919/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/authentication.py
     20/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/base.xml
    2021/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/chunked.py
    2122/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/conditional.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm

    r206999 r217225  
    55    <script src="/resources/testharness.js"></script>
    66    <script src="/resources/testharnessreport.js"></script>
    7     <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsexml-attribute" data-tested-assertations="following::ol[1]/li[4]" />
    8     <link rel="help" href="https://xhr.spec.whatwg.org/#document-response-entity-body" data-tested-assertations="following::ol[1]/li[6] following::ol[1]/li[7] following::ol[1]/li[8] following::ol[1]/li[10]" />
    97  </head>
    108  <body>
     
    1513      client.open("GET", "resources/well-formed.xml", false)
    1614      client.send(null)
     15      var responseURL = new URL('resources/well-formed.xml', location.href).href
    1716      var expected = {
    1817        domain:undefined,
    19         URL:location.href.replace(/[^/]*$/, 'resources/well-formed.xml'),
    20         documentURI:location.href.replace(/[^/]*$/, 'resources/well-formed.xml'),
     18        URL:responseURL,
     19        documentURI:responseURL,
     20        baseURI:responseURL,
    2121        referrer:'',
    2222        title:'',
     
    4343        }, name)
    4444      }
     45
     46      async_test(t => {
     47        const client = new XMLHttpRequest();
     48        client.open("GET", "resources/redirect.py?location=well-formed.xml");
     49        client.send();
     50        client.onload = t.step_func_done(() => {
     51          assert_equals(client.responseXML.URL, responseURL);
     52          assert_equals(client.responseXML.baseURI, responseURL);
     53        });
     54      }, "Test document URL properties after redirect");
     55
     56      async_test(t => {
     57        const client = new XMLHttpRequest();
     58        client.open("GET", "resources/redirect.py?location=base.xml");
     59        client.send();
     60        client.onload = t.step_func_done(() => {
     61          const localResponseURL = new URL('resources/base.xml', location.href).href;
     62          assert_equals(client.responseXML.URL, localResponseURL);
     63          assert_equals(client.responseXML.baseURI, 'https://example.com/');
     64          client.responseXML.documentElement.remove();
     65          assert_equals(client.responseXML.baseURI, localResponseURL);
     66          const newBase = document.createElement("base"),
     67                newBaseURL = "https://elsewhere.example/";
     68          newBase.href = "https://elsewhere.example/";
     69          client.responseXML.appendChild(newBase);
     70          assert_equals(client.responseXML.baseURI, newBaseURL);
     71          newBase.remove();
     72          document.head.appendChild(newBase);
     73          assert_equals(client.responseXML.baseURI, localResponseURL);
     74          newBase.remove();
     75        });
     76      }, "Test document URL properties of document with <base> after redirect");
    4577
    4678      test(function() {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log

    r216354 r217225  
    143143/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-content-type-string.htm
    144144/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-data-arraybuffer.htm
     145/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-data-arraybufferview.htm
    145146/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-data-blob.htm
    146147/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-data-es-object.htm
  • trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
     17/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-content-type.html
    1718/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html
    1819/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
     17/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/content-type.py
    1718/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/inspect-header.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/check_stability.py

    r215164 r217225  
    1010import tarfile
    1111import zipfile
     12from ConfigParser import RawConfigParser, SafeConfigParser
    1213from abc import ABCMeta, abstractmethod
    1314from cStringIO import StringIO as CStringIO
    1415from collections import defaultdict, OrderedDict
    15 from ConfigParser import RawConfigParser
     16from distutils.spawn import find_executable
    1617from io import BytesIO, StringIO
    1718
     
    3233
    3334logger = None
     35
    3436
    3537def do_delayed_imports():
     
    172174        return NotImplemented
    173175
     176    def prepare_environment(self):
     177        """Do any additional setup of the environment required to start the
     178           browser successfully
     179        """
     180        pass
     181
    174182
    175183class Firefox(Browser):
     
    182190    binary = "%s/firefox/firefox"
    183191    platform_ini = "%s/firefox/platform.ini"
     192
     193    def __init__(self, **kwargs):
     194        pass
    184195
    185196    def install(self):
     
    253264    binary = "/usr/bin/google-chrome"
    254265
     266    def __init__(self, **kwargs):
     267        pass
     268
    255269    def install(self):
    256270        """Install Chrome."""
     
    280294            "binary": self.binary,
    281295            "webdriver_binary": "%s/chromedriver" % root,
     296            "test_types": ["testharness", "reftest"]
     297        }
     298
     299    def prepare_environment(self):
     300        # https://bugs.chromium.org/p/chromium/issues/detail?id=713947
     301        logger.debug("DBUS_SESSION_BUS_ADDRESS %s" % os.environ.get("DBUS_SESSION_BUS_ADDRESS"))
     302        if "DBUS_SESSION_BUS_ADDRESS" not in os.environ:
     303            if find_executable("dbus-launch"):
     304                logger.debug("Attempting to start dbus")
     305                dbus_conf = subprocess.check_output(["dbus-launch"])
     306                logger.debug(dbus_conf)
     307
     308                # From dbus-launch(1):
     309                #
     310                # > When dbus-launch prints bus information to standard output,
     311                # > by default it is in a simple key-value pairs format.
     312                for line in dbus_conf.strip().split("\n"):
     313                    key, _, value = line.partition("=")
     314                    os.environ[key] = value
     315            else:
     316                logger.critical("dbus not running and can't be started")
     317                sys.exit(1)
     318
     319
     320class Sauce(Browser):
     321    """Sauce-specific interface.
     322
     323    Includes installation and wptrunner setup methods.
     324    """
     325
     326    product = "sauce"
     327
     328    def __init__(self, **kwargs):
     329        browser = kwargs["product"].split(":")
     330        self.browser_name = browser[1]
     331        self.browser_version = browser[2]
     332        self.sauce_platform = kwargs["sauce_platform"]
     333        self.sauce_build = kwargs["sauce_build_number"]
     334        self.sauce_key = kwargs["sauce_key"]
     335        self.sauce_user = kwargs["sauce_user"]
     336        self.sauce_build_tags = kwargs["sauce_build_tags"]
     337        self.sauce_tunnel_id = kwargs["sauce_tunnel_identifier"]
     338
     339    def install(self):
     340        """Install sauce selenium python deps."""
     341        call("pip", "install", "-r", os.path.join(wptrunner_root, "requirements_sauce.txt"))
     342
     343    def install_webdriver(self):
     344        """No need to install webdriver locally."""
     345        pass
     346
     347    def version(self, root):
     348        """Retrieve the release version of the browser under test."""
     349        return self.browser_version
     350
     351    def wptrunner_args(self, root):
     352        """Return Sauce-specific wptrunner arguments."""
     353        return {
     354            "product": "sauce",
     355            "sauce_browser": self.browser_name,
     356            "sauce_build": self.sauce_build,
     357            "sauce_key": self.sauce_key,
     358            "sauce_platform": self.sauce_platform,
     359            "sauce_tags": self.sauce_build_tags,
     360            "sauce_tunnel_id": self.sauce_tunnel_id,
     361            "sauce_user": self.sauce_user,
     362            "sauce_version": self.browser_version,
    282363            "test_types": ["testharness", "reftest"]
    283364        }
     
    384465
    385466def install_wptrunner():
    386     """Clone and install wptrunner."""
    387     call("git", "clone", "--depth=1", "https://github.com/w3c/wptrunner.git", wptrunner_root)
    388     git = get_git_cmd(wptrunner_root)
    389     git("submodule", "update", "--init", "--recursive")
     467    """Install wptrunner."""
    390468    call("pip", "install", wptrunner_root)
    391469
     
    440518
    441519
    442 def get_files_changed(branch_point):
    443     """Get and return files changed since current branch diverged from master."""
     520def get_files_changed(branch_point, ignore_changes):
     521    """Get and return files changed since current branch diverged from master,
     522    excluding those that are located within any directory specifed by
     523    `ignore_changes`."""
    444524    root = os.path.abspath(os.curdir)
    445525    git = get_git_cmd(wpt_root)
    446526    files = git("diff", "--name-only", "-z", "%s..." % branch_point)
    447527    if not files:
    448         return []
     528        return [], []
    449529    assert files[-1] == "\0"
    450     return [os.path.join(wpt_root, item)
    451             for item in files[:-1].split("\0")]
    452 
    453 
    454 def get_affected_testfiles(files_changed):
     530
     531    changed = []
     532    ignored = []
     533    for item in files[:-1].split("\0"):
     534        fullpath = os.path.join(wpt_root, item)
     535        topmost_dir = item.split(os.sep, 1)[0]
     536        if topmost_dir in ignore_changes:
     537            ignored.append(fullpath)
     538        else:
     539            changed.append(fullpath)
     540
     541    return changed, ignored
     542
     543
     544def _in_repo_root(full_path):
     545    rel_path = os.path.relpath(full_path, wpt_root)
     546    path_components = rel_path.split(os.sep)
     547    return len(path_components) < 2
     548
     549
     550def get_affected_testfiles(files_changed, skip_tests):
    455551    """Determine and return list of test files that reference changed files."""
    456552    affected_testfiles = set()
     553    # Exclude files that are in the repo root, because
     554    # they are not part of any test.
     555    files_changed = [f for f in files_changed if not _in_repo_root(f)]
    457556    nontests_changed = set(files_changed)
    458557    manifest_file = os.path.join(wpt_root, "MANIFEST.json")
    459     skip_dirs = ["conformance-checkers", "docs", "tools"]
    460558    test_types = ["testharness", "reftest", "wdspec"]
    461559
     
    464562    support_files = {os.path.join(wpt_root, path)
    465563                     for _, path, _ in wpt_manifest.itertypes("support")}
     564    wdspec_test_files = {os.path.join(wpt_root, path)
     565                         for _, path, _ in wpt_manifest.itertypes("wdspec")}
    466566    test_files = {os.path.join(wpt_root, path)
    467567                  for _, path, _ in wpt_manifest.itertypes(*test_types)}
     
    473573        rel_path = os.path.relpath(full_path, wpt_root)
    474574        path_components = rel_path.split(os.sep)
    475         if len(path_components) < 2:
    476             # This changed file is in the repo root, so skip it
    477             # (because it's not part of any test).
    478             continue
    479575        top_level_subdir = path_components[0]
    480         if top_level_subdir in skip_dirs:
     576        if top_level_subdir in skip_tests:
    481577            continue
    482578        repo_path = "/" + os.path.relpath(full_path, wpt_root).replace(os.path.sep, "/")
    483579        nontest_changed_paths.add((full_path, repo_path))
    484580
     581    def affected_by_wdspec(test):
     582        affected = False
     583        if test in wdspec_test_files:
     584            for support_full_path, _ in nontest_changed_paths:
     585                # parent of support file or of "support" directory
     586                parent = os.path.dirname(support_full_path)
     587                if os.path.basename(parent) == "support":
     588                    parent = os.path.dirname(parent)
     589                relpath = os.path.relpath(test, parent)
     590                if not relpath.startswith(os.pardir):
     591                    # testfile is in subtree of support file
     592                    affected = True
     593                    break
     594        return affected
     595
    485596    for root, dirs, fnames in os.walk(wpt_root):
    486597        # Walk top_level_subdir looking for test files containing either the
    487         # relative filepath or absolute filepatch to the changed files.
     598        # relative filepath or absolute filepath to the changed files.
    488599        if root == wpt_root:
    489             for dir_name in skip_dirs:
     600            for dir_name in skip_tests:
    490601                dirs.remove(dir_name)
    491602        for fname in fnames:
     
    494605            if test_full_path not in test_files:
    495606                continue
     607            if affected_by_wdspec(test_full_path):
     608                affected_testfiles.add(test_full_path)
     609                continue
     610
    496611            with open(test_full_path, "rb") as fh:
    497612                file_contents = fh.read()
     
    622737
    623738    if len(parts) > 1:
    624        title += " (%s channel)" % parts[1]
     739       title += " (%s)" % parts[1]
    625740
    626741    return "# %s #" % title
     
    633748    s = s.replace('\r', u'\\r')
    634749    s = s.replace('`',  u'')
     750    s = s.replace('|', u'\\|')
    635751    return s
    636752
     
    652768    log("")
    653769
     770
    654771def write_inconsistent(inconsistent, iterations):
    655772    """Output inconsistent tests to logger.error."""
     
    707824def get_parser():
    708825    """Create and return script-specific argument parser."""
    709     parser = argparse.ArgumentParser()
     826    description = """Detect instabilities in new tests by executing tests
     827    repeatedly and comparing results between executions."""
     828    parser = argparse.ArgumentParser(description=description)
    710829    parser.add_argument("--root",
    711830                        action="store",
     
    731850                        type=int,
    732851                        help="Maximum number of bytes to write to standard output/error")
     852    parser.add_argument("--config-file",
     853                        action="store",
     854                        type=str,
     855                        help="Location of ini-formatted configuration file",
     856                        default="check_stability.ini")
     857    parser.add_argument("--sauce-platform",
     858                        action="store",
     859                        default=os.environ.get("PLATFORM"),
     860                        help="Sauce Labs OS")
     861    parser.add_argument("--sauce-build-number",
     862                        action="store",
     863                        default=os.environ.get("TRAVIS_BUILD_NUMBER"),
     864                        help="Sauce Labs build identifier")
     865    parser.add_argument("--sauce-build-tags",
     866                        action="store", nargs="*",
     867                        default=[os.environ.get("TRAVIS_PYTHON_VERSION")],
     868                        help="Sauce Labs build tag")
     869    parser.add_argument("--sauce-tunnel-identifier",
     870                        action="store",
     871                        default=os.environ.get("TRAVIS_JOB_NUMBER"),
     872                        help="Sauce Connect tunnel identifier")
     873    parser.add_argument("--sauce-user",
     874                        action="store",
     875                        default=os.environ.get("SAUCE_USERNAME"),
     876                        help="Sauce Labs user name")
     877    parser.add_argument("--sauce-key",
     878                        action="store",
     879                        default=os.environ.get("SAUCE_ACCESS_KEY"),
     880                        help="Sauce Labs access key")
    733881    parser.add_argument("product",
    734882                        action="store",
     
    747895    args = parser.parse_args()
    748896
     897    with open(args.config_file, 'r') as config_fp:
     898        config = SafeConfigParser()
     899        config.readfp(config_fp)
     900        skip_tests = config.get("file detection", "skip_tests").split()
     901        ignore_changes = set(config.get("file detection", "ignore_changes").split())
     902
    749903    if args.output_bytes is not None:
    750904        replace_streams(args.output_bytes,
     
    755909
    756910    wpt_root = os.path.abspath(os.curdir)
    757     wptrunner_root = os.path.normpath(os.path.join(wpt_root, "..", "wptrunner"))
     911    wptrunner_root = os.path.normpath(os.path.join(wpt_root, "tools", "wptrunner"))
    758912
    759913    if not os.path.exists(args.root):
     
    762916
    763917    os.chdir(args.root)
    764 
    765918    browser_name = args.product.split(":")[0]
     919
     920    if browser_name == "sauce" and not args.sauce_key:
     921        logger.warning("Cannot run tests on Sauce Labs. No access key.")
     922        return retcode
    766923
    767924    with TravisFold("browser_setup"):
     
    769926
    770927        browser_cls = {"firefox": Firefox,
    771                        "chrome": Chrome}.get(browser_name)
     928                       "chrome": Chrome,
     929                       "sauce": Sauce}.get(browser_name)
    772930        if browser_cls is None:
    773931            logger.critical("Unrecognised browser %s" % browser_name)
     
    783941        # For now just pass the whole list of changed files to wptrunner and
    784942        # assume that it will run everything that's actually a test
    785         files_changed = get_files_changed(branch_point)
     943        files_changed, files_ignored = get_files_changed(branch_point, ignore_changes)
     944
     945        if files_ignored:
     946            logger.info("Ignoring %s changed files:\n%s" % (len(files_ignored),
     947                                                            "".join(" * %s\n" % item for item in files_ignored)))
    786948
    787949        if not files_changed:
     
    793955        do_delayed_imports()
    794956
    795         browser = browser_cls()
     957        browser = browser_cls(**vars(args))
    796958        browser.install()
    797959        browser.install_webdriver()
     
    805967        logger.debug("Files changed:\n%s" % "".join(" * %s\n" % item for item in files_changed))
    806968
    807         affected_testfiles = get_affected_testfiles(files_changed)
     969        affected_testfiles = get_affected_testfiles(files_changed, skip_tests)
    808970
    809971        logger.debug("Affected tests:\n%s" % "".join(" * %s\n" % item for item in affected_testfiles))
     
    815977                                args.iterations,
    816978                                browser)
     979
     980        browser.prepare_environment()
    817981
    818982    with TravisFold("running_tests"):
     
    8561020        retcode = main()
    8571021    except:
    858         raise
     1022        import traceback
     1023        traceback.print_exc()
     1024        sys.exit(1)
    8591025    else:
    8601026        sys.exit(retcode)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/common/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/common/OWNERS
    1818/LayoutTests/imported/w3c/web-platform-tests/common/PrefixedLocalStorage.js
     19/LayoutTests/imported/w3c/web-platform-tests/common/PrefixedPostMessage.js
    1920/LayoutTests/imported/w3c/web-platform-tests/common/blank.html
    2021/LayoutTests/imported/w3c/web-platform-tests/common/canvas-frame.css
     
    3233/LayoutTests/imported/w3c/web-platform-tests/common/large.py
    3334/LayoutTests/imported/w3c/web-platform-tests/common/media.js
     35/LayoutTests/imported/w3c/web-platform-tests/common/object-association.js
     36/LayoutTests/imported/w3c/web-platform-tests/common/performance-timeline-utils.js
    3437/LayoutTests/imported/w3c/web-platform-tests/common/redirect-opt-in.py
    3538/LayoutTests/imported/w3c/web-platform-tests/common/redirect.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/cors/preflight-failure.htm

    r215164 r217225  
    2323 */
    2424function preflight_failure(code) {
    25   var desc = 'Should throw error if preflight respond with ' + code;
     25  var isCodeOK = code >= 200 && code <= 299,
     26      descOK = isCodeOK ? 'succeed' : 'throw error',
     27      desc = 'Should ' + descOK + ' if preflight has status ' + code;
    2628  async_test(desc).step(function() {
    2729    var client = new XMLHttpRequest();
    2830    var redirect =
    2931      encodeURIComponent(CROSSDOMAIN_URL + 'headers=x-test&' + req_c++);
    30 
    31     var isCodeOK = code >= 200 && code <= 299;
    3232
    3333    client.open('GET',
     
    5252  });
    5353}
    54 [100, 101,
    55  200,
     54[200, 299,
    5655 300, 301, 302, 303, 304, 305, 306, 307, 308,
    5756 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
    58  500, 501, 502, 503, 504, 505
     57 500, 501, 502, 503, 504, 505,
     58 680,
     59 790
    5960].forEach(preflight_failure);
    6061
  • trunk/LayoutTests/imported/w3c/web-platform-tests/cors/resources/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/cors/resources/304.py
     18/LayoutTests/imported/w3c/web-platform-tests/cors/resources/access-control-expose-headers-parsing-2.asis
     19/LayoutTests/imported/w3c/web-platform-tests/cors/resources/access-control-expose-headers-parsing.asis
    1820/LayoutTests/imported/w3c/web-platform-tests/cors/resources/checkandremove.py
    1921/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-cookie.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/cors/w3c-import.log

    r216354 r217225  
    1818/LayoutTests/imported/w3c/web-platform-tests/cors/OWNERS
    1919/LayoutTests/imported/w3c/web-platform-tests/cors/README.md
     20/LayoutTests/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window.js
    2021/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers.htm
    2122/LayoutTests/imported/w3c/web-platform-tests/cors/basic.htm
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/geometry-1/support/w3c-import.log

    r216959 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/css/geometry-1/support/dommatrix-test-util.js
     18/LayoutTests/imported/w3c/web-platform-tests/css/geometry-1/support/interfaces.js
  • trunk/LayoutTests/imported/w3c/web-platform-tests/cssom-view/cssom-view-window-screen-interface.html

    r215726 r217225  
    3131        test(function(){assert_true(window.screen.availHeight >= 0 && window.screen.availHeight <= window.screen.height);},
    3232            "window.screen.availHeight >= 0 && window.screen.availHeight <= window.screen.height");
    33         test(function(){assert_true(window.screen.colorDepth == 0 || window.screen.colorDepth == 16 || window.screen.colorDepth == 24 || window.screen.colorDepth == 32);},
     33        test(function(){assert_in_array(window.screen.colorDepth, [0, 16, 24, 32]);},
    3434            "window.screen.colorDepth == 0 || window.screen.colorDepth == 16 || window.screen.colorDepth == 24 || window.screen.colorDepth == 32");
    3535        test(function(){assert_equals(window.screen.pixelDepth, window.screen.colorDepth);},
  • trunk/LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList-expected.txt

    r217125 r217225  
    11
    2 PASS CSSOM - MediaList interface
     2PASS MediaList
     3PASS MediaList.mediaText
     4PASS MediaList.length
     5PASS MediaList getter
     6PASS MediaList.item
    37
  • trunk/LayoutTests/imported/w3c/web-platform-tests/cssom/w3c-import.log

    r217125 r217225  
    2323/LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleSheet.html
    2424/LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList.html
     25/LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList.xhtml
    2526/LayoutTests/imported/w3c/web-platform-tests/cssom/OWNERS
    2627/LayoutTests/imported/w3c/web-platform-tests/cssom/StyleSheetList.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/custom-elements/custom-element-registry/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/custom-elements/custom-element-registry/define.html
     18/LayoutTests/imported/w3c/web-platform-tests/custom-elements/custom-element-registry/per-global.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/custom-elements/w3c-import.log

    r216354 r217225  
    2424/LayoutTests/imported/w3c/web-platform-tests/custom-elements/custom-element-reaction-queue.html
    2525/LayoutTests/imported/w3c/web-platform-tests/custom-elements/disconnected-callbacks.html
     26/LayoutTests/imported/w3c/web-platform-tests/custom-elements/microtasks-and-constructors.html
    2627/LayoutTests/imported/w3c/web-platform-tests/custom-elements/reaction-timing.html
    2728/LayoutTests/imported/w3c/web-platform-tests/custom-elements/upgrading.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Make sure browsers throw when getting .length on some random object whose proto is an HTMLCollection</title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<script>
    77test(function() {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-empty-name.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>HTMLCollection and empty names</title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<div id=log></div>
    77<div id=test>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<!--  We want to use a tag name that will not interact with our test harness,
    77     so just make one up.  "foo" is a good one  -->
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<link rel=help href=https://dom.spec.whatwg.org/#interface-htmlcollection>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66
    77<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/domstringmap-supported-property-names.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>DOMStringMap Test: Supported property names</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id="log"></div>
    77
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/namednodemap-supported-property-names.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>NamedNodeMap Test: Supported property names</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id="log"></div>
    77<div id="simple" class="fancy">Simple</div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.html

    r215701 r217225  
    44<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-once">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.html

    r215701 r217225  
    44<link rel="author" title="Rick Byers" href="mailto:rbyers@chromium.org">
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-passive">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/CustomEvent.html

    r215701 r217225  
    11<!doctype html>
    22<title>CustomEvent</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-cancelBubble.html

    r215701 r217225  
    77  <link rel="help" href="https://dom.spec.whatwg.org/#dom-event-cancelbubble">
    88  <meta name="flags" content="dom">
    9   <script src="../../../../../resources/testharness.js"></script>
    10   <script src="../../../../../resources/testharnessreport.js"></script>
     9  <script src="/resources/testharness.js"></script>
     10  <script src="/resources/testharnessreport.js"></script>
    1111</head>
    1212<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-constants.html

    r215701 r217225  
    11<!doctype html>
    22<title>Event constants</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<script src="../constants.js"></script>
    66<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-constructors.html

    r215701 r217225  
    11<!doctype html>
    22<title>Event constructors</title>
    3 <script src=../../../../../resources/testharness.js></script>
    4 <script src=../../../../../resources/testharnessreport.js></script>
     3<script src=/resources/testharness.js></script>
     4<script src=/resources/testharnessreport.js></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Event.defaultPrevented is not reset after dipatchEvent()</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66</head>
    77<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-defaultPrevented.html

    r215701 r217225  
    11<!doctype html>
    22<title>Event.defaultPrevented</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-bubble-canceled.html

    r215701 r217225  
    33<head>
    44<title>Setting cancelBubble=true prior to dispatchEvent()</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-bubbles-false.html

    r215701 r217225  
    44<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-initevent">
    55<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id=log></div>
    99<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-bubbles-true.html

    r215701 r217225  
    44<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-initevent">
    55<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id=log></div>
    99<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click.html

    r215701 r217225  
    11<!doctype html>
    22<title>Synthetic click event "magic"</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<div id=dump style=display:none></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-detached-click.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Click event on an element not in the document</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-handlers-changed.html

    r215701 r217225  
    33<title> Dispatch additional events inside an event listener </title>
    44<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id=log></div>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-multiple-cancelBubble.html

    r215701 r217225  
    33<head>
    44<title>Multiple dispatchEvent() and cancelBubble</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation.html

    r215701 r217225  
    33<head>
    44<title> Multiple dispatchEvent() and stopPropagation() </title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-omitted-capture.html

    r215701 r217225  
    44<link rel="help" href="https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener">
    55<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id=log></div>
    99<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-order.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Event phases order</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-other-document.html

    r215701 r217225  
    11<!doctype html>
    22<title>Custom event on an element in another document</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html

    r215701 r217225  
    33<head>
    44<title> Calling stopPropagation() prior to dispatchEvent() </title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-redispatch.html

    r215701 r217225  
    22<meta charset=urf-8>
    33<title>EventTarget#dispatchEvent(): redispatching a native event</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id=log></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-reenter.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title> Dispatch additional events inside an event listener </title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id=log></div>
    77<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-target-moved.html

    r215701 r217225  
    33<title> Determined event propagation path - target moved </title>
    44<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id=log></div>
    88<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-target-removed.html

    r215701 r217225  
    33<title>Determined event propagation path - target removed</title>
    44<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id=log></div>
    88<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-throwing.html

    r215701 r217225  
    22<meta charset="UTF-8">
    33<title>Throwing in event listeners</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id="log"></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-init-while-dispatching.html

    r215701 r217225  
    33<title>Re-initializing events while dispatching them</title>
    44<link rel="author" title="Josh Matthews" href="mailto:josh@joshmatthews.net">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-initEvent.html

    r215701 r217225  
    22<title>Event.initEvent</title>
    33<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id="log"></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-propagation.html

    r215701 r217225  
    33<link rel=author title="Aryeh Gregor" href=ayg@aryeh.name>
    44<div id=log></div>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<script>
    88"use strict";
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-subclasses-constructors.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title>Event constructors</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id="log"></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-type-empty.html

    r215701 r217225  
    33<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    44<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-type">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-type.html

    r215701 r217225  
    33<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    44<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-type">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-handleEvent.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>EventListener::handleEvent()</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id=log></div>
    77<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-incumbent-global-1.sub.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<iframe src="{{location[scheme]}}://{{domains[www1]}}:{{ports[http][0]}}{{location[path]}}/../EventListener-incumbent-global-subframe-1.sub.html"></iframe>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-incumbent-global-2.sub.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<iframe src="{{location[scheme]}}://{{domains[www1]}}:{{ports[http][0]}}{{location[path]}}/../EventListener-incumbent-global-subframe-2.sub.html"></iframe>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-invoke-legacy.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title>Invoke legacy event listener</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<style>
    77  @keyframes test {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListenerOptions-capture.html

    r215701 r217225  
    44<link rel="author" title="Rick Byers" href="mailto:rbyers@chromium.org">
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-eventlisteneroptions-capture">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.html

    r215701 r217225  
    44<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-returnvalue.html

    r215701 r217225  
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-preventdefault">
    66<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-defaultprevented">
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<div id=log></div>
    1010<table id="table" border="1" style="display: none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html

    r215701 r217225  
    55<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    66<link rel="help" href="https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent">
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="/dom/nodes/Document-createEvent.js"></script>
    1010<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.html

    r215701 r217225  
    44<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical.html

    r215701 r217225  
    11<!DOCTYPE html>
     2
    23<title>Historical DOM features must be removed</title>
    3 <script src="../../../../resources/testharness.js"></script>
    4 <script src="../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    56<div id=log></div>
    67<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interface-objects.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Interfaces</title>
    3 <script src="../../../../resources/testharness.js"></script>
    4 <script src="../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt

    r217047 r217225  
    1 CONSOLE MESSAGE: line 251: callback not yet supported
    21DOM IDL tests
    32
    43
    5 PASS Event interface: existence and properties of interface object
    6 PASS Event interface object length
    7 PASS Event interface object name
    8 PASS Event interface: existence and properties of interface prototype object
    9 PASS Event interface: existence and properties of interface prototype object's "constructor" property
    10 PASS Event interface: attribute type
    11 PASS Event interface: attribute target
    12 PASS Event interface: attribute currentTarget
    13 PASS Event interface: constant NONE on interface object
    14 PASS Event interface: constant NONE on interface prototype object
    15 PASS Event interface: constant CAPTURING_PHASE on interface object
    16 PASS Event interface: constant CAPTURING_PHASE on interface prototype object
    17 PASS Event interface: constant AT_TARGET on interface object
    18 PASS Event interface: constant AT_TARGET on interface prototype object
    19 PASS Event interface: constant BUBBLING_PHASE on interface object
    20 PASS Event interface: constant BUBBLING_PHASE on interface prototype object
    21 PASS Event interface: attribute eventPhase
    22 PASS Event interface: operation stopPropagation()
    23 PASS Event interface: operation stopImmediatePropagation()
    24 PASS Event interface: attribute bubbles
    25 PASS Event interface: attribute cancelable
    26 PASS Event interface: operation preventDefault()
    27 PASS Event interface: attribute defaultPrevented
    28 PASS Event interface: attribute timeStamp
    29 PASS Event interface: operation initEvent(DOMString,boolean,boolean)
    30 PASS Event interface: document.createEvent("Event") must inherit property "type" with the proper type (0)
    31 PASS Event interface: document.createEvent("Event") must inherit property "target" with the proper type (1)
    32 PASS Event interface: document.createEvent("Event") must inherit property "currentTarget" with the proper type (2)
    33 PASS Event interface: document.createEvent("Event") must inherit property "NONE" with the proper type (3)
    34 PASS Event interface: document.createEvent("Event") must inherit property "CAPTURING_PHASE" with the proper type (4)
    35 PASS Event interface: document.createEvent("Event") must inherit property "AT_TARGET" with the proper type (5)
    36 PASS Event interface: document.createEvent("Event") must inherit property "BUBBLING_PHASE" with the proper type (6)
    37 PASS Event interface: document.createEvent("Event") must inherit property "eventPhase" with the proper type (7)
    38 PASS Event interface: document.createEvent("Event") must inherit property "stopPropagation" with the proper type (8)
    39 PASS Event interface: document.createEvent("Event") must inherit property "stopImmediatePropagation" with the proper type (9)
    40 PASS Event interface: document.createEvent("Event") must inherit property "bubbles" with the proper type (10)
    41 PASS Event interface: document.createEvent("Event") must inherit property "cancelable" with the proper type (11)
    42 PASS Event interface: document.createEvent("Event") must inherit property "preventDefault" with the proper type (12)
    43 PASS Event interface: document.createEvent("Event") must inherit property "defaultPrevented" with the proper type (13)
    44 PASS Event interface: document.createEvent("Event") must have own property "isTrusted"
    45 PASS Event interface: document.createEvent("Event") must inherit property "timeStamp" with the proper type (15)
    46 PASS Event interface: document.createEvent("Event") must inherit property "initEvent" with the proper type (16)
    47 PASS Event interface: calling initEvent(DOMString,boolean,boolean) on document.createEvent("Event") with too few arguments must throw TypeError
    48 PASS Event interface: new Event("foo") must inherit property "type" with the proper type (0)
    49 PASS Event interface: new Event("foo") must inherit property "target" with the proper type (1)
    50 PASS Event interface: new Event("foo") must inherit property "currentTarget" with the proper type (2)
    51 PASS Event interface: new Event("foo") must inherit property "NONE" with the proper type (3)
    52 PASS Event interface: new Event("foo") must inherit property "CAPTURING_PHASE" with the proper type (4)
    53 PASS Event interface: new Event("foo") must inherit property "AT_TARGET" with the proper type (5)
    54 PASS Event interface: new Event("foo") must inherit property "BUBBLING_PHASE" with the proper type (6)
    55 PASS Event interface: new Event("foo") must inherit property "eventPhase" with the proper type (7)
    56 PASS Event interface: new Event("foo") must inherit property "stopPropagation" with the proper type (8)
    57 PASS Event interface: new Event("foo") must inherit property "stopImmediatePropagation" with the proper type (9)
    58 PASS Event interface: new Event("foo") must inherit property "bubbles" with the proper type (10)
    59 PASS Event interface: new Event("foo") must inherit property "cancelable" with the proper type (11)
    60 PASS Event interface: new Event("foo") must inherit property "preventDefault" with the proper type (12)
    61 PASS Event interface: new Event("foo") must inherit property "defaultPrevented" with the proper type (13)
    62 PASS Event interface: new Event("foo") must have own property "isTrusted"
    63 PASS Event interface: new Event("foo") must inherit property "timeStamp" with the proper type (15)
    64 PASS Event interface: new Event("foo") must inherit property "initEvent" with the proper type (16)
    65 PASS Event interface: calling initEvent(DOMString,boolean,boolean) on new Event("foo") with too few arguments must throw TypeError
    66 PASS CustomEvent interface: existence and properties of interface object
    67 PASS CustomEvent interface object length
    68 PASS CustomEvent interface object name
    69 PASS CustomEvent interface: existence and properties of interface prototype object
    70 PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property
    71 PASS CustomEvent interface: attribute detail
    72 PASS CustomEvent interface: operation initCustomEvent(DOMString,boolean,boolean,any)
    73 PASS CustomEvent interface: new CustomEvent("foo") must inherit property "detail" with the proper type (0)
    74 PASS CustomEvent interface: new CustomEvent("foo") must inherit property "initCustomEvent" with the proper type (1)
    75 PASS CustomEvent interface: calling initCustomEvent(DOMString,boolean,boolean,any) on new CustomEvent("foo") with too few arguments must throw TypeError
    76 PASS Event interface: new CustomEvent("foo") must inherit property "type" with the proper type (0)
    77 PASS Event interface: new CustomEvent("foo") must inherit property "target" with the proper type (1)
    78 PASS Event interface: new CustomEvent("foo") must inherit property "currentTarget" with the proper type (2)
    79 PASS Event interface: new CustomEvent("foo") must inherit property "NONE" with the proper type (3)
    80 PASS Event interface: new CustomEvent("foo") must inherit property "CAPTURING_PHASE" with the proper type (4)
    81 PASS Event interface: new CustomEvent("foo") must inherit property "AT_TARGET" with the proper type (5)
    82 PASS Event interface: new CustomEvent("foo") must inherit property "BUBBLING_PHASE" with the proper type (6)
    83 PASS Event interface: new CustomEvent("foo") must inherit property "eventPhase" with the proper type (7)
    84 PASS Event interface: new CustomEvent("foo") must inherit property "stopPropagation" with the proper type (8)
    85 PASS Event interface: new CustomEvent("foo") must inherit property "stopImmediatePropagation" with the proper type (9)
    86 PASS Event interface: new CustomEvent("foo") must inherit property "bubbles" with the proper type (10)
    87 PASS Event interface: new CustomEvent("foo") must inherit property "cancelable" with the proper type (11)
    88 PASS Event interface: new CustomEvent("foo") must inherit property "preventDefault" with the proper type (12)
    89 PASS Event interface: new CustomEvent("foo") must inherit property "defaultPrevented" with the proper type (13)
    90 PASS Event interface: new CustomEvent("foo") must have own property "isTrusted"
    91 PASS Event interface: new CustomEvent("foo") must inherit property "timeStamp" with the proper type (15)
    92 PASS Event interface: new CustomEvent("foo") must inherit property "initEvent" with the proper type (16)
    93 PASS Event interface: calling initEvent(DOMString,boolean,boolean) on new CustomEvent("foo") with too few arguments must throw TypeError
    94 PASS EventTarget interface: existence and properties of interface object
    95 PASS EventTarget interface object length
    96 PASS EventTarget interface object name
    97 PASS EventTarget interface: existence and properties of interface prototype object
    98 PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property
    99 PASS EventTarget interface: operation addEventListener(DOMString,EventListener,[object Object],[object Object])
    100 PASS EventTarget interface: operation removeEventListener(DOMString,EventListener,[object Object],[object Object])
    101 PASS EventTarget interface: operation dispatchEvent(Event)
    102 PASS EventListener interface: existence and properties of interface object
    103 PASS EventListener interface: existence and properties of interface prototype object
    104 PASS EventListener interface: existence and properties of interface prototype object's "constructor" property
    105 PASS EventListener interface: operation handleEvent(Event)
    106 PASS NodeList interface: existence and properties of interface object
    107 PASS NodeList interface object length
    108 PASS NodeList interface object name
    109 PASS NodeList interface: existence and properties of interface prototype object
    110 PASS NodeList interface: existence and properties of interface prototype object's "constructor" property
    111 PASS NodeList interface: operation item(unsigned long)
    112 PASS NodeList interface: attribute length
    113 PASS NodeList interface: document.querySelectorAll("script") must inherit property "item" with the proper type (0)
    114 PASS NodeList interface: calling item(unsigned long) on document.querySelectorAll("script") with too few arguments must throw TypeError
    115 PASS NodeList interface: document.querySelectorAll("script") must inherit property "length" with the proper type (1)
    116 PASS HTMLCollection interface: existence and properties of interface object
    117 PASS HTMLCollection interface object length
    118 PASS HTMLCollection interface object name
    119 PASS HTMLCollection interface: existence and properties of interface prototype object
    120 PASS HTMLCollection interface: existence and properties of interface prototype object's "constructor" property
    121 PASS HTMLCollection interface: attribute length
    122 PASS HTMLCollection interface: operation item(unsigned long)
    123 PASS HTMLCollection interface: operation namedItem(DOMString)
    124 PASS HTMLCollection interface: document.body.children must inherit property "length" with the proper type (0)
    125 PASS HTMLCollection interface: document.body.children must inherit property "item" with the proper type (1)
    126 PASS HTMLCollection interface: calling item(unsigned long) on document.body.children with too few arguments must throw TypeError
    127 PASS HTMLCollection interface: document.body.children must inherit property "namedItem" with the proper type (2)
    128 PASS HTMLCollection interface: calling namedItem(DOMString) on document.body.children with too few arguments must throw TypeError
    129 PASS MutationObserver interface: existence and properties of interface object
    130 PASS MutationObserver interface object length
    131 PASS MutationObserver interface object name
    132 PASS MutationObserver interface: existence and properties of interface prototype object
    133 PASS MutationObserver interface: existence and properties of interface prototype object's "constructor" property
    134 PASS MutationObserver interface: operation observe(Node,MutationObserverInit)
    135 PASS MutationObserver interface: operation disconnect()
    136 PASS MutationObserver interface: operation takeRecords()
    137 PASS MutationRecord interface: existence and properties of interface object
    138 PASS MutationRecord interface object length
    139 PASS MutationRecord interface object name
    140 PASS MutationRecord interface: existence and properties of interface prototype object
    141 PASS MutationRecord interface: existence and properties of interface prototype object's "constructor" property
    142 PASS MutationRecord interface: attribute type
    143 PASS MutationRecord interface: attribute target
    144 PASS MutationRecord interface: attribute addedNodes
    145 PASS MutationRecord interface: attribute removedNodes
    146 PASS MutationRecord interface: attribute previousSibling
    147 PASS MutationRecord interface: attribute nextSibling
    148 PASS MutationRecord interface: attribute attributeName
    149 PASS MutationRecord interface: attribute attributeNamespace
    150 PASS MutationRecord interface: attribute oldValue
    151 PASS Node interface: existence and properties of interface object
    152 PASS Node interface object length
    153 PASS Node interface object name
    154 PASS Node interface: existence and properties of interface prototype object
    155 PASS Node interface: existence and properties of interface prototype object's "constructor" property
    156 PASS Node interface: constant ELEMENT_NODE on interface object
    157 PASS Node interface: constant ELEMENT_NODE on interface prototype object
    158 PASS Node interface: constant ATTRIBUTE_NODE on interface object
    159 PASS Node interface: constant ATTRIBUTE_NODE on interface prototype object
    160 PASS Node interface: constant TEXT_NODE on interface object
    161 PASS Node interface: constant TEXT_NODE on interface prototype object
    162 PASS Node interface: constant CDATA_SECTION_NODE on interface object
    163 PASS Node interface: constant CDATA_SECTION_NODE on interface prototype object
    164 PASS Node interface: constant ENTITY_REFERENCE_NODE on interface object
    165 PASS Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object
    166 PASS Node interface: constant ENTITY_NODE on interface object
    167 PASS Node interface: constant ENTITY_NODE on interface prototype object
    168 PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object
    169 PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object
    170 PASS Node interface: constant COMMENT_NODE on interface object
    171 PASS Node interface: constant COMMENT_NODE on interface prototype object
    172 PASS Node interface: constant DOCUMENT_NODE on interface object
    173 PASS Node interface: constant DOCUMENT_NODE on interface prototype object
    174 PASS Node interface: constant DOCUMENT_TYPE_NODE on interface object
    175 PASS Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object
    176 PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object
    177 PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object
    178 PASS Node interface: constant NOTATION_NODE on interface object
    179 PASS Node interface: constant NOTATION_NODE on interface prototype object
    180 PASS Node interface: attribute nodeType
    181 PASS Node interface: attribute nodeName
    182 PASS Node interface: attribute baseURI
    183 PASS Node interface: attribute isConnected
    184 PASS Node interface: attribute ownerDocument
    185 PASS Node interface: operation getRootNode(GetRootNodeOptions)
    186 PASS Node interface: attribute parentNode
    187 PASS Node interface: attribute parentElement
    188 PASS Node interface: operation hasChildNodes()
    189 PASS Node interface: attribute childNodes
    190 PASS Node interface: attribute firstChild
    191 PASS Node interface: attribute lastChild
    192 PASS Node interface: attribute previousSibling
    193 PASS Node interface: attribute nextSibling
    194 PASS Node interface: attribute nodeValue
    195 PASS Node interface: attribute textContent
    196 PASS Node interface: operation normalize()
    197 PASS Node interface: operation cloneNode(boolean)
    198 PASS Node interface: operation isEqualNode(Node)
    199 PASS Node interface: operation isSameNode(Node)
    200 PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object
    201 PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object
    202 PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object
    203 PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object
    204 PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object
    205 PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object
    206 PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object
    207 PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object
    208 PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object
    209 PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object
    210 PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object
    211 PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object
    212 PASS Node interface: operation compareDocumentPosition(Node)
    213 PASS Node interface: operation contains(Node)
    214 PASS Node interface: operation lookupPrefix(DOMString)
    215 PASS Node interface: operation lookupNamespaceURI(DOMString)
    216 PASS Node interface: operation isDefaultNamespace(DOMString)
    217 PASS Node interface: operation insertBefore(Node,Node)
    218 PASS Node interface: operation appendChild(Node)
    219 PASS Node interface: operation replaceChild(Node,Node)
    220 PASS Node interface: operation removeChild(Node)
    221 PASS Document interface: existence and properties of interface object
    222 PASS Document interface object length
    223 PASS Document interface object name
    224 PASS Document interface: existence and properties of interface prototype object
    225 PASS Document interface: existence and properties of interface prototype object's "constructor" property
    226 PASS Document interface: attribute implementation
    227 PASS Document interface: attribute URL
    228 PASS Document interface: attribute documentURI
    229 PASS Document interface: attribute origin
    230 PASS Document interface: attribute compatMode
    231 PASS Document interface: attribute characterSet
    232 PASS Document interface: attribute charset
    233 PASS Document interface: attribute inputEncoding
    234 PASS Document interface: attribute contentType
    235 PASS Document interface: attribute doctype
    236 PASS Document interface: attribute documentElement
    237 PASS Document interface: operation getElementsByTagName(DOMString)
    238 PASS Document interface: operation getElementsByTagNameNS(DOMString,DOMString)
    239 PASS Document interface: operation getElementsByClassName(DOMString)
    240 PASS Document interface: operation createElement(DOMString,ElementCreationOptions)
    241 PASS Document interface: operation createElementNS(DOMString,DOMString,ElementCreationOptions)
    242 PASS Document interface: operation createDocumentFragment()
    243 PASS Document interface: operation createTextNode(DOMString)
    244 PASS Document interface: operation createCDATASection(DOMString)
    245 PASS Document interface: operation createComment(DOMString)
    246 PASS Document interface: operation createProcessingInstruction(DOMString,DOMString)
    247 PASS Document interface: operation importNode(Node,boolean)
    248 PASS Document interface: operation adoptNode(Node)
    249 PASS Document interface: operation createAttribute(DOMString)
    250 PASS Document interface: operation createAttributeNS(DOMString,DOMString)
    251 PASS Document interface: operation createEvent(DOMString)
    252 PASS Document interface: operation createRange()
    253 PASS Document interface: operation createNodeIterator(Node,unsigned long,NodeFilter)
    254 PASS Document interface: operation createTreeWalker(Node,unsigned long,NodeFilter)
    255 PASS Document interface: operation getElementById(DOMString)
    256 PASS Document interface: attribute children
    257 PASS Document interface: attribute firstElementChild
    258 PASS Document interface: attribute lastElementChild
    259 PASS Document interface: attribute childElementCount
    260 PASS Document interface: operation prepend([object Object],[object Object])
    261 PASS Document interface: operation append([object Object],[object Object])
    262 PASS Document interface: operation querySelector(DOMString)
    263 PASS Document interface: operation querySelectorAll(DOMString)
    264 PASS Document interface: new Document() must inherit property "implementation" with the proper type (0)
    265 PASS Document interface: new Document() must inherit property "URL" with the proper type (1)
    266 PASS Document interface: new Document() must inherit property "documentURI" with the proper type (2)
    267 PASS Document interface: new Document() must inherit property "origin" with the proper type (3)
    268 PASS Document interface: new Document() must inherit property "compatMode" with the proper type (4)
    269 PASS Document interface: new Document() must inherit property "characterSet" with the proper type (5)
    270 PASS Document interface: new Document() must inherit property "charset" with the proper type (6)
    271 PASS Document interface: new Document() must inherit property "inputEncoding" with the proper type (7)
    272 PASS Document interface: new Document() must inherit property "contentType" with the proper type (8)
    273 PASS Document interface: new Document() must inherit property "doctype" with the proper type (9)
    274 PASS Document interface: new Document() must inherit property "documentElement" with the proper type (10)
    275 PASS Document interface: new Document() must inherit property "getElementsByTagName" with the proper type (11)
    276 PASS Document interface: calling getElementsByTagName(DOMString) on new Document() with too few arguments must throw TypeError
    277 PASS Document interface: new Document() must inherit property "getElementsByTagNameNS" with the proper type (12)
    278 PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError
    279 PASS Document interface: new Document() must inherit property "getElementsByClassName" with the proper type (13)
    280 PASS Document interface: calling getElementsByClassName(DOMString) on new Document() with too few arguments must throw TypeError
    281 PASS Document interface: new Document() must inherit property "createElement" with the proper type (14)
    282 PASS Document interface: calling createElement(DOMString,ElementCreationOptions) on new Document() with too few arguments must throw TypeError
    283 PASS Document interface: new Document() must inherit property "createElementNS" with the proper type (15)
    284 PASS Document interface: calling createElementNS(DOMString,DOMString,ElementCreationOptions) on new Document() with too few arguments must throw TypeError
    285 PASS Document interface: new Document() must inherit property "createDocumentFragment" with the proper type (16)
    286 PASS Document interface: new Document() must inherit property "createTextNode" with the proper type (17)
    287 PASS Document interface: calling createTextNode(DOMString) on new Document() with too few arguments must throw TypeError
    288 PASS Document interface: new Document() must inherit property "createCDATASection" with the proper type (18)
    289 PASS Document interface: calling createCDATASection(DOMString) on new Document() with too few arguments must throw TypeError
    290 PASS Document interface: new Document() must inherit property "createComment" with the proper type (19)
    291 PASS Document interface: calling createComment(DOMString) on new Document() with too few arguments must throw TypeError
    292 PASS Document interface: new Document() must inherit property "createProcessingInstruction" with the proper type (20)
    293 PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on new Document() with too few arguments must throw TypeError
    294 PASS Document interface: new Document() must inherit property "importNode" with the proper type (21)
    295 PASS Document interface: calling importNode(Node,boolean) on new Document() with too few arguments must throw TypeError
    296 PASS Document interface: new Document() must inherit property "adoptNode" with the proper type (22)
    297 PASS Document interface: calling adoptNode(Node) on new Document() with too few arguments must throw TypeError
    298 PASS Document interface: new Document() must inherit property "createAttribute" with the proper type (23)
    299 PASS Document interface: calling createAttribute(DOMString) on new Document() with too few arguments must throw TypeError
    300 PASS Document interface: new Document() must inherit property "createAttributeNS" with the proper type (24)
    301 PASS Document interface: calling createAttributeNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError
    302 PASS Document interface: new Document() must inherit property "createEvent" with the proper type (25)
    303 PASS Document interface: calling createEvent(DOMString) on new Document() with too few arguments must throw TypeError
    304 PASS Document interface: new Document() must inherit property "createRange" with the proper type (26)
    305 PASS Document interface: new Document() must inherit property "createNodeIterator" with the proper type (27)
    306 PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on new Document() with too few arguments must throw TypeError
    307 PASS Document interface: new Document() must inherit property "createTreeWalker" with the proper type (28)
    308 PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on new Document() with too few arguments must throw TypeError
    309 PASS Document interface: new Document() must inherit property "getElementById" with the proper type (29)
    310 PASS Document interface: calling getElementById(DOMString) on new Document() with too few arguments must throw TypeError
    311 PASS Document interface: new Document() must inherit property "children" with the proper type (30)
    312 PASS Document interface: new Document() must inherit property "firstElementChild" with the proper type (31)
    313 PASS Document interface: new Document() must inherit property "lastElementChild" with the proper type (32)
    314 PASS Document interface: new Document() must inherit property "childElementCount" with the proper type (33)
    315 PASS Document interface: new Document() must inherit property "prepend" with the proper type (34)
    316 PASS Document interface: calling prepend([object Object],[object Object]) on new Document() with too few arguments must throw TypeError
    317 PASS Document interface: new Document() must inherit property "append" with the proper type (35)
    318 PASS Document interface: calling append([object Object],[object Object]) on new Document() with too few arguments must throw TypeError
    319 PASS Document interface: new Document() must inherit property "querySelector" with the proper type (36)
    320 PASS Document interface: calling querySelector(DOMString) on new Document() with too few arguments must throw TypeError
    321 PASS Document interface: new Document() must inherit property "querySelectorAll" with the proper type (37)
    322 PASS Document interface: calling querySelectorAll(DOMString) on new Document() with too few arguments must throw TypeError
    323 PASS Node interface: new Document() must inherit property "ELEMENT_NODE" with the proper type (0)
    324 PASS Node interface: new Document() must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    325 PASS Node interface: new Document() must inherit property "TEXT_NODE" with the proper type (2)
    326 PASS Node interface: new Document() must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    327 PASS Node interface: new Document() must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    328 PASS Node interface: new Document() must inherit property "ENTITY_NODE" with the proper type (5)
    329 PASS Node interface: new Document() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    330 PASS Node interface: new Document() must inherit property "COMMENT_NODE" with the proper type (7)
    331 PASS Node interface: new Document() must inherit property "DOCUMENT_NODE" with the proper type (8)
    332 PASS Node interface: new Document() must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    333 PASS Node interface: new Document() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    334 PASS Node interface: new Document() must inherit property "NOTATION_NODE" with the proper type (11)
    335 PASS Node interface: new Document() must inherit property "nodeType" with the proper type (12)
    336 PASS Node interface: new Document() must inherit property "nodeName" with the proper type (13)
    337 PASS Node interface: new Document() must inherit property "baseURI" with the proper type (14)
    338 PASS Node interface: new Document() must inherit property "isConnected" with the proper type (15)
    339 PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type (16)
    340 PASS Node interface: new Document() must inherit property "getRootNode" with the proper type (17)
    341 PASS Node interface: calling getRootNode(GetRootNodeOptions) on new Document() with too few arguments must throw TypeError
    342 PASS Node interface: new Document() must inherit property "parentNode" with the proper type (18)
    343 PASS Node interface: new Document() must inherit property "parentElement" with the proper type (19)
    344 PASS Node interface: new Document() must inherit property "hasChildNodes" with the proper type (20)
    345 PASS Node interface: new Document() must inherit property "childNodes" with the proper type (21)
    346 PASS Node interface: new Document() must inherit property "firstChild" with the proper type (22)
    347 PASS Node interface: new Document() must inherit property "lastChild" with the proper type (23)
    348 PASS Node interface: new Document() must inherit property "previousSibling" with the proper type (24)
    349 PASS Node interface: new Document() must inherit property "nextSibling" with the proper type (25)
    350 PASS Node interface: new Document() must inherit property "nodeValue" with the proper type (26)
    351 PASS Node interface: new Document() must inherit property "textContent" with the proper type (27)
    352 PASS Node interface: new Document() must inherit property "normalize" with the proper type (28)
    353 PASS Node interface: new Document() must inherit property "cloneNode" with the proper type (29)
    354 PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError
    355 PASS Node interface: new Document() must inherit property "isEqualNode" with the proper type (30)
    356 PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError
    357 PASS Node interface: new Document() must inherit property "isSameNode" with the proper type (31)
    358 PASS Node interface: calling isSameNode(Node) on new Document() with too few arguments must throw TypeError
    359 PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    360 PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    361 PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    362 PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    363 PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    364 PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    365 PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (38)
    366 PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError
    367 PASS Node interface: new Document() must inherit property "contains" with the proper type (39)
    368 PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError
    369 PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (40)
    370 PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError
    371 PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (41)
    372 PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError
    373 PASS Node interface: new Document() must inherit property "isDefaultNamespace" with the proper type (42)
    374 PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError
    375 PASS Node interface: new Document() must inherit property "insertBefore" with the proper type (43)
    376 PASS Node interface: calling insertBefore(Node,Node) on new Document() with too few arguments must throw TypeError
    377 PASS Node interface: new Document() must inherit property "appendChild" with the proper type (44)
    378 PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError
    379 PASS Node interface: new Document() must inherit property "replaceChild" with the proper type (45)
    380 PASS Node interface: calling replaceChild(Node,Node) on new Document() with too few arguments must throw TypeError
    381 PASS Node interface: new Document() must inherit property "removeChild" with the proper type (46)
    382 PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError
    383 PASS EventTarget interface: new Document() must inherit property "addEventListener" with the proper type (0)
    384 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on new Document() with too few arguments must throw TypeError
    385 PASS EventTarget interface: new Document() must inherit property "removeEventListener" with the proper type (1)
    386 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on new Document() with too few arguments must throw TypeError
    387 PASS EventTarget interface: new Document() must inherit property "dispatchEvent" with the proper type (2)
    388 PASS EventTarget interface: calling dispatchEvent(Event) on new Document() with too few arguments must throw TypeError
    389 PASS XMLDocument interface: existence and properties of interface object
    390 PASS XMLDocument interface object length
    391 PASS XMLDocument interface object name
    392 PASS XMLDocument interface: existence and properties of interface prototype object
    393 PASS XMLDocument interface: existence and properties of interface prototype object's "constructor" property
    394 PASS Document interface: xmlDoc must inherit property "implementation" with the proper type (0)
    395 PASS Document interface: xmlDoc must inherit property "URL" with the proper type (1)
    396 PASS Document interface: xmlDoc must inherit property "documentURI" with the proper type (2)
    397 PASS Document interface: xmlDoc must inherit property "origin" with the proper type (3)
    398 PASS Document interface: xmlDoc must inherit property "compatMode" with the proper type (4)
    399 PASS Document interface: xmlDoc must inherit property "characterSet" with the proper type (5)
    400 PASS Document interface: xmlDoc must inherit property "charset" with the proper type (6)
    401 PASS Document interface: xmlDoc must inherit property "inputEncoding" with the proper type (7)
    402 PASS Document interface: xmlDoc must inherit property "contentType" with the proper type (8)
    403 PASS Document interface: xmlDoc must inherit property "doctype" with the proper type (9)
    404 PASS Document interface: xmlDoc must inherit property "documentElement" with the proper type (10)
    405 PASS Document interface: xmlDoc must inherit property "getElementsByTagName" with the proper type (11)
    406 PASS Document interface: calling getElementsByTagName(DOMString) on xmlDoc with too few arguments must throw TypeError
    407 PASS Document interface: xmlDoc must inherit property "getElementsByTagNameNS" with the proper type (12)
    408 PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError
    409 PASS Document interface: xmlDoc must inherit property "getElementsByClassName" with the proper type (13)
    410 PASS Document interface: calling getElementsByClassName(DOMString) on xmlDoc with too few arguments must throw TypeError
    411 PASS Document interface: xmlDoc must inherit property "createElement" with the proper type (14)
    412 PASS Document interface: calling createElement(DOMString,ElementCreationOptions) on xmlDoc with too few arguments must throw TypeError
    413 PASS Document interface: xmlDoc must inherit property "createElementNS" with the proper type (15)
    414 PASS Document interface: calling createElementNS(DOMString,DOMString,ElementCreationOptions) on xmlDoc with too few arguments must throw TypeError
    415 PASS Document interface: xmlDoc must inherit property "createDocumentFragment" with the proper type (16)
    416 PASS Document interface: xmlDoc must inherit property "createTextNode" with the proper type (17)
    417 PASS Document interface: calling createTextNode(DOMString) on xmlDoc with too few arguments must throw TypeError
    418 PASS Document interface: xmlDoc must inherit property "createCDATASection" with the proper type (18)
    419 PASS Document interface: calling createCDATASection(DOMString) on xmlDoc with too few arguments must throw TypeError
    420 PASS Document interface: xmlDoc must inherit property "createComment" with the proper type (19)
    421 PASS Document interface: calling createComment(DOMString) on xmlDoc with too few arguments must throw TypeError
    422 PASS Document interface: xmlDoc must inherit property "createProcessingInstruction" with the proper type (20)
    423 PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError
    424 PASS Document interface: xmlDoc must inherit property "importNode" with the proper type (21)
    425 PASS Document interface: calling importNode(Node,boolean) on xmlDoc with too few arguments must throw TypeError
    426 PASS Document interface: xmlDoc must inherit property "adoptNode" with the proper type (22)
    427 PASS Document interface: calling adoptNode(Node) on xmlDoc with too few arguments must throw TypeError
    428 PASS Document interface: xmlDoc must inherit property "createAttribute" with the proper type (23)
    429 PASS Document interface: calling createAttribute(DOMString) on xmlDoc with too few arguments must throw TypeError
    430 PASS Document interface: xmlDoc must inherit property "createAttributeNS" with the proper type (24)
    431 PASS Document interface: calling createAttributeNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError
    432 PASS Document interface: xmlDoc must inherit property "createEvent" with the proper type (25)
    433 PASS Document interface: calling createEvent(DOMString) on xmlDoc with too few arguments must throw TypeError
    434 PASS Document interface: xmlDoc must inherit property "createRange" with the proper type (26)
    435 PASS Document interface: xmlDoc must inherit property "createNodeIterator" with the proper type (27)
    436 PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError
    437 PASS Document interface: xmlDoc must inherit property "createTreeWalker" with the proper type (28)
    438 PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError
    439 PASS Document interface: xmlDoc must inherit property "getElementById" with the proper type (29)
    440 PASS Document interface: calling getElementById(DOMString) on xmlDoc with too few arguments must throw TypeError
    441 PASS Document interface: xmlDoc must inherit property "children" with the proper type (30)
    442 PASS Document interface: xmlDoc must inherit property "firstElementChild" with the proper type (31)
    443 PASS Document interface: xmlDoc must inherit property "lastElementChild" with the proper type (32)
    444 PASS Document interface: xmlDoc must inherit property "childElementCount" with the proper type (33)
    445 PASS Document interface: xmlDoc must inherit property "prepend" with the proper type (34)
    446 PASS Document interface: calling prepend([object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError
    447 PASS Document interface: xmlDoc must inherit property "append" with the proper type (35)
    448 PASS Document interface: calling append([object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError
    449 PASS Document interface: xmlDoc must inherit property "querySelector" with the proper type (36)
    450 PASS Document interface: calling querySelector(DOMString) on xmlDoc with too few arguments must throw TypeError
    451 PASS Document interface: xmlDoc must inherit property "querySelectorAll" with the proper type (37)
    452 PASS Document interface: calling querySelectorAll(DOMString) on xmlDoc with too few arguments must throw TypeError
    453 PASS Node interface: xmlDoc must inherit property "ELEMENT_NODE" with the proper type (0)
    454 PASS Node interface: xmlDoc must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    455 PASS Node interface: xmlDoc must inherit property "TEXT_NODE" with the proper type (2)
    456 PASS Node interface: xmlDoc must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    457 PASS Node interface: xmlDoc must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    458 PASS Node interface: xmlDoc must inherit property "ENTITY_NODE" with the proper type (5)
    459 PASS Node interface: xmlDoc must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    460 PASS Node interface: xmlDoc must inherit property "COMMENT_NODE" with the proper type (7)
    461 PASS Node interface: xmlDoc must inherit property "DOCUMENT_NODE" with the proper type (8)
    462 PASS Node interface: xmlDoc must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    463 PASS Node interface: xmlDoc must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    464 PASS Node interface: xmlDoc must inherit property "NOTATION_NODE" with the proper type (11)
    465 PASS Node interface: xmlDoc must inherit property "nodeType" with the proper type (12)
    466 PASS Node interface: xmlDoc must inherit property "nodeName" with the proper type (13)
    467 PASS Node interface: xmlDoc must inherit property "baseURI" with the proper type (14)
    468 PASS Node interface: xmlDoc must inherit property "isConnected" with the proper type (15)
    469 PASS Node interface: xmlDoc must inherit property "ownerDocument" with the proper type (16)
    470 PASS Node interface: xmlDoc must inherit property "getRootNode" with the proper type (17)
    471 PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc with too few arguments must throw TypeError
    472 PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type (18)
    473 PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type (19)
    474 PASS Node interface: xmlDoc must inherit property "hasChildNodes" with the proper type (20)
    475 PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type (21)
    476 PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type (22)
    477 PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type (23)
    478 PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type (24)
    479 PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type (25)
    480 PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type (26)
    481 PASS Node interface: xmlDoc must inherit property "textContent" with the proper type (27)
    482 PASS Node interface: xmlDoc must inherit property "normalize" with the proper type (28)
    483 PASS Node interface: xmlDoc must inherit property "cloneNode" with the proper type (29)
    484 PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError
    485 PASS Node interface: xmlDoc must inherit property "isEqualNode" with the proper type (30)
    486 PASS Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError
    487 PASS Node interface: xmlDoc must inherit property "isSameNode" with the proper type (31)
    488 PASS Node interface: calling isSameNode(Node) on xmlDoc with too few arguments must throw TypeError
    489 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    490 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    491 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    492 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    493 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    494 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    495 PASS Node interface: xmlDoc must inherit property "compareDocumentPosition" with the proper type (38)
    496 PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError
    497 PASS Node interface: xmlDoc must inherit property "contains" with the proper type (39)
    498 PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError
    499 PASS Node interface: xmlDoc must inherit property "lookupPrefix" with the proper type (40)
    500 PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError
    501 PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI" with the proper type (41)
    502 PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError
    503 PASS Node interface: xmlDoc must inherit property "isDefaultNamespace" with the proper type (42)
    504 PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError
    505 PASS Node interface: xmlDoc must inherit property "insertBefore" with the proper type (43)
    506 PASS Node interface: calling insertBefore(Node,Node) on xmlDoc with too few arguments must throw TypeError
    507 PASS Node interface: xmlDoc must inherit property "appendChild" with the proper type (44)
    508 PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError
    509 PASS Node interface: xmlDoc must inherit property "replaceChild" with the proper type (45)
    510 PASS Node interface: calling replaceChild(Node,Node) on xmlDoc with too few arguments must throw TypeError
    511 PASS Node interface: xmlDoc must inherit property "removeChild" with the proper type (46)
    512 PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError
    513 PASS EventTarget interface: xmlDoc must inherit property "addEventListener" with the proper type (0)
    514 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError
    515 PASS EventTarget interface: xmlDoc must inherit property "removeEventListener" with the proper type (1)
    516 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError
    517 PASS EventTarget interface: xmlDoc must inherit property "dispatchEvent" with the proper type (2)
    518 PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc with too few arguments must throw TypeError
    519 PASS DOMImplementation interface: existence and properties of interface object
    520 PASS DOMImplementation interface object length
    521 PASS DOMImplementation interface object name
    522 PASS DOMImplementation interface: existence and properties of interface prototype object
    523 PASS DOMImplementation interface: existence and properties of interface prototype object's "constructor" property
    524 PASS DOMImplementation interface: operation createDocumentType(DOMString,DOMString,DOMString)
    525 PASS DOMImplementation interface: operation createDocument(DOMString,DOMString,DocumentType)
    526 PASS DOMImplementation interface: operation createHTMLDocument(DOMString)
    527 PASS DOMImplementation interface: operation hasFeature()
    528 PASS DOMImplementation interface: document.implementation must inherit property "createDocumentType" with the proper type (0)
    529 PASS DOMImplementation interface: calling createDocumentType(DOMString,DOMString,DOMString) on document.implementation with too few arguments must throw TypeError
    530 PASS DOMImplementation interface: document.implementation must inherit property "createDocument" with the proper type (1)
    531 PASS DOMImplementation interface: calling createDocument(DOMString,DOMString,DocumentType) on document.implementation with too few arguments must throw TypeError
    532 PASS DOMImplementation interface: document.implementation must inherit property "createHTMLDocument" with the proper type (2)
    533 PASS DOMImplementation interface: calling createHTMLDocument(DOMString) on document.implementation with too few arguments must throw TypeError
    534 PASS DOMImplementation interface: document.implementation must inherit property "hasFeature" with the proper type (3)
    535 PASS DocumentType interface: existence and properties of interface object
    536 PASS DocumentType interface object length
    537 PASS DocumentType interface object name
    538 PASS DocumentType interface: existence and properties of interface prototype object
    539 PASS DocumentType interface: existence and properties of interface prototype object's "constructor" property
    540 PASS DocumentType interface: attribute name
    541 PASS DocumentType interface: attribute publicId
    542 PASS DocumentType interface: attribute systemId
    543 PASS DocumentType interface: operation before([object Object],[object Object])
    544 PASS DocumentType interface: operation after([object Object],[object Object])
    545 PASS DocumentType interface: operation replaceWith([object Object],[object Object])
    546 PASS DocumentType interface: operation remove()
    547 PASS DocumentType interface: document.doctype must inherit property "name" with the proper type (0)
    548 PASS DocumentType interface: document.doctype must inherit property "publicId" with the proper type (1)
    549 PASS DocumentType interface: document.doctype must inherit property "systemId" with the proper type (2)
    550 PASS DocumentType interface: document.doctype must inherit property "before" with the proper type (3)
    551 PASS DocumentType interface: calling before([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError
    552 PASS DocumentType interface: document.doctype must inherit property "after" with the proper type (4)
    553 PASS DocumentType interface: calling after([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError
    554 PASS DocumentType interface: document.doctype must inherit property "replaceWith" with the proper type (5)
    555 PASS DocumentType interface: calling replaceWith([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError
    556 PASS DocumentType interface: document.doctype must inherit property "remove" with the proper type (6)
    557 PASS Node interface: document.doctype must inherit property "ELEMENT_NODE" with the proper type (0)
    558 PASS Node interface: document.doctype must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    559 PASS Node interface: document.doctype must inherit property "TEXT_NODE" with the proper type (2)
    560 PASS Node interface: document.doctype must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    561 PASS Node interface: document.doctype must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    562 PASS Node interface: document.doctype must inherit property "ENTITY_NODE" with the proper type (5)
    563 PASS Node interface: document.doctype must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    564 PASS Node interface: document.doctype must inherit property "COMMENT_NODE" with the proper type (7)
    565 PASS Node interface: document.doctype must inherit property "DOCUMENT_NODE" with the proper type (8)
    566 PASS Node interface: document.doctype must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    567 PASS Node interface: document.doctype must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    568 PASS Node interface: document.doctype must inherit property "NOTATION_NODE" with the proper type (11)
    569 PASS Node interface: document.doctype must inherit property "nodeType" with the proper type (12)
    570 PASS Node interface: document.doctype must inherit property "nodeName" with the proper type (13)
    571 PASS Node interface: document.doctype must inherit property "baseURI" with the proper type (14)
    572 PASS Node interface: document.doctype must inherit property "isConnected" with the proper type (15)
    573 PASS Node interface: document.doctype must inherit property "ownerDocument" with the proper type (16)
    574 PASS Node interface: document.doctype must inherit property "getRootNode" with the proper type (17)
    575 PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.doctype with too few arguments must throw TypeError
    576 PASS Node interface: document.doctype must inherit property "parentNode" with the proper type (18)
    577 PASS Node interface: document.doctype must inherit property "parentElement" with the proper type (19)
    578 PASS Node interface: document.doctype must inherit property "hasChildNodes" with the proper type (20)
    579 PASS Node interface: document.doctype must inherit property "childNodes" with the proper type (21)
    580 PASS Node interface: document.doctype must inherit property "firstChild" with the proper type (22)
    581 PASS Node interface: document.doctype must inherit property "lastChild" with the proper type (23)
    582 PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type (24)
    583 PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type (25)
    584 PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type (26)
    585 PASS Node interface: document.doctype must inherit property "textContent" with the proper type (27)
    586 PASS Node interface: document.doctype must inherit property "normalize" with the proper type (28)
    587 PASS Node interface: document.doctype must inherit property "cloneNode" with the proper type (29)
    588 PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError
    589 PASS Node interface: document.doctype must inherit property "isEqualNode" with the proper type (30)
    590 PASS Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError
    591 PASS Node interface: document.doctype must inherit property "isSameNode" with the proper type (31)
    592 PASS Node interface: calling isSameNode(Node) on document.doctype with too few arguments must throw TypeError
    593 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    594 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    595 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    596 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    597 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    598 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    599 PASS Node interface: document.doctype must inherit property "compareDocumentPosition" with the proper type (38)
    600 PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError
    601 PASS Node interface: document.doctype must inherit property "contains" with the proper type (39)
    602 PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError
    603 PASS Node interface: document.doctype must inherit property "lookupPrefix" with the proper type (40)
    604 PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError
    605 PASS Node interface: document.doctype must inherit property "lookupNamespaceURI" with the proper type (41)
    606 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError
    607 PASS Node interface: document.doctype must inherit property "isDefaultNamespace" with the proper type (42)
    608 PASS Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError
    609 PASS Node interface: document.doctype must inherit property "insertBefore" with the proper type (43)
    610 PASS Node interface: calling insertBefore(Node,Node) on document.doctype with too few arguments must throw TypeError
    611 PASS Node interface: document.doctype must inherit property "appendChild" with the proper type (44)
    612 PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError
    613 PASS Node interface: document.doctype must inherit property "replaceChild" with the proper type (45)
    614 PASS Node interface: calling replaceChild(Node,Node) on document.doctype with too few arguments must throw TypeError
    615 PASS Node interface: document.doctype must inherit property "removeChild" with the proper type (46)
    616 PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError
    617 PASS EventTarget interface: document.doctype must inherit property "addEventListener" with the proper type (0)
    618 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.doctype with too few arguments must throw TypeError
    619 PASS EventTarget interface: document.doctype must inherit property "removeEventListener" with the proper type (1)
    620 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.doctype with too few arguments must throw TypeError
    621 PASS EventTarget interface: document.doctype must inherit property "dispatchEvent" with the proper type (2)
    622 PASS EventTarget interface: calling dispatchEvent(Event) on document.doctype with too few arguments must throw TypeError
    623 PASS DocumentFragment interface: existence and properties of interface object
    624 PASS DocumentFragment interface object length
    625 PASS DocumentFragment interface object name
    626 PASS DocumentFragment interface: existence and properties of interface prototype object
    627 PASS DocumentFragment interface: existence and properties of interface prototype object's "constructor" property
    628 PASS DocumentFragment interface: operation getElementById(DOMString)
    629 PASS DocumentFragment interface: attribute children
    630 PASS DocumentFragment interface: attribute firstElementChild
    631 PASS DocumentFragment interface: attribute lastElementChild
    632 PASS DocumentFragment interface: attribute childElementCount
    633 PASS DocumentFragment interface: operation prepend([object Object],[object Object])
    634 PASS DocumentFragment interface: operation append([object Object],[object Object])
    635 PASS DocumentFragment interface: operation querySelector(DOMString)
    636 PASS DocumentFragment interface: operation querySelectorAll(DOMString)
    637 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "getElementById" with the proper type (0)
    638 PASS DocumentFragment interface: calling getElementById(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError
    639 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "children" with the proper type (1)
    640 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "firstElementChild" with the proper type (2)
    641 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "lastElementChild" with the proper type (3)
    642 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "childElementCount" with the proper type (4)
    643 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "prepend" with the proper type (5)
    644 PASS DocumentFragment interface: calling prepend([object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError
    645 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "append" with the proper type (6)
    646 PASS DocumentFragment interface: calling append([object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError
    647 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "querySelector" with the proper type (7)
    648 PASS DocumentFragment interface: calling querySelector(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError
    649 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "querySelectorAll" with the proper type (8)
    650 PASS DocumentFragment interface: calling querySelectorAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError
    651 PASS Node interface: document.createDocumentFragment() must inherit property "ELEMENT_NODE" with the proper type (0)
    652 PASS Node interface: document.createDocumentFragment() must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    653 PASS Node interface: document.createDocumentFragment() must inherit property "TEXT_NODE" with the proper type (2)
    654 PASS Node interface: document.createDocumentFragment() must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    655 PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    656 PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_NODE" with the proper type (5)
    657 PASS Node interface: document.createDocumentFragment() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    658 PASS Node interface: document.createDocumentFragment() must inherit property "COMMENT_NODE" with the proper type (7)
    659 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_NODE" with the proper type (8)
    660 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    661 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    662 PASS Node interface: document.createDocumentFragment() must inherit property "NOTATION_NODE" with the proper type (11)
    663 PASS Node interface: document.createDocumentFragment() must inherit property "nodeType" with the proper type (12)
    664 PASS Node interface: document.createDocumentFragment() must inherit property "nodeName" with the proper type (13)
    665 PASS Node interface: document.createDocumentFragment() must inherit property "baseURI" with the proper type (14)
    666 PASS Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type (15)
    667 PASS Node interface: document.createDocumentFragment() must inherit property "ownerDocument" with the proper type (16)
    668 PASS Node interface: document.createDocumentFragment() must inherit property "getRootNode" with the proper type (17)
    669 PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createDocumentFragment() with too few arguments must throw TypeError
    670 PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type (18)
    671 PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type (19)
    672 PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes" with the proper type (20)
    673 PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type (21)
    674 PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type (22)
    675 PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type (23)
    676 PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type (24)
    677 PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type (25)
    678 PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type (26)
    679 PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type (27)
    680 PASS Node interface: document.createDocumentFragment() must inherit property "normalize" with the proper type (28)
    681 PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode" with the proper type (29)
    682 PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError
    683 PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode" with the proper type (30)
    684 PASS Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    685 PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode" with the proper type (31)
    686 PASS Node interface: calling isSameNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    687 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    688 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    689 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    690 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    691 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    692 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    693 PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition" with the proper type (38)
    694 PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    695 PASS Node interface: document.createDocumentFragment() must inherit property "contains" with the proper type (39)
    696 PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    697 PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix" with the proper type (40)
    698 PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError
    699 PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI" with the proper type (41)
    700 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError
    701 PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace" with the proper type (42)
    702 PASS Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError
    703 PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore" with the proper type (43)
    704 PASS Node interface: calling insertBefore(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    705 PASS Node interface: document.createDocumentFragment() must inherit property "appendChild" with the proper type (44)
    706 PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    707 PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild" with the proper type (45)
    708 PASS Node interface: calling replaceChild(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    709 PASS Node interface: document.createDocumentFragment() must inherit property "removeChild" with the proper type (46)
    710 PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError
    711 PASS EventTarget interface: document.createDocumentFragment() must inherit property "addEventListener" with the proper type (0)
    712 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError
    713 PASS EventTarget interface: document.createDocumentFragment() must inherit property "removeEventListener" with the proper type (1)
    714 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError
    715 PASS EventTarget interface: document.createDocumentFragment() must inherit property "dispatchEvent" with the proper type (2)
    716 PASS EventTarget interface: calling dispatchEvent(Event) on document.createDocumentFragment() with too few arguments must throw TypeError
    717 PASS ShadowRoot interface: existence and properties of interface object
    718 PASS ShadowRoot interface object length
    719 PASS ShadowRoot interface object name
    720 PASS ShadowRoot interface: existence and properties of interface prototype object
    721 PASS ShadowRoot interface: existence and properties of interface prototype object's "constructor" property
    722 PASS ShadowRoot interface: attribute mode
    723 PASS ShadowRoot interface: attribute host
    724 PASS Element interface: existence and properties of interface object
    725 PASS Element interface object length
    726 PASS Element interface object name
    727 PASS Element interface: existence and properties of interface prototype object
    728 PASS Element interface: existence and properties of interface prototype object's "constructor" property
    729 PASS Element interface: attribute namespaceURI
    730 PASS Element interface: attribute prefix
    731 PASS Element interface: attribute localName
    732 PASS Element interface: attribute tagName
    733 PASS Element interface: attribute id
    734 PASS Element interface: attribute className
    735 PASS Element interface: attribute classList
    736 PASS Element interface: attribute slot
    737 PASS Element interface: operation hasAttributes()
    738 PASS Element interface: attribute attributes
    739 PASS Element interface: operation getAttributeNames()
    740 PASS Element interface: operation getAttribute(DOMString)
    741 PASS Element interface: operation getAttributeNS(DOMString,DOMString)
    742 PASS Element interface: operation setAttribute(DOMString,DOMString)
    743 PASS Element interface: operation setAttributeNS(DOMString,DOMString,DOMString)
    744 PASS Element interface: operation removeAttribute(DOMString)
    745 PASS Element interface: operation removeAttributeNS(DOMString,DOMString)
    746 PASS Element interface: operation hasAttribute(DOMString)
    747 PASS Element interface: operation hasAttributeNS(DOMString,DOMString)
    748 PASS Element interface: operation getAttributeNode(DOMString)
    749 PASS Element interface: operation getAttributeNodeNS(DOMString,DOMString)
    750 PASS Element interface: operation setAttributeNode(Attr)
    751 PASS Element interface: operation setAttributeNodeNS(Attr)
    752 PASS Element interface: operation removeAttributeNode(Attr)
    753 PASS Element interface: operation attachShadow(ShadowRootInit)
    754 PASS Element interface: attribute shadowRoot
    755 PASS Element interface: operation closest(DOMString)
    756 PASS Element interface: operation matches(DOMString)
    757 PASS Element interface: operation webkitMatchesSelector(DOMString)
    758 PASS Element interface: operation getElementsByTagName(DOMString)
    759 PASS Element interface: operation getElementsByTagNameNS(DOMString,DOMString)
    760 PASS Element interface: operation getElementsByClassName(DOMString)
    761 PASS Element interface: operation insertAdjacentElement(DOMString,Element)
    762 PASS Element interface: operation insertAdjacentText(DOMString,DOMString)
    763 PASS Element interface: attribute children
    764 PASS Element interface: attribute firstElementChild
    765 PASS Element interface: attribute lastElementChild
    766 PASS Element interface: attribute childElementCount
    767 PASS Element interface: operation prepend([object Object],[object Object])
    768 PASS Element interface: operation append([object Object],[object Object])
    769 PASS Element interface: operation querySelector(DOMString)
    770 PASS Element interface: operation querySelectorAll(DOMString)
    771 PASS Element interface: attribute previousElementSibling
    772 PASS Element interface: attribute nextElementSibling
    773 PASS Element interface: operation before([object Object],[object Object])
    774 PASS Element interface: operation after([object Object],[object Object])
    775 PASS Element interface: operation replaceWith([object Object],[object Object])
    776 PASS Element interface: operation remove()
    777 PASS Element interface: attribute assignedSlot
    778 PASS Element interface: element must inherit property "namespaceURI" with the proper type (0)
    779 PASS Element interface: element must inherit property "prefix" with the proper type (1)
    780 PASS Element interface: element must inherit property "localName" with the proper type (2)
    781 PASS Element interface: element must inherit property "tagName" with the proper type (3)
    782 PASS Element interface: element must inherit property "id" with the proper type (4)
    783 PASS Element interface: element must inherit property "className" with the proper type (5)
    784 PASS Element interface: element must inherit property "classList" with the proper type (6)
    785 PASS Element interface: element must inherit property "slot" with the proper type (7)
    786 PASS Element interface: element must inherit property "hasAttributes" with the proper type (8)
    787 PASS Element interface: element must inherit property "attributes" with the proper type (9)
    788 PASS Element interface: element must inherit property "getAttributeNames" with the proper type (10)
    789 PASS Element interface: element must inherit property "getAttribute" with the proper type (11)
    790 PASS Element interface: calling getAttribute(DOMString) on element with too few arguments must throw TypeError
    791 PASS Element interface: element must inherit property "getAttributeNS" with the proper type (12)
    792 PASS Element interface: calling getAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
    793 PASS Element interface: element must inherit property "setAttribute" with the proper type (13)
    794 PASS Element interface: calling setAttribute(DOMString,DOMString) on element with too few arguments must throw TypeError
    795 PASS Element interface: element must inherit property "setAttributeNS" with the proper type (14)
    796 PASS Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on element with too few arguments must throw TypeError
    797 PASS Element interface: element must inherit property "removeAttribute" with the proper type (15)
    798 PASS Element interface: calling removeAttribute(DOMString) on element with too few arguments must throw TypeError
    799 PASS Element interface: element must inherit property "removeAttributeNS" with the proper type (16)
    800 PASS Element interface: calling removeAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
    801 PASS Element interface: element must inherit property "hasAttribute" with the proper type (17)
    802 PASS Element interface: calling hasAttribute(DOMString) on element with too few arguments must throw TypeError
    803 PASS Element interface: element must inherit property "hasAttributeNS" with the proper type (18)
    804 PASS Element interface: calling hasAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
    805 PASS Element interface: element must inherit property "getAttributeNode" with the proper type (19)
    806 PASS Element interface: calling getAttributeNode(DOMString) on element with too few arguments must throw TypeError
    807 PASS Element interface: element must inherit property "getAttributeNodeNS" with the proper type (20)
    808 PASS Element interface: calling getAttributeNodeNS(DOMString,DOMString) on element with too few arguments must throw TypeError
    809 PASS Element interface: element must inherit property "setAttributeNode" with the proper type (21)
    810 PASS Element interface: calling setAttributeNode(Attr) on element with too few arguments must throw TypeError
    811 PASS Element interface: element must inherit property "setAttributeNodeNS" with the proper type (22)
    812 PASS Element interface: calling setAttributeNodeNS(Attr) on element with too few arguments must throw TypeError
    813 PASS Element interface: element must inherit property "removeAttributeNode" with the proper type (23)
    814 PASS Element interface: calling removeAttributeNode(Attr) on element with too few arguments must throw TypeError
    815 PASS Element interface: element must inherit property "attachShadow" with the proper type (24)
    816 PASS Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError
    817 PASS Element interface: element must inherit property "shadowRoot" with the proper type (25)
    818 PASS Element interface: element must inherit property "closest" with the proper type (26)
    819 PASS Element interface: calling closest(DOMString) on element with too few arguments must throw TypeError
    820 PASS Element interface: element must inherit property "matches" with the proper type (27)
    821 PASS Element interface: calling matches(DOMString) on element with too few arguments must throw TypeError
    822 PASS Element interface: element must inherit property "webkitMatchesSelector" with the proper type (28)
    823 PASS Element interface: calling webkitMatchesSelector(DOMString) on element with too few arguments must throw TypeError
    824 PASS Element interface: element must inherit property "getElementsByTagName" with the proper type (29)
    825 PASS Element interface: calling getElementsByTagName(DOMString) on element with too few arguments must throw TypeError
    826 PASS Element interface: element must inherit property "getElementsByTagNameNS" with the proper type (30)
    827 PASS Element interface: calling getElementsByTagNameNS(DOMString,DOMString) on element with too few arguments must throw TypeError
    828 PASS Element interface: element must inherit property "getElementsByClassName" with the proper type (31)
    829 PASS Element interface: calling getElementsByClassName(DOMString) on element with too few arguments must throw TypeError
    830 PASS Element interface: element must inherit property "insertAdjacentElement" with the proper type (32)
    831 PASS Element interface: calling insertAdjacentElement(DOMString,Element) on element with too few arguments must throw TypeError
    832 PASS Element interface: element must inherit property "insertAdjacentText" with the proper type (33)
    833 PASS Element interface: calling insertAdjacentText(DOMString,DOMString) on element with too few arguments must throw TypeError
    834 PASS Element interface: element must inherit property "children" with the proper type (34)
    835 PASS Element interface: element must inherit property "firstElementChild" with the proper type (35)
    836 PASS Element interface: element must inherit property "lastElementChild" with the proper type (36)
    837 PASS Element interface: element must inherit property "childElementCount" with the proper type (37)
    838 PASS Element interface: element must inherit property "prepend" with the proper type (38)
    839 PASS Element interface: calling prepend([object Object],[object Object]) on element with too few arguments must throw TypeError
    840 PASS Element interface: element must inherit property "append" with the proper type (39)
    841 PASS Element interface: calling append([object Object],[object Object]) on element with too few arguments must throw TypeError
    842 PASS Element interface: element must inherit property "querySelector" with the proper type (40)
    843 PASS Element interface: calling querySelector(DOMString) on element with too few arguments must throw TypeError
    844 PASS Element interface: element must inherit property "querySelectorAll" with the proper type (41)
    845 PASS Element interface: calling querySelectorAll(DOMString) on element with too few arguments must throw TypeError
    846 PASS Element interface: element must inherit property "previousElementSibling" with the proper type (42)
    847 PASS Element interface: element must inherit property "nextElementSibling" with the proper type (43)
    848 PASS Element interface: element must inherit property "before" with the proper type (44)
    849 PASS Element interface: calling before([object Object],[object Object]) on element with too few arguments must throw TypeError
    850 PASS Element interface: element must inherit property "after" with the proper type (45)
    851 PASS Element interface: calling after([object Object],[object Object]) on element with too few arguments must throw TypeError
    852 PASS Element interface: element must inherit property "replaceWith" with the proper type (46)
    853 PASS Element interface: calling replaceWith([object Object],[object Object]) on element with too few arguments must throw TypeError
    854 PASS Element interface: element must inherit property "remove" with the proper type (47)
    855 PASS Element interface: element must inherit property "assignedSlot" with the proper type (48)
    856 PASS Node interface: element must inherit property "ELEMENT_NODE" with the proper type (0)
    857 PASS Node interface: element must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    858 PASS Node interface: element must inherit property "TEXT_NODE" with the proper type (2)
    859 PASS Node interface: element must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    860 PASS Node interface: element must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    861 PASS Node interface: element must inherit property "ENTITY_NODE" with the proper type (5)
    862 PASS Node interface: element must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    863 PASS Node interface: element must inherit property "COMMENT_NODE" with the proper type (7)
    864 PASS Node interface: element must inherit property "DOCUMENT_NODE" with the proper type (8)
    865 PASS Node interface: element must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    866 PASS Node interface: element must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    867 PASS Node interface: element must inherit property "NOTATION_NODE" with the proper type (11)
    868 PASS Node interface: element must inherit property "nodeType" with the proper type (12)
    869 PASS Node interface: element must inherit property "nodeName" with the proper type (13)
    870 PASS Node interface: element must inherit property "baseURI" with the proper type (14)
    871 PASS Node interface: element must inherit property "isConnected" with the proper type (15)
    872 PASS Node interface: element must inherit property "ownerDocument" with the proper type (16)
    873 PASS Node interface: element must inherit property "getRootNode" with the proper type (17)
    874 PASS Node interface: calling getRootNode(GetRootNodeOptions) on element with too few arguments must throw TypeError
    875 PASS Node interface: element must inherit property "parentNode" with the proper type (18)
    876 PASS Node interface: element must inherit property "parentElement" with the proper type (19)
    877 PASS Node interface: element must inherit property "hasChildNodes" with the proper type (20)
    878 PASS Node interface: element must inherit property "childNodes" with the proper type (21)
    879 PASS Node interface: element must inherit property "firstChild" with the proper type (22)
    880 PASS Node interface: element must inherit property "lastChild" with the proper type (23)
    881 PASS Node interface: element must inherit property "previousSibling" with the proper type (24)
    882 PASS Node interface: element must inherit property "nextSibling" with the proper type (25)
    883 PASS Node interface: element must inherit property "nodeValue" with the proper type (26)
    884 PASS Node interface: element must inherit property "textContent" with the proper type (27)
    885 PASS Node interface: element must inherit property "normalize" with the proper type (28)
    886 PASS Node interface: element must inherit property "cloneNode" with the proper type (29)
    887 PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError
    888 PASS Node interface: element must inherit property "isEqualNode" with the proper type (30)
    889 PASS Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError
    890 PASS Node interface: element must inherit property "isSameNode" with the proper type (31)
    891 PASS Node interface: calling isSameNode(Node) on element with too few arguments must throw TypeError
    892 PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    893 PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    894 PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    895 PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    896 PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    897 PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    898 PASS Node interface: element must inherit property "compareDocumentPosition" with the proper type (38)
    899 PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError
    900 PASS Node interface: element must inherit property "contains" with the proper type (39)
    901 PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError
    902 PASS Node interface: element must inherit property "lookupPrefix" with the proper type (40)
    903 PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError
    904 PASS Node interface: element must inherit property "lookupNamespaceURI" with the proper type (41)
    905 PASS Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError
    906 PASS Node interface: element must inherit property "isDefaultNamespace" with the proper type (42)
    907 PASS Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError
    908 PASS Node interface: element must inherit property "insertBefore" with the proper type (43)
    909 PASS Node interface: calling insertBefore(Node,Node) on element with too few arguments must throw TypeError
    910 PASS Node interface: element must inherit property "appendChild" with the proper type (44)
    911 PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError
    912 PASS Node interface: element must inherit property "replaceChild" with the proper type (45)
    913 PASS Node interface: calling replaceChild(Node,Node) on element with too few arguments must throw TypeError
    914 PASS Node interface: element must inherit property "removeChild" with the proper type (46)
    915 PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError
    916 PASS EventTarget interface: element must inherit property "addEventListener" with the proper type (0)
    917 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on element with too few arguments must throw TypeError
    918 PASS EventTarget interface: element must inherit property "removeEventListener" with the proper type (1)
    919 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on element with too few arguments must throw TypeError
    920 PASS EventTarget interface: element must inherit property "dispatchEvent" with the proper type (2)
    921 PASS EventTarget interface: calling dispatchEvent(Event) on element with too few arguments must throw TypeError
    922 PASS NamedNodeMap interface: existence and properties of interface object
    923 PASS NamedNodeMap interface object length
    924 PASS NamedNodeMap interface object name
    925 PASS NamedNodeMap interface: existence and properties of interface prototype object
    926 PASS NamedNodeMap interface: existence and properties of interface prototype object's "constructor" property
    927 PASS NamedNodeMap interface: attribute length
    928 PASS NamedNodeMap interface: operation item(unsigned long)
    929 PASS NamedNodeMap interface: operation getNamedItem(DOMString)
    930 PASS NamedNodeMap interface: operation getNamedItemNS(DOMString,DOMString)
    931 PASS NamedNodeMap interface: operation setNamedItem(Attr)
    932 PASS NamedNodeMap interface: operation setNamedItemNS(Attr)
    933 PASS NamedNodeMap interface: operation removeNamedItem(DOMString)
    934 PASS NamedNodeMap interface: operation removeNamedItemNS(DOMString,DOMString)
    935 PASS Attr interface: existence and properties of interface object
    936 PASS Attr interface object length
    937 PASS Attr interface object name
    938 PASS Attr interface: existence and properties of interface prototype object
    939 PASS Attr interface: existence and properties of interface prototype object's "constructor" property
    940 PASS Attr interface: attribute namespaceURI
    941 PASS Attr interface: attribute prefix
    942 PASS Attr interface: attribute localName
    943 PASS Attr interface: attribute name
    944 PASS Attr interface: attribute value
    945 PASS Attr interface: attribute ownerElement
    946 PASS Attr interface: attribute specified
    947 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "namespaceURI" with the proper type (0)
    948 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "prefix" with the proper type (1)
    949 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "localName" with the proper type (2)
    950 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "name" with the proper type (3)
    951 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "value" with the proper type (4)
    952 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "ownerElement" with the proper type (5)
    953 PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "specified" with the proper type (6)
    954 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ELEMENT_NODE" with the proper type (0)
    955 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    956 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "TEXT_NODE" with the proper type (2)
    957 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    958 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    959 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_NODE" with the proper type (5)
    960 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    961 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "COMMENT_NODE" with the proper type (7)
    962 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_NODE" with the proper type (8)
    963 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    964 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    965 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "NOTATION_NODE" with the proper type (11)
    966 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeType" with the proper type (12)
    967 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeName" with the proper type (13)
    968 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "baseURI" with the proper type (14)
    969 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isConnected" with the proper type (15)
    970 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ownerDocument" with the proper type (16)
    971 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "getRootNode" with the proper type (17)
    972 PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    973 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type (18)
    974 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type (19)
    975 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes" with the proper type (20)
    976 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type (21)
    977 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type (22)
    978 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type (23)
    979 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type (24)
    980 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type (25)
    981 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type (26)
    982 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type (27)
    983 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize" with the proper type (28)
    984 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode" with the proper type (29)
    985 PASS Node interface: calling cloneNode(boolean) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    986 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode" with the proper type (30)
    987 PASS Node interface: calling isEqualNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    988 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode" with the proper type (31)
    989 PASS Node interface: calling isSameNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    990 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    991 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    992 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    993 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    994 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    995 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    996 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition" with the proper type (38)
    997 PASS Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    998 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains" with the proper type (39)
    999 PASS Node interface: calling contains(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1000 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix" with the proper type (40)
    1001 PASS Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1002 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI" with the proper type (41)
    1003 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1004 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace" with the proper type (42)
    1005 PASS Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1006 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore" with the proper type (43)
    1007 PASS Node interface: calling insertBefore(Node,Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1008 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild" with the proper type (44)
    1009 PASS Node interface: calling appendChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1010 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild" with the proper type (45)
    1011 PASS Node interface: calling replaceChild(Node,Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1012 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild" with the proper type (46)
    1013 PASS Node interface: calling removeChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1014 PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "addEventListener" with the proper type (0)
    1015 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1016 PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "removeEventListener" with the proper type (1)
    1017 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1018 PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "dispatchEvent" with the proper type (2)
    1019 PASS EventTarget interface: calling dispatchEvent(Event) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError
    1020 PASS CharacterData interface: existence and properties of interface object
    1021 PASS CharacterData interface object length
    1022 PASS CharacterData interface object name
    1023 PASS CharacterData interface: existence and properties of interface prototype object
    1024 PASS CharacterData interface: existence and properties of interface prototype object's "constructor" property
    1025 PASS CharacterData interface: attribute data
    1026 PASS CharacterData interface: attribute length
    1027 PASS CharacterData interface: operation substringData(unsigned long,unsigned long)
    1028 PASS CharacterData interface: operation appendData(DOMString)
    1029 PASS CharacterData interface: operation insertData(unsigned long,DOMString)
    1030 PASS CharacterData interface: operation deleteData(unsigned long,unsigned long)
    1031 PASS CharacterData interface: operation replaceData(unsigned long,unsigned long,DOMString)
    1032 PASS CharacterData interface: attribute previousElementSibling
    1033 PASS CharacterData interface: attribute nextElementSibling
    1034 PASS CharacterData interface: operation before([object Object],[object Object])
    1035 PASS CharacterData interface: operation after([object Object],[object Object])
    1036 PASS CharacterData interface: operation replaceWith([object Object],[object Object])
    1037 PASS CharacterData interface: operation remove()
    1038 PASS Text interface: existence and properties of interface object
    1039 PASS Text interface object length
    1040 PASS Text interface object name
    1041 PASS Text interface: existence and properties of interface prototype object
    1042 PASS Text interface: existence and properties of interface prototype object's "constructor" property
    1043 PASS Text interface: operation splitText(unsigned long)
    1044 PASS Text interface: attribute wholeText
    1045 PASS Text interface: attribute assignedSlot
    1046 PASS Text interface: document.createTextNode("abc") must inherit property "splitText" with the proper type (0)
    1047 PASS Text interface: calling splitText(unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError
    1048 PASS Text interface: document.createTextNode("abc") must inherit property "wholeText" with the proper type (1)
    1049 PASS Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type (2)
    1050 PASS CharacterData interface: document.createTextNode("abc") must inherit property "data" with the proper type (0)
    1051 PASS CharacterData interface: document.createTextNode("abc") must inherit property "length" with the proper type (1)
    1052 PASS CharacterData interface: document.createTextNode("abc") must inherit property "substringData" with the proper type (2)
    1053 PASS CharacterData interface: calling substringData(unsigned long,unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError
    1054 PASS CharacterData interface: document.createTextNode("abc") must inherit property "appendData" with the proper type (3)
    1055 PASS CharacterData interface: calling appendData(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError
    1056 PASS CharacterData interface: document.createTextNode("abc") must inherit property "insertData" with the proper type (4)
    1057 PASS CharacterData interface: calling insertData(unsigned long,DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError
    1058 PASS CharacterData interface: document.createTextNode("abc") must inherit property "deleteData" with the proper type (5)
    1059 PASS CharacterData interface: calling deleteData(unsigned long,unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError
    1060 PASS CharacterData interface: document.createTextNode("abc") must inherit property "replaceData" with the proper type (6)
    1061 PASS CharacterData interface: calling replaceData(unsigned long,unsigned long,DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError
    1062 PASS CharacterData interface: document.createTextNode("abc") must inherit property "previousElementSibling" with the proper type (7)
    1063 PASS CharacterData interface: document.createTextNode("abc") must inherit property "nextElementSibling" with the proper type (8)
    1064 PASS CharacterData interface: document.createTextNode("abc") must inherit property "before" with the proper type (9)
    1065 PASS CharacterData interface: calling before([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError
    1066 PASS CharacterData interface: document.createTextNode("abc") must inherit property "after" with the proper type (10)
    1067 PASS CharacterData interface: calling after([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError
    1068 PASS CharacterData interface: document.createTextNode("abc") must inherit property "replaceWith" with the proper type (11)
    1069 PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError
    1070 PASS CharacterData interface: document.createTextNode("abc") must inherit property "remove" with the proper type (12)
    1071 PASS Node interface: document.createTextNode("abc") must inherit property "ELEMENT_NODE" with the proper type (0)
    1072 PASS Node interface: document.createTextNode("abc") must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    1073 PASS Node interface: document.createTextNode("abc") must inherit property "TEXT_NODE" with the proper type (2)
    1074 PASS Node interface: document.createTextNode("abc") must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    1075 PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    1076 PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_NODE" with the proper type (5)
    1077 PASS Node interface: document.createTextNode("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    1078 PASS Node interface: document.createTextNode("abc") must inherit property "COMMENT_NODE" with the proper type (7)
    1079 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_NODE" with the proper type (8)
    1080 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    1081 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    1082 PASS Node interface: document.createTextNode("abc") must inherit property "NOTATION_NODE" with the proper type (11)
    1083 PASS Node interface: document.createTextNode("abc") must inherit property "nodeType" with the proper type (12)
    1084 PASS Node interface: document.createTextNode("abc") must inherit property "nodeName" with the proper type (13)
    1085 PASS Node interface: document.createTextNode("abc") must inherit property "baseURI" with the proper type (14)
    1086 PASS Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type (15)
    1087 PASS Node interface: document.createTextNode("abc") must inherit property "ownerDocument" with the proper type (16)
    1088 PASS Node interface: document.createTextNode("abc") must inherit property "getRootNode" with the proper type (17)
    1089 PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createTextNode("abc") with too few arguments must throw TypeError
    1090 PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type (18)
    1091 PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type (19)
    1092 PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes" with the proper type (20)
    1093 PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type (21)
    1094 PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type (22)
    1095 PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type (23)
    1096 PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type (24)
    1097 PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type (25)
    1098 PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type (26)
    1099 PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type (27)
    1100 PASS Node interface: document.createTextNode("abc") must inherit property "normalize" with the proper type (28)
    1101 PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode" with the proper type (29)
    1102 PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError
    1103 PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode" with the proper type (30)
    1104 PASS Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1105 PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode" with the proper type (31)
    1106 PASS Node interface: calling isSameNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1107 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    1108 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    1109 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    1110 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    1111 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    1112 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    1113 PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition" with the proper type (38)
    1114 PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1115 PASS Node interface: document.createTextNode("abc") must inherit property "contains" with the proper type (39)
    1116 PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1117 PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix" with the proper type (40)
    1118 PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError
    1119 PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI" with the proper type (41)
    1120 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError
    1121 PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace" with the proper type (42)
    1122 PASS Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError
    1123 PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore" with the proper type (43)
    1124 PASS Node interface: calling insertBefore(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1125 PASS Node interface: document.createTextNode("abc") must inherit property "appendChild" with the proper type (44)
    1126 PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1127 PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild" with the proper type (45)
    1128 PASS Node interface: calling replaceChild(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1129 PASS Node interface: document.createTextNode("abc") must inherit property "removeChild" with the proper type (46)
    1130 PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError
    1131 PASS EventTarget interface: document.createTextNode("abc") must inherit property "addEventListener" with the proper type (0)
    1132 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError
    1133 PASS EventTarget interface: document.createTextNode("abc") must inherit property "removeEventListener" with the proper type (1)
    1134 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError
    1135 PASS EventTarget interface: document.createTextNode("abc") must inherit property "dispatchEvent" with the proper type (2)
    1136 PASS EventTarget interface: calling dispatchEvent(Event) on document.createTextNode("abc") with too few arguments must throw TypeError
    1137 PASS CDATASection interface: existence and properties of interface object
    1138 PASS CDATASection interface object length
    1139 PASS CDATASection interface object name
    1140 PASS CDATASection interface: existence and properties of interface prototype object
    1141 PASS CDATASection interface: existence and properties of interface prototype object's "constructor" property
    1142 PASS ProcessingInstruction interface: existence and properties of interface object
    1143 PASS ProcessingInstruction interface object length
    1144 PASS ProcessingInstruction interface object name
    1145 PASS ProcessingInstruction interface: existence and properties of interface prototype object
    1146 PASS ProcessingInstruction interface: existence and properties of interface prototype object's "constructor" property
    1147 PASS ProcessingInstruction interface: attribute target
    1148 PASS ProcessingInstruction interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "target" with the proper type (0)
    1149 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "data" with the proper type (0)
    1150 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "length" with the proper type (1)
    1151 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "substringData" with the proper type (2)
    1152 PASS CharacterData interface: calling substringData(unsigned long,unsigned long) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1153 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendData" with the proper type (3)
    1154 PASS CharacterData interface: calling appendData(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1155 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertData" with the proper type (4)
    1156 PASS CharacterData interface: calling insertData(unsigned long,DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1157 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "deleteData" with the proper type (5)
    1158 PASS CharacterData interface: calling deleteData(unsigned long,unsigned long) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1159 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceData" with the proper type (6)
    1160 PASS CharacterData interface: calling replaceData(unsigned long,unsigned long,DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1161 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousElementSibling" with the proper type (7)
    1162 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextElementSibling" with the proper type (8)
    1163 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "before" with the proper type (9)
    1164 PASS CharacterData interface: calling before([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1165 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "after" with the proper type (10)
    1166 PASS CharacterData interface: calling after([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1167 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceWith" with the proper type (11)
    1168 PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1169 PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "remove" with the proper type (12)
    1170 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ELEMENT_NODE" with the proper type (0)
    1171 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    1172 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "TEXT_NODE" with the proper type (2)
    1173 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    1174 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    1175 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_NODE" with the proper type (5)
    1176 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    1177 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "COMMENT_NODE" with the proper type (7)
    1178 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_NODE" with the proper type (8)
    1179 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    1180 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    1181 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "NOTATION_NODE" with the proper type (11)
    1182 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeType" with the proper type (12)
    1183 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeName" with the proper type (13)
    1184 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "baseURI" with the proper type (14)
    1185 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type (15)
    1186 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ownerDocument" with the proper type (16)
    1187 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "getRootNode" with the proper type (17)
    1188 PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1189 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type (18)
    1190 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type (19)
    1191 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes" with the proper type (20)
    1192 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type (21)
    1193 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type (22)
    1194 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type (23)
    1195 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type (24)
    1196 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type (25)
    1197 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type (26)
    1198 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type (27)
    1199 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize" with the proper type (28)
    1200 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode" with the proper type (29)
    1201 PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1202 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode" with the proper type (30)
    1203 PASS Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1204 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode" with the proper type (31)
    1205 PASS Node interface: calling isSameNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1206 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    1207 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    1208 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    1209 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    1210 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    1211 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    1212 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition" with the proper type (38)
    1213 PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1214 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains" with the proper type (39)
    1215 PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1216 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix" with the proper type (40)
    1217 PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1218 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI" with the proper type (41)
    1219 PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1220 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace" with the proper type (42)
    1221 PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1222 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore" with the proper type (43)
    1223 PASS Node interface: calling insertBefore(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1224 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild" with the proper type (44)
    1225 PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1226 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild" with the proper type (45)
    1227 PASS Node interface: calling replaceChild(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1228 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild" with the proper type (46)
    1229 PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1230 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "addEventListener" with the proper type (0)
    1231 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1232 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeEventListener" with the proper type (1)
    1233 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1234 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "dispatchEvent" with the proper type (2)
    1235 PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError
    1236 PASS Comment interface: existence and properties of interface object
    1237 PASS Comment interface object length
    1238 PASS Comment interface object name
    1239 PASS Comment interface: existence and properties of interface prototype object
    1240 PASS Comment interface: existence and properties of interface prototype object's "constructor" property
    1241 PASS CharacterData interface: document.createComment("abc") must inherit property "data" with the proper type (0)
    1242 PASS CharacterData interface: document.createComment("abc") must inherit property "length" with the proper type (1)
    1243 PASS CharacterData interface: document.createComment("abc") must inherit property "substringData" with the proper type (2)
    1244 PASS CharacterData interface: calling substringData(unsigned long,unsigned long) on document.createComment("abc") with too few arguments must throw TypeError
    1245 PASS CharacterData interface: document.createComment("abc") must inherit property "appendData" with the proper type (3)
    1246 PASS CharacterData interface: calling appendData(DOMString) on document.createComment("abc") with too few arguments must throw TypeError
    1247 PASS CharacterData interface: document.createComment("abc") must inherit property "insertData" with the proper type (4)
    1248 PASS CharacterData interface: calling insertData(unsigned long,DOMString) on document.createComment("abc") with too few arguments must throw TypeError
    1249 PASS CharacterData interface: document.createComment("abc") must inherit property "deleteData" with the proper type (5)
    1250 PASS CharacterData interface: calling deleteData(unsigned long,unsigned long) on document.createComment("abc") with too few arguments must throw TypeError
    1251 PASS CharacterData interface: document.createComment("abc") must inherit property "replaceData" with the proper type (6)
    1252 PASS CharacterData interface: calling replaceData(unsigned long,unsigned long,DOMString) on document.createComment("abc") with too few arguments must throw TypeError
    1253 PASS CharacterData interface: document.createComment("abc") must inherit property "previousElementSibling" with the proper type (7)
    1254 PASS CharacterData interface: document.createComment("abc") must inherit property "nextElementSibling" with the proper type (8)
    1255 PASS CharacterData interface: document.createComment("abc") must inherit property "before" with the proper type (9)
    1256 PASS CharacterData interface: calling before([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError
    1257 PASS CharacterData interface: document.createComment("abc") must inherit property "after" with the proper type (10)
    1258 PASS CharacterData interface: calling after([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError
    1259 PASS CharacterData interface: document.createComment("abc") must inherit property "replaceWith" with the proper type (11)
    1260 PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError
    1261 PASS CharacterData interface: document.createComment("abc") must inherit property "remove" with the proper type (12)
    1262 PASS Node interface: document.createComment("abc") must inherit property "ELEMENT_NODE" with the proper type (0)
    1263 PASS Node interface: document.createComment("abc") must inherit property "ATTRIBUTE_NODE" with the proper type (1)
    1264 PASS Node interface: document.createComment("abc") must inherit property "TEXT_NODE" with the proper type (2)
    1265 PASS Node interface: document.createComment("abc") must inherit property "CDATA_SECTION_NODE" with the proper type (3)
    1266 PASS Node interface: document.createComment("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)
    1267 PASS Node interface: document.createComment("abc") must inherit property "ENTITY_NODE" with the proper type (5)
    1268 PASS Node interface: document.createComment("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)
    1269 PASS Node interface: document.createComment("abc") must inherit property "COMMENT_NODE" with the proper type (7)
    1270 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_NODE" with the proper type (8)
    1271 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)
    1272 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)
    1273 PASS Node interface: document.createComment("abc") must inherit property "NOTATION_NODE" with the proper type (11)
    1274 PASS Node interface: document.createComment("abc") must inherit property "nodeType" with the proper type (12)
    1275 PASS Node interface: document.createComment("abc") must inherit property "nodeName" with the proper type (13)
    1276 PASS Node interface: document.createComment("abc") must inherit property "baseURI" with the proper type (14)
    1277 PASS Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type (15)
    1278 PASS Node interface: document.createComment("abc") must inherit property "ownerDocument" with the proper type (16)
    1279 PASS Node interface: document.createComment("abc") must inherit property "getRootNode" with the proper type (17)
    1280 PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createComment("abc") with too few arguments must throw TypeError
    1281 PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type (18)
    1282 PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type (19)
    1283 PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes" with the proper type (20)
    1284 PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type (21)
    1285 PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type (22)
    1286 PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type (23)
    1287 PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type (24)
    1288 PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type (25)
    1289 PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type (26)
    1290 PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type (27)
    1291 PASS Node interface: document.createComment("abc") must inherit property "normalize" with the proper type (28)
    1292 PASS Node interface: document.createComment("abc") must inherit property "cloneNode" with the proper type (29)
    1293 PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError
    1294 PASS Node interface: document.createComment("abc") must inherit property "isEqualNode" with the proper type (30)
    1295 PASS Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError
    1296 PASS Node interface: document.createComment("abc") must inherit property "isSameNode" with the proper type (31)
    1297 PASS Node interface: calling isSameNode(Node) on document.createComment("abc") with too few arguments must throw TypeError
    1298 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32)
    1299 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33)
    1300 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34)
    1301 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35)
    1302 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36)
    1303 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37)
    1304 PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition" with the proper type (38)
    1305 PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError
    1306 PASS Node interface: document.createComment("abc") must inherit property "contains" with the proper type (39)
    1307 PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError
    1308 PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix" with the proper type (40)
    1309 PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError
    1310 PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI" with the proper type (41)
    1311 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError
    1312 PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace" with the proper type (42)
    1313 PASS Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError
    1314 PASS Node interface: document.createComment("abc") must inherit property "insertBefore" with the proper type (43)
    1315 PASS Node interface: calling insertBefore(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError
    1316 PASS Node interface: document.createComment("abc") must inherit property "appendChild" with the proper type (44)
    1317 PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError
    1318 PASS Node interface: document.createComment("abc") must inherit property "replaceChild" with the proper type (45)
    1319 PASS Node interface: calling replaceChild(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError
    1320 PASS Node interface: document.createComment("abc") must inherit property "removeChild" with the proper type (46)
    1321 PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError
    1322 PASS EventTarget interface: document.createComment("abc") must inherit property "addEventListener" with the proper type (0)
    1323 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError
    1324 PASS EventTarget interface: document.createComment("abc") must inherit property "removeEventListener" with the proper type (1)
    1325 PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError
    1326 PASS EventTarget interface: document.createComment("abc") must inherit property "dispatchEvent" with the proper type (2)
    1327 PASS EventTarget interface: calling dispatchEvent(Event) on document.createComment("abc") with too few arguments must throw TypeError
    1328 PASS Range interface: existence and properties of interface object
    1329 PASS Range interface object length
    1330 PASS Range interface object name
    1331 PASS Range interface: existence and properties of interface prototype object
    1332 PASS Range interface: existence and properties of interface prototype object's "constructor" property
    1333 PASS Range interface: attribute startContainer
    1334 PASS Range interface: attribute startOffset
    1335 PASS Range interface: attribute endContainer
    1336 PASS Range interface: attribute endOffset
    1337 PASS Range interface: attribute collapsed
    1338 PASS Range interface: attribute commonAncestorContainer
    1339 PASS Range interface: operation setStart(Node,unsigned long)
    1340 PASS Range interface: operation setEnd(Node,unsigned long)
    1341 PASS Range interface: operation setStartBefore(Node)
    1342 PASS Range interface: operation setStartAfter(Node)
    1343 PASS Range interface: operation setEndBefore(Node)
    1344 PASS Range interface: operation setEndAfter(Node)
    1345 PASS Range interface: operation collapse(boolean)
    1346 PASS Range interface: operation selectNode(Node)
    1347 PASS Range interface: operation selectNodeContents(Node)
    1348 PASS Range interface: constant START_TO_START on interface object
    1349 PASS Range interface: constant START_TO_START on interface prototype object
    1350 PASS Range interface: constant START_TO_END on interface object
    1351 PASS Range interface: constant START_TO_END on interface prototype object
    1352 PASS Range interface: constant END_TO_END on interface object
    1353 PASS Range interface: constant END_TO_END on interface prototype object
    1354 PASS Range interface: constant END_TO_START on interface object
    1355 PASS Range interface: constant END_TO_START on interface prototype object
    1356 PASS Range interface: operation compareBoundaryPoints(unsigned short,Range)
    1357 PASS Range interface: operation deleteContents()
    1358 PASS Range interface: operation extractContents()
    1359 PASS Range interface: operation cloneContents()
    1360 PASS Range interface: operation insertNode(Node)
    1361 PASS Range interface: operation surroundContents(Node)
    1362 PASS Range interface: operation cloneRange()
    1363 PASS Range interface: operation detach()
    1364 PASS Range interface: operation isPointInRange(Node,unsigned long)
    1365 PASS Range interface: operation comparePoint(Node,unsigned long)
    1366 PASS Range interface: operation intersectsNode(Node)
    1367 PASS Range interface: stringifier
    1368 PASS Range interface: document.createRange() must inherit property "startContainer" with the proper type (0)
    1369 PASS Range interface: document.createRange() must inherit property "startOffset" with the proper type (1)
    1370 PASS Range interface: document.createRange() must inherit property "endContainer" with the proper type (2)
    1371 PASS Range interface: document.createRange() must inherit property "endOffset" with the proper type (3)
    1372 PASS Range interface: document.createRange() must inherit property "collapsed" with the proper type (4)
    1373 PASS Range interface: document.createRange() must inherit property "commonAncestorContainer" with the proper type (5)
    1374 PASS Range interface: document.createRange() must inherit property "setStart" with the proper type (6)
    1375 PASS Range interface: calling setStart(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError
    1376 PASS Range interface: document.createRange() must inherit property "setEnd" with the proper type (7)
    1377 PASS Range interface: calling setEnd(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError
    1378 PASS Range interface: document.createRange() must inherit property "setStartBefore" with the proper type (8)
    1379 PASS Range interface: calling setStartBefore(Node) on document.createRange() with too few arguments must throw TypeError
    1380 PASS Range interface: document.createRange() must inherit property "setStartAfter" with the proper type (9)
    1381 PASS Range interface: calling setStartAfter(Node) on document.createRange() with too few arguments must throw TypeError
    1382 PASS Range interface: document.createRange() must inherit property "setEndBefore" with the proper type (10)
    1383 PASS Range interface: calling setEndBefore(Node) on document.createRange() with too few arguments must throw TypeError
    1384 PASS Range interface: document.createRange() must inherit property "setEndAfter" with the proper type (11)
    1385 PASS Range interface: calling setEndAfter(Node) on document.createRange() with too few arguments must throw TypeError
    1386 PASS Range interface: document.createRange() must inherit property "collapse" with the proper type (12)
    1387 PASS Range interface: calling collapse(boolean) on document.createRange() with too few arguments must throw TypeError
    1388 PASS Range interface: document.createRange() must inherit property "selectNode" with the proper type (13)
    1389 PASS Range interface: calling selectNode(Node) on document.createRange() with too few arguments must throw TypeError
    1390 PASS Range interface: document.createRange() must inherit property "selectNodeContents" with the proper type (14)
    1391 PASS Range interface: calling selectNodeContents(Node) on document.createRange() with too few arguments must throw TypeError
    1392 PASS Range interface: document.createRange() must inherit property "START_TO_START" with the proper type (15)
    1393 PASS Range interface: document.createRange() must inherit property "START_TO_END" with the proper type (16)
    1394 PASS Range interface: document.createRange() must inherit property "END_TO_END" with the proper type (17)
    1395 PASS Range interface: document.createRange() must inherit property "END_TO_START" with the proper type (18)
    1396 PASS Range interface: document.createRange() must inherit property "compareBoundaryPoints" with the proper type (19)
    1397 PASS Range interface: calling compareBoundaryPoints(unsigned short,Range) on document.createRange() with too few arguments must throw TypeError
    1398 PASS Range interface: document.createRange() must inherit property "deleteContents" with the proper type (20)
    1399 PASS Range interface: document.createRange() must inherit property "extractContents" with the proper type (21)
    1400 PASS Range interface: document.createRange() must inherit property "cloneContents" with the proper type (22)
    1401 PASS Range interface: document.createRange() must inherit property "insertNode" with the proper type (23)
    1402 PASS Range interface: calling insertNode(Node) on document.createRange() with too few arguments must throw TypeError
    1403 PASS Range interface: document.createRange() must inherit property "surroundContents" with the proper type (24)
    1404 PASS Range interface: calling surroundContents(Node) on document.createRange() with too few arguments must throw TypeError
    1405 PASS Range interface: document.createRange() must inherit property "cloneRange" with the proper type (25)
    1406 PASS Range interface: document.createRange() must inherit property "detach" with the proper type (26)
    1407 PASS Range interface: document.createRange() must inherit property "isPointInRange" with the proper type (27)
    1408 PASS Range interface: calling isPointInRange(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError
    1409 PASS Range interface: document.createRange() must inherit property "comparePoint" with the proper type (28)
    1410 PASS Range interface: calling comparePoint(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError
    1411 PASS Range interface: document.createRange() must inherit property "intersectsNode" with the proper type (29)
    1412 PASS Range interface: calling intersectsNode(Node) on document.createRange() with too few arguments must throw TypeError
    1413 PASS Range interface: detachedRange must inherit property "startContainer" with the proper type (0)
    1414 PASS Range interface: detachedRange must inherit property "startOffset" with the proper type (1)
    1415 PASS Range interface: detachedRange must inherit property "endContainer" with the proper type (2)
    1416 PASS Range interface: detachedRange must inherit property "endOffset" with the proper type (3)
    1417 PASS Range interface: detachedRange must inherit property "collapsed" with the proper type (4)
    1418 PASS Range interface: detachedRange must inherit property "commonAncestorContainer" with the proper type (5)
    1419 PASS Range interface: detachedRange must inherit property "setStart" with the proper type (6)
    1420 PASS Range interface: calling setStart(Node,unsigned long) on detachedRange with too few arguments must throw TypeError
    1421 PASS Range interface: detachedRange must inherit property "setEnd" with the proper type (7)
    1422 PASS Range interface: calling setEnd(Node,unsigned long) on detachedRange with too few arguments must throw TypeError
    1423 PASS Range interface: detachedRange must inherit property "setStartBefore" with the proper type (8)
    1424 PASS Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError
    1425 PASS Range interface: detachedRange must inherit property "setStartAfter" with the proper type (9)
    1426 PASS Range interface: calling setStartAfter(Node) on detachedRange with too few arguments must throw TypeError
    1427 PASS Range interface: detachedRange must inherit property "setEndBefore" with the proper type (10)
    1428 PASS Range interface: calling setEndBefore(Node) on detachedRange with too few arguments must throw TypeError
    1429 PASS Range interface: detachedRange must inherit property "setEndAfter" with the proper type (11)
    1430 PASS Range interface: calling setEndAfter(Node) on detachedRange with too few arguments must throw TypeError
    1431 PASS Range interface: detachedRange must inherit property "collapse" with the proper type (12)
    1432 PASS Range interface: calling collapse(boolean) on detachedRange with too few arguments must throw TypeError
    1433 PASS Range interface: detachedRange must inherit property "selectNode" with the proper type (13)
    1434 PASS Range interface: calling selectNode(Node) on detachedRange with too few arguments must throw TypeError
    1435 PASS Range interface: detachedRange must inherit property "selectNodeContents" with the proper type (14)
    1436 PASS Range interface: calling selectNodeContents(Node) on detachedRange with too few arguments must throw TypeError
    1437 PASS Range interface: detachedRange must inherit property "START_TO_START" with the proper type (15)
    1438 PASS Range interface: detachedRange must inherit property "START_TO_END" with the proper type (16)
    1439 PASS Range interface: detachedRange must inherit property "END_TO_END" with the proper type (17)
    1440 PASS Range interface: detachedRange must inherit property "END_TO_START" with the proper type (18)
    1441 PASS Range interface: detachedRange must inherit property "compareBoundaryPoints" with the proper type (19)
    1442 PASS Range interface: calling compareBoundaryPoints(unsigned short,Range) on detachedRange with too few arguments must throw TypeError
    1443 PASS Range interface: detachedRange must inherit property "deleteContents" with the proper type (20)
    1444 PASS Range interface: detachedRange must inherit property "extractContents" with the proper type (21)
    1445 PASS Range interface: detachedRange must inherit property "cloneContents" with the proper type (22)
    1446 PASS Range interface: detachedRange must inherit property "insertNode" with the proper type (23)
    1447 PASS Range interface: calling insertNode(Node) on detachedRange with too few arguments must throw TypeError
    1448 PASS Range interface: detachedRange must inherit property "surroundContents" with the proper type (24)
    1449 PASS Range interface: calling surroundContents(Node) on detachedRange with too few arguments must throw TypeError
    1450 PASS Range interface: detachedRange must inherit property "cloneRange" with the proper type (25)
    1451 PASS Range interface: detachedRange must inherit property "detach" with the proper type (26)
    1452 PASS Range interface: detachedRange must inherit property "isPointInRange" with the proper type (27)
    1453 PASS Range interface: calling isPointInRange(Node,unsigned long) on detachedRange with too few arguments must throw TypeError
    1454 PASS Range interface: detachedRange must inherit property "comparePoint" with the proper type (28)
    1455 PASS Range interface: calling comparePoint(Node,unsigned long) on detachedRange with too few arguments must throw TypeError
    1456 PASS Range interface: detachedRange must inherit property "intersectsNode" with the proper type (29)
    1457 PASS Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError
    1458 PASS NodeIterator interface: existence and properties of interface object
    1459 PASS NodeIterator interface object length
    1460 PASS NodeIterator interface object name
    1461 PASS NodeIterator interface: existence and properties of interface prototype object
    1462 PASS NodeIterator interface: existence and properties of interface prototype object's "constructor" property
    1463 PASS NodeIterator interface: attribute root
    1464 PASS NodeIterator interface: attribute referenceNode
    1465 PASS NodeIterator interface: attribute pointerBeforeReferenceNode
    1466 PASS NodeIterator interface: attribute whatToShow
    1467 PASS NodeIterator interface: attribute filter
    1468 PASS NodeIterator interface: operation nextNode()
    1469 PASS NodeIterator interface: operation previousNode()
    1470 PASS NodeIterator interface: operation detach()
    1471 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type (0)
    1472 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "referenceNode" with the proper type (1)
    1473 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "pointerBeforeReferenceNode" with the proper type (2)
    1474 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type (3)
    1475 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type (4)
    1476 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (5)
    1477 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (6)
    1478 PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "detach" with the proper type (7)
    1479 PASS TreeWalker interface: existence and properties of interface object
    1480 PASS TreeWalker interface object length
    1481 PASS TreeWalker interface object name
    1482 PASS TreeWalker interface: existence and properties of interface prototype object
    1483 PASS TreeWalker interface: existence and properties of interface prototype object's "constructor" property
    1484 PASS TreeWalker interface: attribute root
    1485 PASS TreeWalker interface: attribute whatToShow
    1486 PASS TreeWalker interface: attribute filter
    1487 PASS TreeWalker interface: attribute currentNode
    1488 PASS TreeWalker interface: operation parentNode()
    1489 PASS TreeWalker interface: operation firstChild()
    1490 PASS TreeWalker interface: operation lastChild()
    1491 PASS TreeWalker interface: operation previousSibling()
    1492 PASS TreeWalker interface: operation nextSibling()
    1493 PASS TreeWalker interface: operation previousNode()
    1494 PASS TreeWalker interface: operation nextNode()
    1495 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type (0)
    1496 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type (1)
    1497 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type (2)
    1498 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "currentNode" with the proper type (3)
    1499 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "parentNode" with the proper type (4)
    1500 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "firstChild" with the proper type (5)
    1501 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "lastChild" with the proper type (6)
    1502 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousSibling" with the proper type (7)
    1503 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextSibling" with the proper type (8)
    1504 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (9)
    1505 PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (10)
    1506 PASS NodeFilter interface: existence and properties of interface object
    1507 PASS NodeFilter interface object name
    1508 PASS NodeFilter interface: existence and properties of interface prototype object
    1509 PASS NodeFilter interface: existence and properties of interface prototype object's "constructor" property
    1510 PASS NodeFilter interface: constant FILTER_ACCEPT on interface object
    1511 PASS NodeFilter interface: constant FILTER_ACCEPT on interface prototype object
    1512 PASS NodeFilter interface: constant FILTER_REJECT on interface object
    1513 PASS NodeFilter interface: constant FILTER_REJECT on interface prototype object
    1514 PASS NodeFilter interface: constant FILTER_SKIP on interface object
    1515 PASS NodeFilter interface: constant FILTER_SKIP on interface prototype object
    1516 PASS NodeFilter interface: constant SHOW_ALL on interface object
    1517 PASS NodeFilter interface: constant SHOW_ALL on interface prototype object
    1518 PASS NodeFilter interface: constant SHOW_ELEMENT on interface object
    1519 PASS NodeFilter interface: constant SHOW_ELEMENT on interface prototype object
    1520 PASS NodeFilter interface: constant SHOW_ATTRIBUTE on interface object
    1521 PASS NodeFilter interface: constant SHOW_ATTRIBUTE on interface prototype object
    1522 PASS NodeFilter interface: constant SHOW_TEXT on interface object
    1523 PASS NodeFilter interface: constant SHOW_TEXT on interface prototype object
    1524 PASS NodeFilter interface: constant SHOW_CDATA_SECTION on interface object
    1525 PASS NodeFilter interface: constant SHOW_CDATA_SECTION on interface prototype object
    1526 PASS NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface object
    1527 PASS NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface prototype object
    1528 PASS NodeFilter interface: constant SHOW_ENTITY on interface object
    1529 PASS NodeFilter interface: constant SHOW_ENTITY on interface prototype object
    1530 PASS NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface object
    1531 PASS NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface prototype object
    1532 PASS NodeFilter interface: constant SHOW_COMMENT on interface object
    1533 PASS NodeFilter interface: constant SHOW_COMMENT on interface prototype object
    1534 PASS NodeFilter interface: constant SHOW_DOCUMENT on interface object
    1535 PASS NodeFilter interface: constant SHOW_DOCUMENT on interface prototype object
    1536 PASS NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface object
    1537 PASS NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface prototype object
    1538 PASS NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface object
    1539 PASS NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface prototype object
    1540 PASS NodeFilter interface: constant SHOW_NOTATION on interface object
    1541 PASS NodeFilter interface: constant SHOW_NOTATION on interface prototype object
    1542 PASS NodeFilter interface: operation acceptNode(Node)
    1543 PASS DOMTokenList interface: existence and properties of interface object
    1544 PASS DOMTokenList interface object length
    1545 PASS DOMTokenList interface object name
    1546 PASS DOMTokenList interface: existence and properties of interface prototype object
    1547 PASS DOMTokenList interface: existence and properties of interface prototype object's "constructor" property
    1548 PASS DOMTokenList interface: attribute length
    1549 PASS DOMTokenList interface: operation item(unsigned long)
    1550 PASS DOMTokenList interface: operation contains(DOMString)
    1551 PASS DOMTokenList interface: operation add(DOMString)
    1552 PASS DOMTokenList interface: operation remove(DOMString)
    1553 PASS DOMTokenList interface: operation toggle(DOMString,boolean)
    1554 PASS DOMTokenList interface: operation replace(DOMString,DOMString)
    1555 PASS DOMTokenList interface: operation supports(DOMString)
    1556 PASS DOMTokenList interface: attribute value
    1557 PASS DOMTokenList interface: stringifier
    1558 PASS DOMTokenList interface: document.body.classList must inherit property "length" with the proper type (0)
    1559 PASS DOMTokenList interface: document.body.classList must inherit property "item" with the proper type (1)
    1560 PASS DOMTokenList interface: calling item(unsigned long) on document.body.classList with too few arguments must throw TypeError
    1561 PASS DOMTokenList interface: document.body.classList must inherit property "contains" with the proper type (2)
    1562 PASS DOMTokenList interface: calling contains(DOMString) on document.body.classList with too few arguments must throw TypeError
    1563 PASS DOMTokenList interface: document.body.classList must inherit property "add" with the proper type (3)
    1564 PASS DOMTokenList interface: calling add(DOMString) on document.body.classList with too few arguments must throw TypeError
    1565 PASS DOMTokenList interface: document.body.classList must inherit property "remove" with the proper type (4)
    1566 PASS DOMTokenList interface: calling remove(DOMString) on document.body.classList with too few arguments must throw TypeError
    1567 PASS DOMTokenList interface: document.body.classList must inherit property "toggle" with the proper type (5)
    1568 PASS DOMTokenList interface: calling toggle(DOMString,boolean) on document.body.classList with too few arguments must throw TypeError
    1569 PASS DOMTokenList interface: document.body.classList must inherit property "replace" with the proper type (6)
    1570 PASS DOMTokenList interface: calling replace(DOMString,DOMString) on document.body.classList with too few arguments must throw TypeError
    1571 PASS DOMTokenList interface: document.body.classList must inherit property "supports" with the proper type (7)
    1572 PASS DOMTokenList interface: calling supports(DOMString) on document.body.classList with too few arguments must throw TypeError
    1573 PASS DOMTokenList interface: document.body.classList must inherit property "value" with the proper type (8)
     4FAIL Test driver promise_test: Unhandled rejection with value: object "Unrecognised tokens, line 1 (tokens: '{"error": {')
     5[
     6    {
     7        "type": "other",
     8        "value": "{"
     9    },
     10    {
     11        "type": "string",
     12        "value": "\"error\""
     13    },
     14    {
     15        "type": "other",
     16        "value": ":"
     17    },
     18    {
     19        "type": "whitespace",
     20        "value": " "
     21    },
     22    {
     23        "type": "other",
     24        "value": "{"
     25    }
     26]"
    157427
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/interfaces.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>DOM IDL tests</title>
    4 <script src=../../../../resources/testharness.js></script>
    5 <script src=../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<script src=/resources/WebIDLParser.js></script>
    77<script src=/resources/idlharness.js></script>
     
    99<h1>DOM IDL tests</h1>
    1010<div id=log></div>
    11 
    12 <script type=text/plain>
    13 [Constructor(DOMString type, optional EventInit eventInitDict)/*,
    14  Exposed=(Window,Worker)*/]
    15 interface Event {
    16   readonly attribute DOMString type;
    17   readonly attribute EventTarget? target;
    18   readonly attribute EventTarget? currentTarget;
    19 
    20   const unsigned short NONE = 0;
    21   const unsigned short CAPTURING_PHASE = 1;
    22   const unsigned short AT_TARGET = 2;
    23   const unsigned short BUBBLING_PHASE = 3;
    24   readonly attribute unsigned short eventPhase;
    25 
    26   void stopPropagation();
    27   void stopImmediatePropagation();
    28 
    29   readonly attribute boolean bubbles;
    30   readonly attribute boolean cancelable;
    31   void preventDefault();
    32   readonly attribute boolean defaultPrevented;
    33 
    34   [Unforgeable] readonly attribute boolean isTrusted;
    35   readonly attribute DOMTimeStamp timeStamp;
    36 
    37   void initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false);
    38 };
    39 
    40 dictionary EventInit {
    41   boolean bubbles = false;
    42   boolean cancelable = false;
    43 };
    44 
    45 
    46 [Constructor(DOMString type, optional CustomEventInit eventInitDict)/*,
    47  Exposed=(Window,Worker)*/]
    48 interface CustomEvent : Event {
    49   readonly attribute any detail;
    50 
    51   void initCustomEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any detail = null);
    52 };
    53 
    54 dictionary CustomEventInit : EventInit {
    55   any detail = null;
    56 };
    57 
    58 
    59 //[Exposed=(Window,Worker)]
    60 interface EventTarget {
    61   void addEventListener(DOMString type, EventListener? callback, optional (EventListenerOptions or boolean) options);
    62   void removeEventListener(DOMString type, EventListener? callback, optional (EventListenerOptions or boolean) options);
    63   boolean dispatchEvent(Event event);
    64 };
    65 
    66 callback interface EventListener {
    67   void handleEvent(Event event);
    68 };
    69 
    70 dictionary EventListenerOptions {
    71   boolean capture;
    72   boolean passive;
    73 };
    74 
    75 
    76 [NoInterfaceObject,
    77  Exposed=Window]
    78 interface NonElementParentNode {
    79   Element? getElementById(DOMString elementId);
    80 };
    81 Document implements NonElementParentNode;
    82 DocumentFragment implements NonElementParentNode;
    83 
    84 
    85 [NoInterfaceObject,
    86  Exposed=Window]
    87 interface DocumentOrShadowRoot {
    88 };
    89 Document implements DocumentOrShadowRoot;
    90 ShadowRoot implements DocumentOrShadowRoot;
    91 
    92 
    93 [NoInterfaceObject,
    94  Exposed=Window]
    95 interface ParentNode {
    96   [SameObject] readonly attribute HTMLCollection children;
    97   readonly attribute Element? firstElementChild;
    98   readonly attribute Element? lastElementChild;
    99   readonly attribute unsigned long childElementCount;
    100 
    101   [Unscopable] void prepend((Node or DOMString)... nodes);
    102   [Unscopable] void append((Node or DOMString)... nodes);
    103 
    104   Element? querySelector(DOMString selectors);
    105   [NewObject] NodeList querySelectorAll(DOMString selectors);
    106 };
    107 Document implements ParentNode;
    108 DocumentFragment implements ParentNode;
    109 Element implements ParentNode;
    110 
    111 
    112 [NoInterfaceObject,
    113  Exposed=Window]
    114 interface NonDocumentTypeChildNode {
    115   readonly attribute Element? previousElementSibling;
    116   readonly attribute Element? nextElementSibling;
    117 };
    118 Element implements NonDocumentTypeChildNode;
    119 CharacterData implements NonDocumentTypeChildNode;
    120 
    121 
    122 [NoInterfaceObject,
    123  Exposed=Window]
    124 interface ChildNode {
    125   [Unscopable] void before((Node or DOMString)... nodes);
    126   [Unscopable] void after((Node or DOMString)... nodes);
    127   [Unscopable] void replaceWith((Node or DOMString)... nodes);
    128   [Unscopable] void remove();
    129 };
    130 DocumentType implements ChildNode;
    131 Element implements ChildNode;
    132 CharacterData implements ChildNode;
    133 
    134 
    135 [NoInterfaceObject,
    136  Exposed=Window]
    137 interface Slotable {
    138   readonly attribute HTMLSlotElement? assignedSlot;
    139 };
    140 Element implements Slotable;
    141 Text implements Slotable;
    142 
    143 
    144 [Exposed=Window]
    145 interface NodeList {
    146   getter Node? item(unsigned long index);
    147   readonly attribute unsigned long length;
    148 //  iterable<Node>;
    149 };
    150 
    151 
    152 [Exposed=Window, LegacyUnenumerableNamedProperties]
    153 interface HTMLCollection {
    154   readonly attribute unsigned long length;
    155   getter Element? item(unsigned long index);
    156   getter Element? namedItem(DOMString name);
    157 };
    158 
    159 
    160 [Constructor(MutationCallback callback)]
    161 interface MutationObserver {
    162   void observe(Node target, optional MutationObserverInit options);
    163   void disconnect();
    164   sequence<MutationRecord> takeRecords();
    165 };
    166 
    167 callback MutationCallback = void (sequence<MutationRecord> mutations, MutationObserver observer);
    168 
    169 dictionary MutationObserverInit {
    170   boolean childList = false;
    171   boolean attributes;
    172   boolean characterData;
    173   boolean subtree = false;
    174   boolean attributeOldValue;
    175   boolean characterDataOldValue;
    176   sequence<DOMString> attributeFilter;
    177 };
    178 
    179 
    180 [Exposed=Window]
    181 interface MutationRecord {
    182   readonly attribute DOMString type;
    183   [SameObject] readonly attribute Node target;
    184   [SameObject] readonly attribute NodeList addedNodes;
    185   [SameObject] readonly attribute NodeList removedNodes;
    186   readonly attribute Node? previousSibling;
    187   readonly attribute Node? nextSibling;
    188   readonly attribute DOMString? attributeName;
    189   readonly attribute DOMString? attributeNamespace;
    190   readonly attribute DOMString? oldValue;
    191 };
    192 
    193 
    194 [Exposed=Window]
    195 interface Node : EventTarget {
    196   const unsigned short ELEMENT_NODE = 1;
    197   const unsigned short ATTRIBUTE_NODE = 2; // historical
    198   const unsigned short TEXT_NODE = 3;
    199   const unsigned short CDATA_SECTION_NODE = 4;
    200   const unsigned short ENTITY_REFERENCE_NODE = 5; // historical
    201   const unsigned short ENTITY_NODE = 6; // historical
    202   const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
    203   const unsigned short COMMENT_NODE = 8;
    204   const unsigned short DOCUMENT_NODE = 9;
    205   const unsigned short DOCUMENT_TYPE_NODE = 10;
    206   const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
    207   const unsigned short NOTATION_NODE = 12; // historical
    208   readonly attribute unsigned short nodeType;
    209   readonly attribute DOMString nodeName;
    210 
    211   readonly attribute DOMString baseURI;
    212 
    213   readonly attribute boolean isConnected;
    214   readonly attribute Document? ownerDocument;
    215   Node getRootNode(optional GetRootNodeOptions options);
    216   readonly attribute Node? parentNode;
    217   readonly attribute Element? parentElement;
    218   boolean hasChildNodes();
    219   [SameObject] readonly attribute NodeList childNodes;
    220   readonly attribute Node? firstChild;
    221   readonly attribute Node? lastChild;
    222   readonly attribute Node? previousSibling;
    223   readonly attribute Node? nextSibling;
    224 
    225            attribute DOMString? nodeValue;
    226            attribute DOMString? textContent;
    227   void normalize();
    228 
    229   [NewObject] Node cloneNode(optional boolean deep = false);
    230   boolean isEqualNode(Node? otherNode);
    231   boolean isSameNode(Node? otherNode); // historical alias of ===
    232 
    233   const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01;
    234   const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02;
    235   const unsigned short DOCUMENT_POSITION_FOLLOWING = 0x04;
    236   const unsigned short DOCUMENT_POSITION_CONTAINS = 0x08;
    237   const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
    238   const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
    239   unsigned short compareDocumentPosition(Node other);
    240   boolean contains(Node? other);
    241 
    242   DOMString? lookupPrefix(DOMString? namespace);
    243   DOMString? lookupNamespaceURI(DOMString? prefix);
    244   boolean isDefaultNamespace(DOMString? namespace);
    245 
    246   Node insertBefore(Node node, Node? child);
    247   Node appendChild(Node node);
    248   Node replaceChild(Node node, Node child);
    249   Node removeChild(Node child);
    250 };
    251 
    252 dictionary GetRootNodeOptions {
    253   boolean composed = false;
    254 };
    255 
    256 [Constructor,
    257  Exposed=Window]
    258 interface Document : Node {
    259   [SameObject] readonly attribute DOMImplementation implementation;
    260   readonly attribute DOMString URL;
    261   readonly attribute DOMString documentURI;
    262   readonly attribute DOMString origin;
    263   readonly attribute DOMString compatMode;
    264   readonly attribute DOMString characterSet;
    265   readonly attribute DOMString charset; // historical alias of .characterSet
    266   readonly attribute DOMString inputEncoding; // historical alias of .characterSet
    267   readonly attribute DOMString contentType;
    268 
    269   readonly attribute DocumentType? doctype;
    270   readonly attribute Element? documentElement;
    271   HTMLCollection getElementsByTagName(DOMString qualifiedName);
    272   HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
    273   HTMLCollection getElementsByClassName(DOMString classNames);
    274 
    275   [NewObject] Element createElement(DOMString localName, optional ElementCreationOptions options);
    276   [NewObject] Element createElementNS(DOMString? namespace, DOMString qualifiedName, optional ElementCreationOptions options);
    277   [NewObject] DocumentFragment createDocumentFragment();
    278   [NewObject] Text createTextNode(DOMString data);
    279   [NewObject] CDATASection createCDATASection(DOMString data);
    280   [NewObject] Comment createComment(DOMString data);
    281   [NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
    282 
    283   [NewObject] Node importNode(Node node, optional boolean deep = false);
    284   Node adoptNode(Node node);
    285 
    286   [NewObject] Attr createAttribute(DOMString localName);
    287   [NewObject] Attr createAttributeNS(DOMString? namespace, DOMString qualifiedName);
    288 
    289   [NewObject] Event createEvent(DOMString interface);
    290 
    291   [NewObject] Range createRange();
    292 
    293   // NodeFilter.SHOW_ALL = 0xFFFFFFFF
    294   [NewObject] NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null);
    295   [NewObject] TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null);
    296 };
    297 
    298 [Exposed=Window]
    299 interface XMLDocument : Document {};
    300 
    301 dictionary ElementCreationOptions {
    302   DOMString is;
    303 };
    304 
    305 
    306 [Exposed=Window]
    307 interface DOMImplementation {
    308   [NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId);
    309   [NewObject] XMLDocument createDocument(DOMString? namespace, [TreatNullAs=EmptyString] DOMString qualifiedName, optional DocumentType? doctype = null);
    310   [NewObject] Document createHTMLDocument(optional DOMString title);
    311 
    312   boolean hasFeature(); // useless; always returns true
    313 };
    314 
    315 
    316 [Exposed=Window]
    317 interface DocumentType : Node {
    318   readonly attribute DOMString name;
    319   readonly attribute DOMString publicId;
    320   readonly attribute DOMString systemId;
    321 };
    322 
    323 
    324 [Constructor,
    325  Exposed=Window]
    326 interface DocumentFragment : Node {
    327 };
    328 
    329 
    330 [Exposed=Window]
    331 interface ShadowRoot : DocumentFragment {
    332   readonly attribute ShadowRootMode mode;
    333   readonly attribute Element host;
    334 };
    335 
    336 enum ShadowRootMode { "open", "closed" };
    337 
    338 
    339 [Exposed=Window]
    340 interface Element : Node {
    341   readonly attribute DOMString? namespaceURI;
    342   readonly attribute DOMString? prefix;
    343   readonly attribute DOMString localName;
    344   readonly attribute DOMString tagName;
    345 
    346            attribute DOMString id;
    347            attribute DOMString className;
    348   [SameObject, PutForwards=value] readonly attribute DOMTokenList classList;
    349            attribute DOMString slot;
    350 
    351   boolean hasAttributes();
    352   [SameObject] readonly attribute NamedNodeMap attributes;
    353   sequence<DOMString> getAttributeNames();
    354   DOMString? getAttribute(DOMString qualifiedName);
    355   DOMString? getAttributeNS(DOMString? namespace, DOMString localName);
    356   void setAttribute(DOMString qualifiedName, DOMString value);
    357   void setAttributeNS(DOMString? namespace, DOMString qualifiedName, DOMString value);
    358   void removeAttribute(DOMString qualifiedName);
    359   void removeAttributeNS(DOMString? namespace, DOMString localName);
    360   boolean hasAttribute(DOMString qualifiedName);
    361   boolean hasAttributeNS(DOMString? namespace, DOMString localName);
    362 
    363   Attr? getAttributeNode(DOMString qualifiedName);
    364   Attr? getAttributeNodeNS(DOMString? namespace, DOMString localName);
    365   Attr? setAttributeNode(Attr attr);
    366   Attr? setAttributeNodeNS(Attr attr);
    367   Attr removeAttributeNode(Attr attr);
    368 
    369   ShadowRoot attachShadow(ShadowRootInit init);
    370   readonly attribute ShadowRoot? shadowRoot;
    371 
    372   Element? closest(DOMString selectors);
    373   boolean matches(DOMString selectors);
    374   boolean webkitMatchesSelector(DOMString selectors); // historical alias of .matches
    375 
    376   HTMLCollection getElementsByTagName(DOMString qualifiedName);
    377   HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
    378   HTMLCollection getElementsByClassName(DOMString classNames);
    379 
    380   Element? insertAdjacentElement(DOMString where, Element element); // historical
    381   void insertAdjacentText(DOMString where, DOMString data); // historical
    382 };
    383 
    384 dictionary ShadowRootInit {
    385 //  required ShadowRootMode mode;
    386 };
    387 
    388 
    389 [Exposed=Window, LegacyUnenumerableNamedProperties]
    390 interface NamedNodeMap {
    391   readonly attribute unsigned long length;
    392   getter Attr? item(unsigned long index);
    393   getter Attr? getNamedItem(DOMString qualifiedName);
    394   Attr? getNamedItemNS(DOMString? namespace, DOMString localName);
    395   Attr? setNamedItem(Attr attr);
    396   Attr? setNamedItemNS(Attr attr);
    397   Attr removeNamedItem(DOMString qualifiedName);
    398   Attr removeNamedItemNS(DOMString? namespace, DOMString localName);
    399 };
    400 
    401 
    402 [Exposed=Window]
    403 interface Attr : Node {
    404   readonly attribute DOMString? namespaceURI;
    405   readonly attribute DOMString? prefix;
    406   readonly attribute DOMString localName;
    407   readonly attribute DOMString name;
    408            attribute DOMString value;
    409 
    410   readonly attribute Element? ownerElement;
    411 
    412   readonly attribute boolean specified; // useless; always returns true
    413 };
    414 
    415 [Exposed=Window]
    416 interface CharacterData : Node {
    417   [TreatNullAs=EmptyString] attribute DOMString data;
    418   readonly attribute unsigned long length;
    419   DOMString substringData(unsigned long offset, unsigned long count);
    420   void appendData(DOMString data);
    421   void insertData(unsigned long offset, DOMString data);
    422   void deleteData(unsigned long offset, unsigned long count);
    423   void replaceData(unsigned long offset, unsigned long count, DOMString data);
    424 };
    425 
    426 
    427 [Constructor(optional DOMString data = ""),
    428  Exposed=Window]
    429 interface Text : CharacterData {
    430   [NewObject] Text splitText(unsigned long offset);
    431   readonly attribute DOMString wholeText;
    432 };
    433 
    434 [Exposed=Window]
    435 interface CDATASection : Text {
    436 };
    437 
    438 [Exposed=Window]
    439 interface ProcessingInstruction : CharacterData {
    440   readonly attribute DOMString target;
    441 };
    442 
    443 [Constructor(optional DOMString data = ""),
    444  Exposed=Window]
    445 interface Comment : CharacterData {
    446 };
    447 
    448 
    449 [Constructor,
    450  Exposed=Window]
    451 interface Range {
    452   readonly attribute Node startContainer;
    453   readonly attribute unsigned long startOffset;
    454   readonly attribute Node endContainer;
    455   readonly attribute unsigned long endOffset;
    456   readonly attribute boolean collapsed;
    457   readonly attribute Node commonAncestorContainer;
    458 
    459   void setStart(Node node, unsigned long offset);
    460   void setEnd(Node node, unsigned long offset);
    461   void setStartBefore(Node node);
    462   void setStartAfter(Node node);
    463   void setEndBefore(Node node);
    464   void setEndAfter(Node node);
    465   void collapse(optional boolean toStart = false);
    466   void selectNode(Node node);
    467   void selectNodeContents(Node node);
    468 
    469   const unsigned short START_TO_START = 0;
    470   const unsigned short START_TO_END = 1;
    471   const unsigned short END_TO_END = 2;
    472   const unsigned short END_TO_START = 3;
    473   short compareBoundaryPoints(unsigned short how, Range sourceRange);
    474 
    475   void deleteContents();
    476   [NewObject] DocumentFragment extractContents();
    477   [NewObject] DocumentFragment cloneContents();
    478   void insertNode(Node node);
    479   void surroundContents(Node newParent);
    480 
    481   [NewObject] Range cloneRange();
    482   void detach();
    483 
    484   boolean isPointInRange(Node node, unsigned long offset);
    485   short comparePoint(Node node, unsigned long offset);
    486 
    487   boolean intersectsNode(Node node);
    488 
    489   stringifier;
    490 };
    491 
    492 
    493 [Exposed=Window]
    494 interface NodeIterator {
    495   [SameObject] readonly attribute Node root;
    496   readonly attribute Node referenceNode;
    497   readonly attribute boolean pointerBeforeReferenceNode;
    498   readonly attribute unsigned long whatToShow;
    499   readonly attribute NodeFilter? filter;
    500 
    501   Node? nextNode();
    502   Node? previousNode();
    503 
    504   void detach();
    505 };
    506 
    507 
    508 [Exposed=Window]
    509 interface TreeWalker {
    510   [SameObject] readonly attribute Node root;
    511   readonly attribute unsigned long whatToShow;
    512   readonly attribute NodeFilter? filter;
    513            attribute Node currentNode;
    514 
    515   Node? parentNode();
    516   Node? firstChild();
    517   Node? lastChild();
    518   Node? previousSibling();
    519   Node? nextSibling();
    520   Node? previousNode();
    521   Node? nextNode();
    522 };
    523 
    524 [Exposed=Window]
    525 callback interface NodeFilter {
    526   // Constants for acceptNode()
    527   const unsigned short FILTER_ACCEPT = 1;
    528   const unsigned short FILTER_REJECT = 2;
    529   const unsigned short FILTER_SKIP = 3;
    530 
    531   // Constants for whatToShow
    532   const unsigned long SHOW_ALL = 0xFFFFFFFF;
    533   const unsigned long SHOW_ELEMENT = 0x1;
    534   const unsigned long SHOW_ATTRIBUTE = 0x2; // historical
    535   const unsigned long SHOW_TEXT = 0x4;
    536   const unsigned long SHOW_CDATA_SECTION = 0x8;
    537   const unsigned long SHOW_ENTITY_REFERENCE = 0x10; // historical
    538   const unsigned long SHOW_ENTITY = 0x20; // historical
    539   const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x40;
    540   const unsigned long SHOW_COMMENT = 0x80;
    541   const unsigned long SHOW_DOCUMENT = 0x100;
    542   const unsigned long SHOW_DOCUMENT_TYPE = 0x200;
    543   const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x400;
    544   const unsigned long SHOW_NOTATION = 0x800; // historical
    545 
    546   unsigned short acceptNode(Node node);
    547 };
    548 
    549 
    550 interface DOMTokenList {
    551   readonly attribute unsigned long length;
    552   getter DOMString? item(unsigned long index);
    553   boolean contains(DOMString token);
    554   [CEReactions] void add(DOMString... tokens);
    555   [CEReactions] void remove(DOMString... tokens);
    556   [CEReactions] boolean toggle(DOMString token, optional boolean force);
    557   [CEReactions] void replace(DOMString token, DOMString newToken);
    558   boolean supports(DOMString token);
    559   [CEReactions] stringifier attribute DOMString value;
    560   //  iterable<DOMString>;
    561 };
    562 </script>
    56311<script>
    56412"use strict";
    565 var xmlDoc, detachedRange, element;
    566 var idlArray;
    567 setup(function() {
    568   xmlDoc = document.implementation.createDocument(null, "", null);
    569   detachedRange = document.createRange();
    570   detachedRange.detach();
    571   element = xmlDoc.createElementNS(null, "test");
    572   element.setAttribute("bar", "baz");
     13var xmlDoc = document.implementation.createDocument(null, "", null);
     14var detachedRange = document.createRange();
     15detachedRange.detach();
     16var element = xmlDoc.createElementNS(null, "test");
     17element.setAttribute("bar", "baz");
    57318
    574   idlArray = new IdlArray();
    575   idlArray.add_idls(document.querySelector("script[type=text\\/plain]").textContent);
     19var idlArray = new IdlArray();
     20
     21function doTest(idl) {
     22  idlArray.add_idls(idl);
    57623  idlArray.add_objects({
    57724    Event: ['document.createEvent("Event")', 'new Event("foo")'],
     
    59441    DOMTokenList: ['document.body.classList'],
    59542  });
    596 });
    597 idlArray.test();
     43  idlArray.test();
     44}
     45
     46promise_test(function() {
     47  return fetch("/interfaces/dom.idl").then(response => response.text())
     48                                     .then(doTest);
     49}, "Test driver");
    59850</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-Iterable.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title>DOMTokenList Iterable Test</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<span class="foo   Foo foo   "></span>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title>DOMTokenList coverage for attributes</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id=log></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>DOMTokenList iteration: keys, values, etc.</title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<span class="   a  a b "></span>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-stringifier.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-domtokenlist-stringifier">
    55<link rel=author title=Ms2ger href="mailto:Ms2ger@gmail.com">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id=log></div>
    99<span class="   a  a b "></span>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-value.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-domtokenlist-value">
    55<link rel=author title=Tangresh href="mailto:dmenzi@tangresh.ch">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<span class="   a  a b "></span>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-appendChild.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-node-appendchild">
    55<link rel=help href="https://dom.spec.whatwg.org/#introduction-to-the-dom">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-appendData.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-appenddata">
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-data.html

    r215701 r217225  
    33<title>CharacterData.data</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-deleteData.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-deletedata">
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-insertData.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-insertdata">
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-remove.html

    r215701 r217225  
    33<title>CharacterData.remove</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-childnode-remove">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="ChildNode-remove.js"></script>
    88<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-replaceData.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-replacedata">
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-substringData.html

    r215701 r217225  
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-substringdata">
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/CharacterData-surrogates.html

    r215701 r217225  
    77<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-deletedata">
    88<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    9 <script src="../../../../../resources/testharness.js"></script>
    10 <script src="../../../../../resources/testharnessreport.js"></script>
     9<script src="/resources/testharness.js"></script>
     10<script src="/resources/testharnessreport.js"></script>
    1111<div id="log"></div>
    1212<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ChildNode-after.html

    r215701 r217225  
    33<title>ChildNode.after</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-childnode-after">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ChildNode-before.html

    r215701 r217225  
    33<title>ChildNode.before</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-childnode-before">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ChildNode-replaceWith.html

    r215701 r217225  
    33<title>ChildNode.replaceWith</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-childnode-replaceWith">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Comment-constructor.html

    r215701 r217225  
    33<title>Comment constructor</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-comment">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Comment-Text-constructor.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html

    r215701 r217225  
    77<link rel=help href="https://dom.spec.whatwg.org/#dom-document-documentelement">
    88<link rel=help href="https://dom.spec.whatwg.org/#dom-document-doctype">
    9 <script src="../../../../../resources/testharness.js"></script>
    10 <script src="../../../../../resources/testharnessreport.js"></script>
     9<script src="/resources/testharness.js"></script>
     10<script src="/resources/testharnessreport.js"></script>
    1111<script src="Document-createElementNS.js"></script>
    1212<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html

    r215701 r217225  
    77<link rel=help href="https://dom.spec.whatwg.org/#dom-documenttype-systemid">
    88<link rel=help href="https://dom.spec.whatwg.org/#dom-node-ownerdocument">
    9 <script src="../../../../../resources/testharness.js"></script>
    10 <script src="../../../../../resources/testharnessreport.js"></script>
     9<script src="/resources/testharness.js"></script>
     10<script src="/resources/testharnessreport.js"></script>
    1111<div id="log"></div>
    1212<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html

    r215701 r217225  
    99<link rel=help href="https://dom.spec.whatwg.org/#dom-documenttype-systemid">
    1010<link rel=help href="https://dom.spec.whatwg.org/#dom-document-documentelement">
    11 <script src="../../../../../resources/testharness.js"></script>
    12 <script src="../../../../../resources/testharnessreport.js"></script>
     11<script src="/resources/testharness.js"></script>
     12<script src="/resources/testharnessreport.js"></script>
    1313<script src="DOMImplementation-createHTMLDocument.js"></script>
    1414<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-hasFeature.html

    r215701 r217225  
    33<title>DOMImplementation.hasFeature(feature, version)</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-URL.sub.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Document.URL with redirect</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id=log></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-adoptNode.html

    r215701 r217225  
    33<title>Document.adoptNode</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-adoptnode">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<!-- creates an element with local name "x<":  --><x<>x</x<>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-characterSet-normalization.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<style>iframe { display: none }</style>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor.html

    r215701 r217225  
    55<title>Document constructor</title>
    66<link rel=help href="https://dom.spec.whatwg.org/#dom-document">
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<div id="log"></div>
    1010<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>BMP document.contentType === 'image/bmp'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>CSS document.contentType === 'text/css'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Data URI document.contentType === 'text/plain' when data URI MIME type is not set</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Data URI document.contentType === 'text/html' when data URI MIME type is set</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>GIF document.contentType === 'image/gif'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>HTM document.contentType === 'text/html'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Javascript URI document.contentType === 'text/html'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>JPG document.contentType === 'image/jpeg'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Custom document.contentType === 'text/xml' when explicitly set to this value</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Custom document.contentType === 'text/html' when explicitly set to this value and an attempt is made to override this value in an HTML meta header</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>PNG document.contentType === 'image/png'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>TXT document.contentType === 'text/plain'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>XML document.contentType === 'application/xml'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/createDocument.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>document.implementation.createDocument: document.contentType === 'application/xhtml+xml'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/createHTMLDocument.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>document.implementation.createHTMLDocument: document.contentType === 'text/html'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/xhr_responseType_document.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>XHR - retrieve HTML document: document.contentType === 'application/xml'</title>
    3 <script src="../../../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createAttribute.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Document.createAttribute</title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<script src=attributes.js></script>
    77<script src=productions.js></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createComment.html

    r215701 r217225  
    1313<link rel=help href="https://dom.spec.whatwg.org/#dom-node-firstchild">
    1414<link rel=help href="https://dom.spec.whatwg.org/#dom-node-lastchild">
    15 <script src="../../../../../resources/testharness.js"></script>
    16 <script src="../../../../../resources/testharnessreport.js"></script>
     15<script src="/resources/testharness.js"></script>
     16<script src="/resources/testharnessreport.js"></script>
    1717<script src="Document-createComment-createTextNode.js"></script>
    1818<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log

    r216354 r217225  
    2727/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/bare_xhtml.xhtml
    2828/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/bare_xhtml.xml
    29 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html
    30 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg
    31 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml
    32 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml
    3329/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/generate.py
    3430/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/mathml.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace.html

    r215701 r217225  
    33<link rel=author title="Aryeh Gregor" href=ayg@aryeh.name>
    44<div id=log></div>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<script>
    88"use strict";
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement.html

    r215701 r217225  
    77<link rel=help href="https://dom.spec.whatwg.org/#dom-element-prefix">
    88<link rel=help href="https://dom.spec.whatwg.org/#dom-element-namespaceuri">
    9 <script src="../../../../../resources/testharness.js"></script>
    10 <script src="../../../../../resources/testharnessreport.js"></script>
     9<script src="/resources/testharness.js"></script>
     10<script src="/resources/testharnessreport.js"></script>
    1111<div id="log"></div>
    1212<iframe src="/common/dummy.xml"></iframe>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElementNS.html

    r215701 r217225  
    33<title>Document.createElementNS</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-createelementns">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Document-createElementNS.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt

    r215164 r217225  
    232232PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "DataContainerEvent"
    233233PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "DataContainerEvents"
    234 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "DeviceLightEvent"
    235 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "DeviceLightEvents"
    236234PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ExtendableEvent"
    237235PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "ExtendableEvents"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html

    r215701 r217225  
    33<title>Document.createEvent</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-createevent">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Document-createEvent.js"></script>
    88<div id="log"></div>
     
    8282  "CommandEvent",
    8383  "DataContainerEvent",
    84   "DeviceLightEvent",
    8584  "ExtendableEvent",
    8685  "ExtendableMessageEvent",
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml

    r215701 r217225  
    66<link rel="help" href="https://dom.spec.whatwg.org/#dom-characterdata-data"/>
    77<link rel="help" href="https://dom.spec.whatwg.org/#dom-node-ownerdocument"/>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010</head>
    1111<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createProcessingInstruction.html

    r215701 r217225  
    66<link rel=help href="https://dom.spec.whatwg.org/#dom-characterdata-data">
    77<link rel=help href="https://dom.spec.whatwg.org/#dom-node-ownerdocument">
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<div id=log></div>
    1111<script src="Document-createProcessingInstruction.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createTextNode.html

    r215701 r217225  
    1313<link rel=help href="https://dom.spec.whatwg.org/#dom-node-firstchild">
    1414<link rel=help href="https://dom.spec.whatwg.org/#dom-node-lastchild">
    15 <script src="../../../../../resources/testharness.js"></script>
    16 <script src="../../../../../resources/testharnessreport.js"></script>
     15<script src="/resources/testharness.js"></script>
     16<script src="/resources/testharnessreport.js"></script>
    1717<script src="Document-createComment-createTextNode.js"></script>
    1818<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createTreeWalker.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Document.createTreeWalker</title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<div id=log></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-doctype.html

    r215701 r217225  
    44<title>Document.doctype</title>
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-document-doctype">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-getElementById.html

    r215701 r217225  
    44<link rel="author" title="Tetsuharu OHZEKI" href="mailto:saneyuki.snyk@gmail.com">
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-document-getelementbyid">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<body>
    99  <div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>Document.getElementsByTagName</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-getElementsByTagName.html

    r215701 r217225  
    33<title>Document.getElementsByTagName</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-getelementsbytagname">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Document-Element-getElementsByTagName.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-getElementsByTagNameNS.html

    r215701 r217225  
    33<title>Document.getElementsByTagNameNS</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-getelementsbytagnamens">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Document-Element-getElementsByTagNameNS.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-implementation.html

    r215701 r217225  
    33<title>Document.implementation</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-implementation">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-importNode.html

    r215701 r217225  
    33<title>Document.importNode</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-document-importnode">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-literal-xhtml.xhtml

    r215701 r217225  
    66<link rel="help" href="https://dom.spec.whatwg.org/#dom-documenttype-publicid"/>
    77<link rel="help" href="https://dom.spec.whatwg.org/#dom-documenttype-systemid"/>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010</head>
    1111<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-literal.html

    r215701 r217225  
    44<link rel="help" href="https://dom.spec.whatwg.org/#dom-documenttype-publicid">
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-documenttype-systemid">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id="log"></div>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-remove.html

    r215701 r217225  
    33<title>DocumentType.remove</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-childnode-remove">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="ChildNode-remove.js"></script>
    88<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>Null Test</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Null test</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of firstElementChild and lastChildElement returning null</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>Dynamic Adding of Elements</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Dynamic Adding of Elements</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of Dynamic Adding of Elements</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>Dynamic Removal of Elements</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Dynamic Removal of Elements</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of Dynamic Removal of Elements</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>childElementCount without Child Element Nodes</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>childElementCount without Child Element Nodes</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of childElementCount with No Child Element Nodes</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>childElementCount</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>childElementCount</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of childElementCount</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-children.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>HTMLCollection edge cases</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<div id="test"><img><img id=foo><img id=foo><img name="bar"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-classlist-expected.txt

    r206560 r217225  
    11
    2 PASS Element.classList must exist as an object
    3 PASS Element.classList must exist as an object even if the element has no class attribute
    4 PASS DOMTokenList should be exposed for prototyping
    5 PASS prototyping DOMTokenList should work
    6 PASS Element.classList must implement DOMTokenList
    7 PASS CSS .foo selectors must not match elements without any class
    8 PASS classList must be correct for an element that has classes
    9 PASS classList.length must be 0 for an element that has no classes
    10 PASS classList must not contain an undefined class
    11 PASS classList.item() must return null for out-of-range index
    12 PASS classList.item() must return null for negative index
    13 PASS classList[index] must be undefined for out-of-range index
    14 PASS classList[index] must be undefined for negative index
    15 PASS className should contain initial markup whitespace
    16 PASS classList should contain initial markup whitespace
    17 PASS .contains(empty_string) must return false
    18 PASS .add(empty_string) must throw a SYNTAX_ERR
    19 PASS .remove(empty_string) must throw a SYNTAX_ERR
    20 PASS .toggle(empty_string) must throw a SYNTAX_ERR
    21 PASS .replace with empty_string must throw a SYNTAX_ERR
    22 PASS .contains(string_with_spaces) must return false
    23 PASS .add(string_with_spaces) must throw an INVALID_CHARACTER_ERR
    24 PASS .remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR
    25 PASS .toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR
    26 PASS .replace with string_with_spaces must throw a INVALID_CHARACTER_ERR
    27 PASS .replace with an already existing token
    28 PASS computed style must update when setting .className
    29 PASS classList.contains must update when .className is changed
    30 PASS classList.contains must be case sensitive
    31 PASS classList.contains must not match when punctuation characters are added
    32 PASS classList.add must not cause the CSS selector to stop matching
    33 PASS classList.add must not remove existing classes
    34 PASS classList.contains case sensitivity must match a case-specific string
    35 PASS classList.length must correctly reflect the number of tokens
    36 PASS classList.item(0) must return the first token
    37 PASS classList.item must return case-sensitive strings and preserve token order
    38 PASS classList[0] must return the first token
    39 PASS classList[index] must return case-sensitive strings and preserve token order
    40 PASS classList[index] must still be undefined for out-of-range index when earlier indexes exist
    41 PASS className must update correctly when items have been added through classList
    42 PASS classList must stringify correctly when items have been added
    43 PASS classList.add should not add a token if it already exists
    44 PASS classList.remove removes arguments passed, if they are present.
    45 PASS classList.remove must remove existing tokens
    46 PASS classList.remove must not break case-sensitive CSS selector matching
    47 PASS classList.remove must remove duplicated tokens
    48 PASS classList.remove must collapse whitespace around removed tokens
    49 PASS classList.remove must collapse whitespaces around each token
    50 PASS classList.remove must collapse whitespaces around each token and remove duplicates
    51 PASS classList.remove must collapse whitespace when removing duplicate tokens
    52 PASS classList.add must collapse whitespaces and remove duplicates when adding a token that already exists
    53 PASS classList.toggle must toggle tokens case-sensitively when adding
    54 PASS classList.toggle must not break case-sensitive CSS selector matching
    55 PASS classList.toggle must be able to remove tokens
    56 PASS classList.toggle must be case-sensitive when removing tokens
    57 PASS classList.replace replaces arguments passed, if they are present.
    58 PASS classList.replace must replace existing tokens
    59 PASS classList.replace must not break case-sensitive CSS selector matching
    60 PASS classList.replace must replace duplicated tokens
    61 PASS classList.replace must collapse whitespace around replaced tokens
    62 PASS classList.replace must collapse whitespaces around each token
    63 PASS classList.replace must collapse whitespaces around each token and remove duplicates
    64 PASS classList.replace must collapse whitespace when replacing duplicate tokens
    65 PASS CSS class selectors must stop matching when all classes have been removed
    66 PASS className must be empty when all classes have been removed
    67 PASS classList must stringify to an empty string when all classes have been removed
    68 PASS classList.item(0) must return null when all classes have been removed
    69 PASS classList[0] must be undefined when all classes have been removed
    70 PASS Invoking add or remove should set the class attribute
    71 PASS classList.add should treat " " as a space
    72 PASS classList.add should treat \t as a space
    73 PASS classList.add should treat \r as a space
    74 PASS classList.add should treat \n as a space
    75 PASS classList.add should treat \f as a space
    76 PASS classList.length must be read-only
    77 PASS classList must have [PutForwards=value]
    78 PASS classList.replace should work
    79 PASS classList.supports should throw
     2PASS Assigning to classList (HTML node)
     3PASS .supports() must throw TypeError (HTML node)
     4PASS classList.length when removed (HTML node)
     5PASS classList.length when set to "" (HTML node)
     6PASS classList.length when set to "   \t  \f" (HTML node)
     7PASS classList.length when set to "a" (HTML node)
     8PASS classList.length when set to "a A" (HTML node)
     9PASS classList.length when set to "\r\na\t\f" (HTML node)
     10PASS classList.length when set to "a a" (HTML node)
     11PASS classList.length when set to "a a a a a a" (HTML node)
     12PASS classList.length when set to "a a b b" (HTML node)
     13PASS classList.length when set to "a A B b" (HTML node)
     14PASS classList.length when set to "a b c c b a a b c c" (HTML node)
     15PASS classList.length when set to "   a  a b" (HTML node)
     16PASS classList.length when set to "a\tb\nc\fd\re f" (HTML node)
     17PASS classList.toString() when removed (HTML node)
     18PASS classList.toString() when set to "foo" (HTML node)
     19PASS classList.toString() when set to "   a  a b" (HTML node)
     20PASS classList.item() when set to null (HTML node)
     21PASS classList.item() when set to "a" (HTML node)
     22PASS classList.item() when set to "aa AA aa" (HTML node)
     23PASS classList.item() when set to "a b" (HTML node)
     24PASS classList.item() when set to "   a  a b" (HTML node)
     25PASS classList.item() when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     26PASS classList.contains("a") when set to null (HTML node)
     27PASS classList.contains("") when set to null (HTML node)
     28PASS classList.contains("  ") when set to null (HTML node)
     29PASS classList.contains("a") when set to "" (HTML node)
     30PASS classList.contains("a") when set to "a" (HTML node)
     31PASS classList.contains("aa") when set to "a" (HTML node)
     32PASS classList.contains("b") when set to "a" (HTML node)
     33PASS classList.contains("A") when set to "a" (HTML node)
     34PASS classList.contains("a.") when set to "a" (HTML node)
     35PASS classList.contains("a)") when set to "a" (HTML node)
     36PASS classList.contains(undefined) when set to "a" (HTML node)
     37PASS classList.contains("a'") when set to "a" (HTML node)
     38PASS classList.contains("a\"") when set to "a" (HTML node)
     39PASS classList.contains("a$") when set to "a" (HTML node)
     40PASS classList.contains("a~") when set to "a" (HTML node)
     41PASS classList.contains("a?") when set to "a" (HTML node)
     42PASS classList.contains("a\\") when set to "a" (HTML node)
     43PASS classList.contains("a\t") when set to "a" (HTML node)
     44PASS classList.contains("\ta") when set to "a" (HTML node)
     45PASS classList.contains("a\n") when set to "a" (HTML node)
     46PASS classList.contains("\na") when set to "a" (HTML node)
     47PASS classList.contains("a\f") when set to "a" (HTML node)
     48PASS classList.contains("\fa") when set to "a" (HTML node)
     49PASS classList.contains("a\r") when set to "a" (HTML node)
     50PASS classList.contains("\ra") when set to "a" (HTML node)
     51PASS classList.contains("a ") when set to "a" (HTML node)
     52PASS classList.contains(" a") when set to "a" (HTML node)
     53PASS classList.contains("aa") when set to "aa AA" (HTML node)
     54PASS classList.contains("AA") when set to "aa AA" (HTML node)
     55PASS classList.contains("aA") when set to "aa AA" (HTML node)
     56PASS classList.contains("a") when set to "a a a" (HTML node)
     57PASS classList.contains("aa") when set to "a a a" (HTML node)
     58PASS classList.contains("b") when set to "a a a" (HTML node)
     59PASS classList.contains("a") when set to "a b c" (HTML node)
     60PASS classList.contains("b") when set to "a b c" (HTML node)
     61PASS classList.contains(null) when set to "null undefined" (HTML node)
     62PASS classList.contains(undefined) when set to "null undefined" (HTML node)
     63PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     64PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     65PASS classList.add("") with attribute value null (HTML node)
     66PASS classList.add("a", "") with attribute value null (HTML node)
     67PASS classList.add(" ") with attribute value null (HTML node)
     68PASS classList.add("\ta") with attribute value null (HTML node)
     69PASS classList.add("a\t") with attribute value null (HTML node)
     70PASS classList.add("\na") with attribute value null (HTML node)
     71PASS classList.add("a\n") with attribute value null (HTML node)
     72PASS classList.add("\fa") with attribute value null (HTML node)
     73PASS classList.add("a\f") with attribute value null (HTML node)
     74PASS classList.add("\ra") with attribute value null (HTML node)
     75PASS classList.add("a\r") with attribute value null (HTML node)
     76PASS classList.add(" a") with attribute value null (HTML node)
     77PASS classList.add("a ") with attribute value null (HTML node)
     78PASS classList.add("a", " ") with attribute value null (HTML node)
     79PASS classList.add("a", "aa ") with attribute value null (HTML node)
     80PASS classList.add("a") with attribute value "a" (HTML node)
     81PASS classList.add("AA") with attribute value "aa" (HTML node)
     82PASS classList.add("a") with attribute value "a b c" (HTML node)
     83PASS classList.add("a") with attribute value "a a a  b" (HTML node)
     84PASS classList.add("a") with attribute value null (HTML node)
     85PASS classList.add("a") with attribute value "" (HTML node)
     86PASS classList.add("a") with attribute value " " (HTML node)
     87PASS classList.add("a") with attribute value "   \f" (HTML node)
     88PASS classList.add("b") with attribute value "a" (HTML node)
     89PASS classList.add("d") with attribute value "a b c" (HTML node)
     90PASS classList.add("d") with attribute value "a b c " (HTML node)
     91PASS classList.add("c") with attribute value "   a  a b" (HTML node)
     92PASS classList.add("a") with attribute value "   a  a b" (HTML node)
     93PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     94PASS classList.add("d", "e") with attribute value "a b c " (HTML node)
     95PASS classList.add("a", "a") with attribute value "a b c " (HTML node)
     96PASS classList.add("d", "d") with attribute value "a b c " (HTML node)
     97PASS classList.add() with attribute value "a b c a " (HTML node)
     98PASS classList.add("a", "b") with attribute value null (HTML node)
     99PASS classList.add("a", "b") with attribute value "" (HTML node)
     100PASS classList.add(null) with attribute value null (HTML node)
     101PASS classList.add(undefined) with attribute value null (HTML node)
     102PASS classList.remove("") with attribute value null (HTML node)
     103PASS classList.remove(" ") with attribute value null (HTML node)
     104PASS classList.remove("\ta") with attribute value "\ta" (HTML node)
     105PASS classList.remove("a\t") with attribute value "a\t" (HTML node)
     106PASS classList.remove("\na") with attribute value "\na" (HTML node)
     107PASS classList.remove("a\n") with attribute value "a\n" (HTML node)
     108PASS classList.remove("\fa") with attribute value "\fa" (HTML node)
     109PASS classList.remove("a\f") with attribute value "a\f" (HTML node)
     110PASS classList.remove("\ra") with attribute value "\ra" (HTML node)
     111PASS classList.remove("a\r") with attribute value "a\r" (HTML node)
     112PASS classList.remove(" a") with attribute value " a" (HTML node)
     113PASS classList.remove("a ") with attribute value "a " (HTML node)
     114PASS classList.remove("aa ") with attribute value "aa " (HTML node)
     115FAIL classList.remove("a") with attribute value null (HTML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     116PASS classList.remove("a") with attribute value "" (HTML node)
     117PASS classList.remove("d") with attribute value "a b  c" (HTML node)
     118PASS classList.remove("A") with attribute value "a b  c" (HTML node)
     119PASS classList.remove("a") with attribute value " a a a " (HTML node)
     120PASS classList.remove("a") with attribute value "a  b" (HTML node)
     121PASS classList.remove("a") with attribute value "a  b  " (HTML node)
     122PASS classList.remove("a") with attribute value "a a b" (HTML node)
     123PASS classList.remove("aa") with attribute value "aa aa bb" (HTML node)
     124PASS classList.remove("a") with attribute value "a a b a a c a a" (HTML node)
     125PASS classList.remove("b") with attribute value "a  b  c" (HTML node)
     126PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (HTML node)
     127PASS classList.remove("b") with attribute value " a  b  c " (HTML node)
     128PASS classList.remove("b") with attribute value "a b b b c" (HTML node)
     129PASS classList.remove("c") with attribute value "a  b  c" (HTML node)
     130PASS classList.remove("c") with attribute value " a  b  c " (HTML node)
     131PASS classList.remove("c") with attribute value "a b c c c" (HTML node)
     132PASS classList.remove("a") with attribute value "a b a c a d a" (HTML node)
     133PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (HTML node)
     134PASS classList.remove("a") with attribute value "\ra\na\ta\f" (HTML node)
     135PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     136PASS classList.remove("d", "e") with attribute value "a b c " (HTML node)
     137PASS classList.remove("a", "b") with attribute value "a b c " (HTML node)
     138PASS classList.remove("a", "c") with attribute value "a b c " (HTML node)
     139PASS classList.remove("a", "a") with attribute value "a b c " (HTML node)
     140PASS classList.remove("d", "d") with attribute value "a b c " (HTML node)
     141PASS classList.remove() with attribute value "a b c " (HTML node)
     142FAIL classList.remove("a", "b") with attribute value null (HTML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     143PASS classList.remove("a", "b") with attribute value "" (HTML node)
     144PASS classList.remove() with attribute value "a a" (HTML node)
     145PASS classList.remove(null) with attribute value "null" (HTML node)
     146PASS classList.remove(undefined) with attribute value "undefined" (HTML node)
     147PASS classList.toggle("") with attribute value null (HTML node)
     148PASS classList.toggle("aa ") with attribute value null (HTML node)
     149PASS classList.toggle("a") with attribute value null (HTML node)
     150PASS classList.toggle("a") with attribute value "" (HTML node)
     151PASS classList.toggle("a") with attribute value " " (HTML node)
     152PASS classList.toggle("a") with attribute value "   \f" (HTML node)
     153PASS classList.toggle("b") with attribute value "a" (HTML node)
     154PASS classList.toggle("A") with attribute value "a" (HTML node)
     155PASS classList.toggle("d") with attribute value "a b c" (HTML node)
     156PASS classList.toggle("d") with attribute value "   a  a b" (HTML node)
     157PASS classList.toggle("a") with attribute value "a" (HTML node)
     158PASS classList.toggle("a") with attribute value " a a a " (HTML node)
     159PASS classList.toggle("a") with attribute value " A A A " (HTML node)
     160PASS classList.toggle("b") with attribute value " a b c " (HTML node)
     161PASS classList.toggle("b") with attribute value " a b c b b" (HTML node)
     162PASS classList.toggle("c") with attribute value " a b  c  " (HTML node)
     163PASS classList.toggle("a") with attribute value " a b c " (HTML node)
     164PASS classList.toggle("b") with attribute value "   a  a b" (HTML node)
     165PASS classList.toggle("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     166PASS classList.toggle("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     167PASS classList.toggle(null) with attribute value "null" (HTML node)
     168PASS classList.toggle(null) with attribute value "" (HTML node)
     169PASS classList.toggle(undefined) with attribute value "undefined" (HTML node)
     170PASS classList.toggle(undefined) with attribute value "" (HTML node)
     171PASS classList.toggle("a", true) with attribute value "" (HTML node)
     172PASS classList.toggle("a", true) with attribute value "a" (HTML node)
     173PASS classList.toggle("b", true) with attribute value "a" (HTML node)
     174PASS classList.toggle("b", true) with attribute value "a b" (HTML node)
     175PASS classList.toggle("a", false) with attribute value "" (HTML node)
     176PASS classList.toggle("a", false) with attribute value "a" (HTML node)
     177PASS classList.toggle("b", false) with attribute value "a" (HTML node)
     178PASS classList.toggle("b", false) with attribute value "a b" (HTML node)
     179PASS classList.replace("", "a") with attribute value null (HTML node)
     180PASS classList.replace("", " ") with attribute value null (HTML node)
     181PASS classList.replace(" ", "a") with attribute value null (HTML node)
     182PASS classList.replace("\ta", "b") with attribute value null (HTML node)
     183PASS classList.replace("a\t", "b") with attribute value null (HTML node)
     184PASS classList.replace("\na", "b") with attribute value null (HTML node)
     185PASS classList.replace("a\n", "b") with attribute value null (HTML node)
     186PASS classList.replace("\fa", "b") with attribute value null (HTML node)
     187PASS classList.replace("a\f", "b") with attribute value null (HTML node)
     188PASS classList.replace("\ra", "b") with attribute value null (HTML node)
     189PASS classList.replace("a\r", "b") with attribute value null (HTML node)
     190PASS classList.replace(" a", "b") with attribute value null (HTML node)
     191PASS classList.replace("a ", "b") with attribute value null (HTML node)
     192PASS classList.replace("a", "") with attribute value null (HTML node)
     193PASS classList.replace(" ", "") with attribute value null (HTML node)
     194PASS classList.replace("a", " ") with attribute value null (HTML node)
     195PASS classList.replace("b", "\ta") with attribute value null (HTML node)
     196PASS classList.replace("b", "a\t") with attribute value null (HTML node)
     197PASS classList.replace("b", "\na") with attribute value null (HTML node)
     198PASS classList.replace("b", "a\n") with attribute value null (HTML node)
     199PASS classList.replace("b", "\fa") with attribute value null (HTML node)
     200PASS classList.replace("b", "a\f") with attribute value null (HTML node)
     201PASS classList.replace("b", "\ra") with attribute value null (HTML node)
     202PASS classList.replace("b", "a\r") with attribute value null (HTML node)
     203PASS classList.replace("b", " a") with attribute value null (HTML node)
     204PASS classList.replace("b", "a ") with attribute value null (HTML node)
     205PASS classList.replace("a", "a") with attribute value "a" (HTML node)
     206PASS classList.replace("a", "b") with attribute value "a" (HTML node)
     207PASS classList.replace("A", "b") with attribute value "a" (HTML node)
     208PASS classList.replace("b", "A") with attribute value "a b" (HTML node)
     209PASS classList.replace("d", "e") with attribute value "a b c" (HTML node)
     210PASS classList.replace("a", "a") with attribute value "a a a  b" (HTML node)
     211PASS classList.replace("c", "d") with attribute value "a a a  b" (HTML node)
     212PASS classList.replace("a", "b") with attribute value null (HTML node)
     213PASS classList.replace("a", "b") with attribute value "" (HTML node)
     214PASS classList.replace("a", "b") with attribute value " " (HTML node)
     215PASS classList.replace("a", "b") with attribute value " a  \f" (HTML node)
     216PASS classList.replace("b", "d") with attribute value "a b c" (HTML node)
     217PASS classList.replace("c", "a") with attribute value "a b c" (HTML node)
     218PASS classList.replace("c", "a") with attribute value "c b a" (HTML node)
     219PASS classList.replace("a", "c") with attribute value "a b a" (HTML node)
     220PASS classList.replace("b", "c") with attribute value "a b a" (HTML node)
     221PASS classList.replace("a", "c") with attribute value "   a  a b" (HTML node)
     222PASS classList.replace("b", "c") with attribute value "   a  a b" (HTML node)
     223PASS classList.replace("a", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     224PASS classList.replace("b", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node)
     225PASS classList.replace(null, "b") with attribute value "a null" (HTML node)
     226PASS classList.replace("a", null) with attribute value "a b" (HTML node)
     227PASS classList.replace(undefined, "b") with attribute value "a undefined" (HTML node)
     228PASS classList.replace("a", undefined) with attribute value "a b" (HTML node)
     229PASS Assigning to classList (XHTML node)
     230PASS .supports() must throw TypeError (XHTML node)
     231PASS classList.length when removed (XHTML node)
     232PASS classList.length when set to "" (XHTML node)
     233PASS classList.length when set to "   \t  \f" (XHTML node)
     234PASS classList.length when set to "a" (XHTML node)
     235PASS classList.length when set to "a A" (XHTML node)
     236PASS classList.length when set to "\r\na\t\f" (XHTML node)
     237PASS classList.length when set to "a a" (XHTML node)
     238PASS classList.length when set to "a a a a a a" (XHTML node)
     239PASS classList.length when set to "a a b b" (XHTML node)
     240PASS classList.length when set to "a A B b" (XHTML node)
     241PASS classList.length when set to "a b c c b a a b c c" (XHTML node)
     242PASS classList.length when set to "   a  a b" (XHTML node)
     243PASS classList.length when set to "a\tb\nc\fd\re f" (XHTML node)
     244PASS classList.toString() when removed (XHTML node)
     245PASS classList.toString() when set to "foo" (XHTML node)
     246PASS classList.toString() when set to "   a  a b" (XHTML node)
     247PASS classList.item() when set to null (XHTML node)
     248PASS classList.item() when set to "a" (XHTML node)
     249PASS classList.item() when set to "aa AA aa" (XHTML node)
     250PASS classList.item() when set to "a b" (XHTML node)
     251PASS classList.item() when set to "   a  a b" (XHTML node)
     252PASS classList.item() when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     253PASS classList.contains("a") when set to null (XHTML node)
     254PASS classList.contains("") when set to null (XHTML node)
     255PASS classList.contains("  ") when set to null (XHTML node)
     256PASS classList.contains("a") when set to "" (XHTML node)
     257PASS classList.contains("a") when set to "a" (XHTML node)
     258PASS classList.contains("aa") when set to "a" (XHTML node)
     259PASS classList.contains("b") when set to "a" (XHTML node)
     260PASS classList.contains("A") when set to "a" (XHTML node)
     261PASS classList.contains("a.") when set to "a" (XHTML node)
     262PASS classList.contains("a)") when set to "a" (XHTML node)
     263PASS classList.contains(undefined) when set to "a" (XHTML node)
     264PASS classList.contains("a'") when set to "a" (XHTML node)
     265PASS classList.contains("a\"") when set to "a" (XHTML node)
     266PASS classList.contains("a$") when set to "a" (XHTML node)
     267PASS classList.contains("a~") when set to "a" (XHTML node)
     268PASS classList.contains("a?") when set to "a" (XHTML node)
     269PASS classList.contains("a\\") when set to "a" (XHTML node)
     270PASS classList.contains("a\t") when set to "a" (XHTML node)
     271PASS classList.contains("\ta") when set to "a" (XHTML node)
     272PASS classList.contains("a\n") when set to "a" (XHTML node)
     273PASS classList.contains("\na") when set to "a" (XHTML node)
     274PASS classList.contains("a\f") when set to "a" (XHTML node)
     275PASS classList.contains("\fa") when set to "a" (XHTML node)
     276PASS classList.contains("a\r") when set to "a" (XHTML node)
     277PASS classList.contains("\ra") when set to "a" (XHTML node)
     278PASS classList.contains("a ") when set to "a" (XHTML node)
     279PASS classList.contains(" a") when set to "a" (XHTML node)
     280PASS classList.contains("aa") when set to "aa AA" (XHTML node)
     281PASS classList.contains("AA") when set to "aa AA" (XHTML node)
     282PASS classList.contains("aA") when set to "aa AA" (XHTML node)
     283PASS classList.contains("a") when set to "a a a" (XHTML node)
     284PASS classList.contains("aa") when set to "a a a" (XHTML node)
     285PASS classList.contains("b") when set to "a a a" (XHTML node)
     286PASS classList.contains("a") when set to "a b c" (XHTML node)
     287PASS classList.contains("b") when set to "a b c" (XHTML node)
     288PASS classList.contains(null) when set to "null undefined" (XHTML node)
     289PASS classList.contains(undefined) when set to "null undefined" (XHTML node)
     290PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     291PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     292PASS classList.add("") with attribute value null (XHTML node)
     293PASS classList.add("a", "") with attribute value null (XHTML node)
     294PASS classList.add(" ") with attribute value null (XHTML node)
     295PASS classList.add("\ta") with attribute value null (XHTML node)
     296PASS classList.add("a\t") with attribute value null (XHTML node)
     297PASS classList.add("\na") with attribute value null (XHTML node)
     298PASS classList.add("a\n") with attribute value null (XHTML node)
     299PASS classList.add("\fa") with attribute value null (XHTML node)
     300PASS classList.add("a\f") with attribute value null (XHTML node)
     301PASS classList.add("\ra") with attribute value null (XHTML node)
     302PASS classList.add("a\r") with attribute value null (XHTML node)
     303PASS classList.add(" a") with attribute value null (XHTML node)
     304PASS classList.add("a ") with attribute value null (XHTML node)
     305PASS classList.add("a", " ") with attribute value null (XHTML node)
     306PASS classList.add("a", "aa ") with attribute value null (XHTML node)
     307PASS classList.add("a") with attribute value "a" (XHTML node)
     308PASS classList.add("AA") with attribute value "aa" (XHTML node)
     309PASS classList.add("a") with attribute value "a b c" (XHTML node)
     310PASS classList.add("a") with attribute value "a a a  b" (XHTML node)
     311PASS classList.add("a") with attribute value null (XHTML node)
     312PASS classList.add("a") with attribute value "" (XHTML node)
     313PASS classList.add("a") with attribute value " " (XHTML node)
     314PASS classList.add("a") with attribute value "   \f" (XHTML node)
     315PASS classList.add("b") with attribute value "a" (XHTML node)
     316PASS classList.add("d") with attribute value "a b c" (XHTML node)
     317PASS classList.add("d") with attribute value "a b c " (XHTML node)
     318PASS classList.add("c") with attribute value "   a  a b" (XHTML node)
     319PASS classList.add("a") with attribute value "   a  a b" (XHTML node)
     320PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     321PASS classList.add("d", "e") with attribute value "a b c " (XHTML node)
     322PASS classList.add("a", "a") with attribute value "a b c " (XHTML node)
     323PASS classList.add("d", "d") with attribute value "a b c " (XHTML node)
     324PASS classList.add() with attribute value "a b c a " (XHTML node)
     325PASS classList.add("a", "b") with attribute value null (XHTML node)
     326PASS classList.add("a", "b") with attribute value "" (XHTML node)
     327PASS classList.add(null) with attribute value null (XHTML node)
     328PASS classList.add(undefined) with attribute value null (XHTML node)
     329PASS classList.remove("") with attribute value null (XHTML node)
     330PASS classList.remove(" ") with attribute value null (XHTML node)
     331PASS classList.remove("\ta") with attribute value "\ta" (XHTML node)
     332PASS classList.remove("a\t") with attribute value "a\t" (XHTML node)
     333PASS classList.remove("\na") with attribute value "\na" (XHTML node)
     334PASS classList.remove("a\n") with attribute value "a\n" (XHTML node)
     335PASS classList.remove("\fa") with attribute value "\fa" (XHTML node)
     336PASS classList.remove("a\f") with attribute value "a\f" (XHTML node)
     337PASS classList.remove("\ra") with attribute value "\ra" (XHTML node)
     338PASS classList.remove("a\r") with attribute value "a\r" (XHTML node)
     339PASS classList.remove(" a") with attribute value " a" (XHTML node)
     340PASS classList.remove("a ") with attribute value "a " (XHTML node)
     341PASS classList.remove("aa ") with attribute value "aa " (XHTML node)
     342FAIL classList.remove("a") with attribute value null (XHTML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     343PASS classList.remove("a") with attribute value "" (XHTML node)
     344PASS classList.remove("d") with attribute value "a b  c" (XHTML node)
     345PASS classList.remove("A") with attribute value "a b  c" (XHTML node)
     346PASS classList.remove("a") with attribute value " a a a " (XHTML node)
     347PASS classList.remove("a") with attribute value "a  b" (XHTML node)
     348PASS classList.remove("a") with attribute value "a  b  " (XHTML node)
     349PASS classList.remove("a") with attribute value "a a b" (XHTML node)
     350PASS classList.remove("aa") with attribute value "aa aa bb" (XHTML node)
     351PASS classList.remove("a") with attribute value "a a b a a c a a" (XHTML node)
     352PASS classList.remove("b") with attribute value "a  b  c" (XHTML node)
     353PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (XHTML node)
     354PASS classList.remove("b") with attribute value " a  b  c " (XHTML node)
     355PASS classList.remove("b") with attribute value "a b b b c" (XHTML node)
     356PASS classList.remove("c") with attribute value "a  b  c" (XHTML node)
     357PASS classList.remove("c") with attribute value " a  b  c " (XHTML node)
     358PASS classList.remove("c") with attribute value "a b c c c" (XHTML node)
     359PASS classList.remove("a") with attribute value "a b a c a d a" (XHTML node)
     360PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (XHTML node)
     361PASS classList.remove("a") with attribute value "\ra\na\ta\f" (XHTML node)
     362PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     363PASS classList.remove("d", "e") with attribute value "a b c " (XHTML node)
     364PASS classList.remove("a", "b") with attribute value "a b c " (XHTML node)
     365PASS classList.remove("a", "c") with attribute value "a b c " (XHTML node)
     366PASS classList.remove("a", "a") with attribute value "a b c " (XHTML node)
     367PASS classList.remove("d", "d") with attribute value "a b c " (XHTML node)
     368PASS classList.remove() with attribute value "a b c " (XHTML node)
     369FAIL classList.remove("a", "b") with attribute value null (XHTML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     370PASS classList.remove("a", "b") with attribute value "" (XHTML node)
     371PASS classList.remove() with attribute value "a a" (XHTML node)
     372PASS classList.remove(null) with attribute value "null" (XHTML node)
     373PASS classList.remove(undefined) with attribute value "undefined" (XHTML node)
     374PASS classList.toggle("") with attribute value null (XHTML node)
     375PASS classList.toggle("aa ") with attribute value null (XHTML node)
     376PASS classList.toggle("a") with attribute value null (XHTML node)
     377PASS classList.toggle("a") with attribute value "" (XHTML node)
     378PASS classList.toggle("a") with attribute value " " (XHTML node)
     379PASS classList.toggle("a") with attribute value "   \f" (XHTML node)
     380PASS classList.toggle("b") with attribute value "a" (XHTML node)
     381PASS classList.toggle("A") with attribute value "a" (XHTML node)
     382PASS classList.toggle("d") with attribute value "a b c" (XHTML node)
     383PASS classList.toggle("d") with attribute value "   a  a b" (XHTML node)
     384PASS classList.toggle("a") with attribute value "a" (XHTML node)
     385PASS classList.toggle("a") with attribute value " a a a " (XHTML node)
     386PASS classList.toggle("a") with attribute value " A A A " (XHTML node)
     387PASS classList.toggle("b") with attribute value " a b c " (XHTML node)
     388PASS classList.toggle("b") with attribute value " a b c b b" (XHTML node)
     389PASS classList.toggle("c") with attribute value " a b  c  " (XHTML node)
     390PASS classList.toggle("a") with attribute value " a b c " (XHTML node)
     391PASS classList.toggle("b") with attribute value "   a  a b" (XHTML node)
     392PASS classList.toggle("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     393PASS classList.toggle("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     394PASS classList.toggle(null) with attribute value "null" (XHTML node)
     395PASS classList.toggle(null) with attribute value "" (XHTML node)
     396PASS classList.toggle(undefined) with attribute value "undefined" (XHTML node)
     397PASS classList.toggle(undefined) with attribute value "" (XHTML node)
     398PASS classList.toggle("a", true) with attribute value "" (XHTML node)
     399PASS classList.toggle("a", true) with attribute value "a" (XHTML node)
     400PASS classList.toggle("b", true) with attribute value "a" (XHTML node)
     401PASS classList.toggle("b", true) with attribute value "a b" (XHTML node)
     402PASS classList.toggle("a", false) with attribute value "" (XHTML node)
     403PASS classList.toggle("a", false) with attribute value "a" (XHTML node)
     404PASS classList.toggle("b", false) with attribute value "a" (XHTML node)
     405PASS classList.toggle("b", false) with attribute value "a b" (XHTML node)
     406PASS classList.replace("", "a") with attribute value null (XHTML node)
     407PASS classList.replace("", " ") with attribute value null (XHTML node)
     408PASS classList.replace(" ", "a") with attribute value null (XHTML node)
     409PASS classList.replace("\ta", "b") with attribute value null (XHTML node)
     410PASS classList.replace("a\t", "b") with attribute value null (XHTML node)
     411PASS classList.replace("\na", "b") with attribute value null (XHTML node)
     412PASS classList.replace("a\n", "b") with attribute value null (XHTML node)
     413PASS classList.replace("\fa", "b") with attribute value null (XHTML node)
     414PASS classList.replace("a\f", "b") with attribute value null (XHTML node)
     415PASS classList.replace("\ra", "b") with attribute value null (XHTML node)
     416PASS classList.replace("a\r", "b") with attribute value null (XHTML node)
     417PASS classList.replace(" a", "b") with attribute value null (XHTML node)
     418PASS classList.replace("a ", "b") with attribute value null (XHTML node)
     419PASS classList.replace("a", "") with attribute value null (XHTML node)
     420PASS classList.replace(" ", "") with attribute value null (XHTML node)
     421PASS classList.replace("a", " ") with attribute value null (XHTML node)
     422PASS classList.replace("b", "\ta") with attribute value null (XHTML node)
     423PASS classList.replace("b", "a\t") with attribute value null (XHTML node)
     424PASS classList.replace("b", "\na") with attribute value null (XHTML node)
     425PASS classList.replace("b", "a\n") with attribute value null (XHTML node)
     426PASS classList.replace("b", "\fa") with attribute value null (XHTML node)
     427PASS classList.replace("b", "a\f") with attribute value null (XHTML node)
     428PASS classList.replace("b", "\ra") with attribute value null (XHTML node)
     429PASS classList.replace("b", "a\r") with attribute value null (XHTML node)
     430PASS classList.replace("b", " a") with attribute value null (XHTML node)
     431PASS classList.replace("b", "a ") with attribute value null (XHTML node)
     432PASS classList.replace("a", "a") with attribute value "a" (XHTML node)
     433PASS classList.replace("a", "b") with attribute value "a" (XHTML node)
     434PASS classList.replace("A", "b") with attribute value "a" (XHTML node)
     435PASS classList.replace("b", "A") with attribute value "a b" (XHTML node)
     436PASS classList.replace("d", "e") with attribute value "a b c" (XHTML node)
     437PASS classList.replace("a", "a") with attribute value "a a a  b" (XHTML node)
     438PASS classList.replace("c", "d") with attribute value "a a a  b" (XHTML node)
     439PASS classList.replace("a", "b") with attribute value null (XHTML node)
     440PASS classList.replace("a", "b") with attribute value "" (XHTML node)
     441PASS classList.replace("a", "b") with attribute value " " (XHTML node)
     442PASS classList.replace("a", "b") with attribute value " a  \f" (XHTML node)
     443PASS classList.replace("b", "d") with attribute value "a b c" (XHTML node)
     444PASS classList.replace("c", "a") with attribute value "a b c" (XHTML node)
     445PASS classList.replace("c", "a") with attribute value "c b a" (XHTML node)
     446PASS classList.replace("a", "c") with attribute value "a b a" (XHTML node)
     447PASS classList.replace("b", "c") with attribute value "a b a" (XHTML node)
     448PASS classList.replace("a", "c") with attribute value "   a  a b" (XHTML node)
     449PASS classList.replace("b", "c") with attribute value "   a  a b" (XHTML node)
     450PASS classList.replace("a", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     451PASS classList.replace("b", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node)
     452PASS classList.replace(null, "b") with attribute value "a null" (XHTML node)
     453PASS classList.replace("a", null) with attribute value "a b" (XHTML node)
     454PASS classList.replace(undefined, "b") with attribute value "a undefined" (XHTML node)
     455PASS classList.replace("a", undefined) with attribute value "a b" (XHTML node)
     456PASS Assigning to classList (MathML node)
     457PASS .supports() must throw TypeError (MathML node)
     458PASS classList.length when removed (MathML node)
     459PASS classList.length when set to "" (MathML node)
     460PASS classList.length when set to "   \t  \f" (MathML node)
     461PASS classList.length when set to "a" (MathML node)
     462PASS classList.length when set to "a A" (MathML node)
     463PASS classList.length when set to "\r\na\t\f" (MathML node)
     464PASS classList.length when set to "a a" (MathML node)
     465PASS classList.length when set to "a a a a a a" (MathML node)
     466PASS classList.length when set to "a a b b" (MathML node)
     467PASS classList.length when set to "a A B b" (MathML node)
     468PASS classList.length when set to "a b c c b a a b c c" (MathML node)
     469PASS classList.length when set to "   a  a b" (MathML node)
     470PASS classList.length when set to "a\tb\nc\fd\re f" (MathML node)
     471PASS classList.toString() when removed (MathML node)
     472PASS classList.toString() when set to "foo" (MathML node)
     473PASS classList.toString() when set to "   a  a b" (MathML node)
     474PASS classList.item() when set to null (MathML node)
     475PASS classList.item() when set to "a" (MathML node)
     476PASS classList.item() when set to "aa AA aa" (MathML node)
     477PASS classList.item() when set to "a b" (MathML node)
     478PASS classList.item() when set to "   a  a b" (MathML node)
     479PASS classList.item() when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     480PASS classList.contains("a") when set to null (MathML node)
     481PASS classList.contains("") when set to null (MathML node)
     482PASS classList.contains("  ") when set to null (MathML node)
     483PASS classList.contains("a") when set to "" (MathML node)
     484PASS classList.contains("a") when set to "a" (MathML node)
     485PASS classList.contains("aa") when set to "a" (MathML node)
     486PASS classList.contains("b") when set to "a" (MathML node)
     487PASS classList.contains("A") when set to "a" (MathML node)
     488PASS classList.contains("a.") when set to "a" (MathML node)
     489PASS classList.contains("a)") when set to "a" (MathML node)
     490PASS classList.contains(undefined) when set to "a" (MathML node)
     491PASS classList.contains("a'") when set to "a" (MathML node)
     492PASS classList.contains("a\"") when set to "a" (MathML node)
     493PASS classList.contains("a$") when set to "a" (MathML node)
     494PASS classList.contains("a~") when set to "a" (MathML node)
     495PASS classList.contains("a?") when set to "a" (MathML node)
     496PASS classList.contains("a\\") when set to "a" (MathML node)
     497PASS classList.contains("a\t") when set to "a" (MathML node)
     498PASS classList.contains("\ta") when set to "a" (MathML node)
     499PASS classList.contains("a\n") when set to "a" (MathML node)
     500PASS classList.contains("\na") when set to "a" (MathML node)
     501PASS classList.contains("a\f") when set to "a" (MathML node)
     502PASS classList.contains("\fa") when set to "a" (MathML node)
     503PASS classList.contains("a\r") when set to "a" (MathML node)
     504PASS classList.contains("\ra") when set to "a" (MathML node)
     505PASS classList.contains("a ") when set to "a" (MathML node)
     506PASS classList.contains(" a") when set to "a" (MathML node)
     507PASS classList.contains("aa") when set to "aa AA" (MathML node)
     508PASS classList.contains("AA") when set to "aa AA" (MathML node)
     509PASS classList.contains("aA") when set to "aa AA" (MathML node)
     510PASS classList.contains("a") when set to "a a a" (MathML node)
     511PASS classList.contains("aa") when set to "a a a" (MathML node)
     512PASS classList.contains("b") when set to "a a a" (MathML node)
     513PASS classList.contains("a") when set to "a b c" (MathML node)
     514PASS classList.contains("b") when set to "a b c" (MathML node)
     515PASS classList.contains(null) when set to "null undefined" (MathML node)
     516PASS classList.contains(undefined) when set to "null undefined" (MathML node)
     517PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     518PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     519PASS classList.add("") with attribute value null (MathML node)
     520PASS classList.add("a", "") with attribute value null (MathML node)
     521PASS classList.add(" ") with attribute value null (MathML node)
     522PASS classList.add("\ta") with attribute value null (MathML node)
     523PASS classList.add("a\t") with attribute value null (MathML node)
     524PASS classList.add("\na") with attribute value null (MathML node)
     525PASS classList.add("a\n") with attribute value null (MathML node)
     526PASS classList.add("\fa") with attribute value null (MathML node)
     527PASS classList.add("a\f") with attribute value null (MathML node)
     528PASS classList.add("\ra") with attribute value null (MathML node)
     529PASS classList.add("a\r") with attribute value null (MathML node)
     530PASS classList.add(" a") with attribute value null (MathML node)
     531PASS classList.add("a ") with attribute value null (MathML node)
     532PASS classList.add("a", " ") with attribute value null (MathML node)
     533PASS classList.add("a", "aa ") with attribute value null (MathML node)
     534PASS classList.add("a") with attribute value "a" (MathML node)
     535PASS classList.add("AA") with attribute value "aa" (MathML node)
     536PASS classList.add("a") with attribute value "a b c" (MathML node)
     537PASS classList.add("a") with attribute value "a a a  b" (MathML node)
     538PASS classList.add("a") with attribute value null (MathML node)
     539PASS classList.add("a") with attribute value "" (MathML node)
     540PASS classList.add("a") with attribute value " " (MathML node)
     541PASS classList.add("a") with attribute value "   \f" (MathML node)
     542PASS classList.add("b") with attribute value "a" (MathML node)
     543PASS classList.add("d") with attribute value "a b c" (MathML node)
     544PASS classList.add("d") with attribute value "a b c " (MathML node)
     545PASS classList.add("c") with attribute value "   a  a b" (MathML node)
     546PASS classList.add("a") with attribute value "   a  a b" (MathML node)
     547PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     548PASS classList.add("d", "e") with attribute value "a b c " (MathML node)
     549PASS classList.add("a", "a") with attribute value "a b c " (MathML node)
     550PASS classList.add("d", "d") with attribute value "a b c " (MathML node)
     551PASS classList.add() with attribute value "a b c a " (MathML node)
     552PASS classList.add("a", "b") with attribute value null (MathML node)
     553PASS classList.add("a", "b") with attribute value "" (MathML node)
     554PASS classList.add(null) with attribute value null (MathML node)
     555PASS classList.add(undefined) with attribute value null (MathML node)
     556PASS classList.remove("") with attribute value null (MathML node)
     557PASS classList.remove(" ") with attribute value null (MathML node)
     558PASS classList.remove("\ta") with attribute value "\ta" (MathML node)
     559PASS classList.remove("a\t") with attribute value "a\t" (MathML node)
     560PASS classList.remove("\na") with attribute value "\na" (MathML node)
     561PASS classList.remove("a\n") with attribute value "a\n" (MathML node)
     562PASS classList.remove("\fa") with attribute value "\fa" (MathML node)
     563PASS classList.remove("a\f") with attribute value "a\f" (MathML node)
     564PASS classList.remove("\ra") with attribute value "\ra" (MathML node)
     565PASS classList.remove("a\r") with attribute value "a\r" (MathML node)
     566PASS classList.remove(" a") with attribute value " a" (MathML node)
     567PASS classList.remove("a ") with attribute value "a " (MathML node)
     568PASS classList.remove("aa ") with attribute value "aa " (MathML node)
     569FAIL classList.remove("a") with attribute value null (MathML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     570PASS classList.remove("a") with attribute value "" (MathML node)
     571PASS classList.remove("d") with attribute value "a b  c" (MathML node)
     572PASS classList.remove("A") with attribute value "a b  c" (MathML node)
     573PASS classList.remove("a") with attribute value " a a a " (MathML node)
     574PASS classList.remove("a") with attribute value "a  b" (MathML node)
     575PASS classList.remove("a") with attribute value "a  b  " (MathML node)
     576PASS classList.remove("a") with attribute value "a a b" (MathML node)
     577PASS classList.remove("aa") with attribute value "aa aa bb" (MathML node)
     578PASS classList.remove("a") with attribute value "a a b a a c a a" (MathML node)
     579PASS classList.remove("b") with attribute value "a  b  c" (MathML node)
     580PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (MathML node)
     581PASS classList.remove("b") with attribute value " a  b  c " (MathML node)
     582PASS classList.remove("b") with attribute value "a b b b c" (MathML node)
     583PASS classList.remove("c") with attribute value "a  b  c" (MathML node)
     584PASS classList.remove("c") with attribute value " a  b  c " (MathML node)
     585PASS classList.remove("c") with attribute value "a b c c c" (MathML node)
     586PASS classList.remove("a") with attribute value "a b a c a d a" (MathML node)
     587PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (MathML node)
     588PASS classList.remove("a") with attribute value "\ra\na\ta\f" (MathML node)
     589PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     590PASS classList.remove("d", "e") with attribute value "a b c " (MathML node)
     591PASS classList.remove("a", "b") with attribute value "a b c " (MathML node)
     592PASS classList.remove("a", "c") with attribute value "a b c " (MathML node)
     593PASS classList.remove("a", "a") with attribute value "a b c " (MathML node)
     594PASS classList.remove("d", "d") with attribute value "a b c " (MathML node)
     595PASS classList.remove() with attribute value "a b c " (MathML node)
     596FAIL classList.remove("a", "b") with attribute value null (MathML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     597PASS classList.remove("a", "b") with attribute value "" (MathML node)
     598PASS classList.remove() with attribute value "a a" (MathML node)
     599PASS classList.remove(null) with attribute value "null" (MathML node)
     600PASS classList.remove(undefined) with attribute value "undefined" (MathML node)
     601PASS classList.toggle("") with attribute value null (MathML node)
     602PASS classList.toggle("aa ") with attribute value null (MathML node)
     603PASS classList.toggle("a") with attribute value null (MathML node)
     604PASS classList.toggle("a") with attribute value "" (MathML node)
     605PASS classList.toggle("a") with attribute value " " (MathML node)
     606PASS classList.toggle("a") with attribute value "   \f" (MathML node)
     607PASS classList.toggle("b") with attribute value "a" (MathML node)
     608PASS classList.toggle("A") with attribute value "a" (MathML node)
     609PASS classList.toggle("d") with attribute value "a b c" (MathML node)
     610PASS classList.toggle("d") with attribute value "   a  a b" (MathML node)
     611PASS classList.toggle("a") with attribute value "a" (MathML node)
     612PASS classList.toggle("a") with attribute value " a a a " (MathML node)
     613PASS classList.toggle("a") with attribute value " A A A " (MathML node)
     614PASS classList.toggle("b") with attribute value " a b c " (MathML node)
     615PASS classList.toggle("b") with attribute value " a b c b b" (MathML node)
     616PASS classList.toggle("c") with attribute value " a b  c  " (MathML node)
     617PASS classList.toggle("a") with attribute value " a b c " (MathML node)
     618PASS classList.toggle("b") with attribute value "   a  a b" (MathML node)
     619PASS classList.toggle("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     620PASS classList.toggle("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     621PASS classList.toggle(null) with attribute value "null" (MathML node)
     622PASS classList.toggle(null) with attribute value "" (MathML node)
     623PASS classList.toggle(undefined) with attribute value "undefined" (MathML node)
     624PASS classList.toggle(undefined) with attribute value "" (MathML node)
     625PASS classList.toggle("a", true) with attribute value "" (MathML node)
     626PASS classList.toggle("a", true) with attribute value "a" (MathML node)
     627PASS classList.toggle("b", true) with attribute value "a" (MathML node)
     628PASS classList.toggle("b", true) with attribute value "a b" (MathML node)
     629PASS classList.toggle("a", false) with attribute value "" (MathML node)
     630PASS classList.toggle("a", false) with attribute value "a" (MathML node)
     631PASS classList.toggle("b", false) with attribute value "a" (MathML node)
     632PASS classList.toggle("b", false) with attribute value "a b" (MathML node)
     633PASS classList.replace("", "a") with attribute value null (MathML node)
     634PASS classList.replace("", " ") with attribute value null (MathML node)
     635PASS classList.replace(" ", "a") with attribute value null (MathML node)
     636PASS classList.replace("\ta", "b") with attribute value null (MathML node)
     637PASS classList.replace("a\t", "b") with attribute value null (MathML node)
     638PASS classList.replace("\na", "b") with attribute value null (MathML node)
     639PASS classList.replace("a\n", "b") with attribute value null (MathML node)
     640PASS classList.replace("\fa", "b") with attribute value null (MathML node)
     641PASS classList.replace("a\f", "b") with attribute value null (MathML node)
     642PASS classList.replace("\ra", "b") with attribute value null (MathML node)
     643PASS classList.replace("a\r", "b") with attribute value null (MathML node)
     644PASS classList.replace(" a", "b") with attribute value null (MathML node)
     645PASS classList.replace("a ", "b") with attribute value null (MathML node)
     646PASS classList.replace("a", "") with attribute value null (MathML node)
     647PASS classList.replace(" ", "") with attribute value null (MathML node)
     648PASS classList.replace("a", " ") with attribute value null (MathML node)
     649PASS classList.replace("b", "\ta") with attribute value null (MathML node)
     650PASS classList.replace("b", "a\t") with attribute value null (MathML node)
     651PASS classList.replace("b", "\na") with attribute value null (MathML node)
     652PASS classList.replace("b", "a\n") with attribute value null (MathML node)
     653PASS classList.replace("b", "\fa") with attribute value null (MathML node)
     654PASS classList.replace("b", "a\f") with attribute value null (MathML node)
     655PASS classList.replace("b", "\ra") with attribute value null (MathML node)
     656PASS classList.replace("b", "a\r") with attribute value null (MathML node)
     657PASS classList.replace("b", " a") with attribute value null (MathML node)
     658PASS classList.replace("b", "a ") with attribute value null (MathML node)
     659PASS classList.replace("a", "a") with attribute value "a" (MathML node)
     660PASS classList.replace("a", "b") with attribute value "a" (MathML node)
     661PASS classList.replace("A", "b") with attribute value "a" (MathML node)
     662PASS classList.replace("b", "A") with attribute value "a b" (MathML node)
     663PASS classList.replace("d", "e") with attribute value "a b c" (MathML node)
     664PASS classList.replace("a", "a") with attribute value "a a a  b" (MathML node)
     665PASS classList.replace("c", "d") with attribute value "a a a  b" (MathML node)
     666PASS classList.replace("a", "b") with attribute value null (MathML node)
     667PASS classList.replace("a", "b") with attribute value "" (MathML node)
     668PASS classList.replace("a", "b") with attribute value " " (MathML node)
     669PASS classList.replace("a", "b") with attribute value " a  \f" (MathML node)
     670PASS classList.replace("b", "d") with attribute value "a b c" (MathML node)
     671PASS classList.replace("c", "a") with attribute value "a b c" (MathML node)
     672PASS classList.replace("c", "a") with attribute value "c b a" (MathML node)
     673PASS classList.replace("a", "c") with attribute value "a b a" (MathML node)
     674PASS classList.replace("b", "c") with attribute value "a b a" (MathML node)
     675PASS classList.replace("a", "c") with attribute value "   a  a b" (MathML node)
     676PASS classList.replace("b", "c") with attribute value "   a  a b" (MathML node)
     677PASS classList.replace("a", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     678PASS classList.replace("b", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node)
     679PASS classList.replace(null, "b") with attribute value "a null" (MathML node)
     680PASS classList.replace("a", null) with attribute value "a b" (MathML node)
     681PASS classList.replace(undefined, "b") with attribute value "a undefined" (MathML node)
     682PASS classList.replace("a", undefined) with attribute value "a b" (MathML node)
     683PASS Assigning to classList (XML node with null namespace)
     684PASS .supports() must throw TypeError (XML node with null namespace)
     685PASS classList.length when removed (XML node with null namespace)
     686PASS classList.length when set to "" (XML node with null namespace)
     687PASS classList.length when set to "   \t  \f" (XML node with null namespace)
     688PASS classList.length when set to "a" (XML node with null namespace)
     689PASS classList.length when set to "a A" (XML node with null namespace)
     690PASS classList.length when set to "\r\na\t\f" (XML node with null namespace)
     691PASS classList.length when set to "a a" (XML node with null namespace)
     692PASS classList.length when set to "a a a a a a" (XML node with null namespace)
     693PASS classList.length when set to "a a b b" (XML node with null namespace)
     694PASS classList.length when set to "a A B b" (XML node with null namespace)
     695PASS classList.length when set to "a b c c b a a b c c" (XML node with null namespace)
     696PASS classList.length when set to "   a  a b" (XML node with null namespace)
     697PASS classList.length when set to "a\tb\nc\fd\re f" (XML node with null namespace)
     698PASS classList.toString() when removed (XML node with null namespace)
     699PASS classList.toString() when set to "foo" (XML node with null namespace)
     700PASS classList.toString() when set to "   a  a b" (XML node with null namespace)
     701PASS classList.item() when set to null (XML node with null namespace)
     702PASS classList.item() when set to "a" (XML node with null namespace)
     703PASS classList.item() when set to "aa AA aa" (XML node with null namespace)
     704PASS classList.item() when set to "a b" (XML node with null namespace)
     705PASS classList.item() when set to "   a  a b" (XML node with null namespace)
     706PASS classList.item() when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     707PASS classList.contains("a") when set to null (XML node with null namespace)
     708PASS classList.contains("") when set to null (XML node with null namespace)
     709PASS classList.contains("  ") when set to null (XML node with null namespace)
     710PASS classList.contains("a") when set to "" (XML node with null namespace)
     711PASS classList.contains("a") when set to "a" (XML node with null namespace)
     712PASS classList.contains("aa") when set to "a" (XML node with null namespace)
     713PASS classList.contains("b") when set to "a" (XML node with null namespace)
     714PASS classList.contains("A") when set to "a" (XML node with null namespace)
     715PASS classList.contains("a.") when set to "a" (XML node with null namespace)
     716PASS classList.contains("a)") when set to "a" (XML node with null namespace)
     717PASS classList.contains(undefined) when set to "a" (XML node with null namespace)
     718PASS classList.contains("a'") when set to "a" (XML node with null namespace)
     719PASS classList.contains("a\"") when set to "a" (XML node with null namespace)
     720PASS classList.contains("a$") when set to "a" (XML node with null namespace)
     721PASS classList.contains("a~") when set to "a" (XML node with null namespace)
     722PASS classList.contains("a?") when set to "a" (XML node with null namespace)
     723PASS classList.contains("a\\") when set to "a" (XML node with null namespace)
     724PASS classList.contains("a\t") when set to "a" (XML node with null namespace)
     725PASS classList.contains("\ta") when set to "a" (XML node with null namespace)
     726PASS classList.contains("a\n") when set to "a" (XML node with null namespace)
     727PASS classList.contains("\na") when set to "a" (XML node with null namespace)
     728PASS classList.contains("a\f") when set to "a" (XML node with null namespace)
     729PASS classList.contains("\fa") when set to "a" (XML node with null namespace)
     730PASS classList.contains("a\r") when set to "a" (XML node with null namespace)
     731PASS classList.contains("\ra") when set to "a" (XML node with null namespace)
     732PASS classList.contains("a ") when set to "a" (XML node with null namespace)
     733PASS classList.contains(" a") when set to "a" (XML node with null namespace)
     734PASS classList.contains("aa") when set to "aa AA" (XML node with null namespace)
     735PASS classList.contains("AA") when set to "aa AA" (XML node with null namespace)
     736PASS classList.contains("aA") when set to "aa AA" (XML node with null namespace)
     737PASS classList.contains("a") when set to "a a a" (XML node with null namespace)
     738PASS classList.contains("aa") when set to "a a a" (XML node with null namespace)
     739PASS classList.contains("b") when set to "a a a" (XML node with null namespace)
     740PASS classList.contains("a") when set to "a b c" (XML node with null namespace)
     741PASS classList.contains("b") when set to "a b c" (XML node with null namespace)
     742PASS classList.contains(null) when set to "null undefined" (XML node with null namespace)
     743PASS classList.contains(undefined) when set to "null undefined" (XML node with null namespace)
     744PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     745PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     746PASS classList.add("") with attribute value null (XML node with null namespace)
     747PASS classList.add("a", "") with attribute value null (XML node with null namespace)
     748PASS classList.add(" ") with attribute value null (XML node with null namespace)
     749PASS classList.add("\ta") with attribute value null (XML node with null namespace)
     750PASS classList.add("a\t") with attribute value null (XML node with null namespace)
     751PASS classList.add("\na") with attribute value null (XML node with null namespace)
     752PASS classList.add("a\n") with attribute value null (XML node with null namespace)
     753PASS classList.add("\fa") with attribute value null (XML node with null namespace)
     754PASS classList.add("a\f") with attribute value null (XML node with null namespace)
     755PASS classList.add("\ra") with attribute value null (XML node with null namespace)
     756PASS classList.add("a\r") with attribute value null (XML node with null namespace)
     757PASS classList.add(" a") with attribute value null (XML node with null namespace)
     758PASS classList.add("a ") with attribute value null (XML node with null namespace)
     759PASS classList.add("a", " ") with attribute value null (XML node with null namespace)
     760PASS classList.add("a", "aa ") with attribute value null (XML node with null namespace)
     761PASS classList.add("a") with attribute value "a" (XML node with null namespace)
     762PASS classList.add("AA") with attribute value "aa" (XML node with null namespace)
     763PASS classList.add("a") with attribute value "a b c" (XML node with null namespace)
     764PASS classList.add("a") with attribute value "a a a  b" (XML node with null namespace)
     765PASS classList.add("a") with attribute value null (XML node with null namespace)
     766PASS classList.add("a") with attribute value "" (XML node with null namespace)
     767PASS classList.add("a") with attribute value " " (XML node with null namespace)
     768PASS classList.add("a") with attribute value "   \f" (XML node with null namespace)
     769PASS classList.add("b") with attribute value "a" (XML node with null namespace)
     770PASS classList.add("d") with attribute value "a b c" (XML node with null namespace)
     771PASS classList.add("d") with attribute value "a b c " (XML node with null namespace)
     772PASS classList.add("c") with attribute value "   a  a b" (XML node with null namespace)
     773PASS classList.add("a") with attribute value "   a  a b" (XML node with null namespace)
     774PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     775PASS classList.add("d", "e") with attribute value "a b c " (XML node with null namespace)
     776PASS classList.add("a", "a") with attribute value "a b c " (XML node with null namespace)
     777PASS classList.add("d", "d") with attribute value "a b c " (XML node with null namespace)
     778PASS classList.add() with attribute value "a b c a " (XML node with null namespace)
     779PASS classList.add("a", "b") with attribute value null (XML node with null namespace)
     780PASS classList.add("a", "b") with attribute value "" (XML node with null namespace)
     781PASS classList.add(null) with attribute value null (XML node with null namespace)
     782PASS classList.add(undefined) with attribute value null (XML node with null namespace)
     783PASS classList.remove("") with attribute value null (XML node with null namespace)
     784PASS classList.remove(" ") with attribute value null (XML node with null namespace)
     785PASS classList.remove("\ta") with attribute value "\ta" (XML node with null namespace)
     786PASS classList.remove("a\t") with attribute value "a\t" (XML node with null namespace)
     787PASS classList.remove("\na") with attribute value "\na" (XML node with null namespace)
     788PASS classList.remove("a\n") with attribute value "a\n" (XML node with null namespace)
     789PASS classList.remove("\fa") with attribute value "\fa" (XML node with null namespace)
     790PASS classList.remove("a\f") with attribute value "a\f" (XML node with null namespace)
     791PASS classList.remove("\ra") with attribute value "\ra" (XML node with null namespace)
     792PASS classList.remove("a\r") with attribute value "a\r" (XML node with null namespace)
     793PASS classList.remove(" a") with attribute value " a" (XML node with null namespace)
     794PASS classList.remove("a ") with attribute value "a " (XML node with null namespace)
     795PASS classList.remove("aa ") with attribute value "aa " (XML node with null namespace)
     796FAIL classList.remove("a") with attribute value null (XML node with null namespace) assert_equals: wrong class after modification expected (object) null but got (string) ""
     797PASS classList.remove("a") with attribute value "" (XML node with null namespace)
     798PASS classList.remove("d") with attribute value "a b  c" (XML node with null namespace)
     799PASS classList.remove("A") with attribute value "a b  c" (XML node with null namespace)
     800PASS classList.remove("a") with attribute value " a a a " (XML node with null namespace)
     801PASS classList.remove("a") with attribute value "a  b" (XML node with null namespace)
     802PASS classList.remove("a") with attribute value "a  b  " (XML node with null namespace)
     803PASS classList.remove("a") with attribute value "a a b" (XML node with null namespace)
     804PASS classList.remove("aa") with attribute value "aa aa bb" (XML node with null namespace)
     805PASS classList.remove("a") with attribute value "a a b a a c a a" (XML node with null namespace)
     806PASS classList.remove("b") with attribute value "a  b  c" (XML node with null namespace)
     807PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (XML node with null namespace)
     808PASS classList.remove("b") with attribute value " a  b  c " (XML node with null namespace)
     809PASS classList.remove("b") with attribute value "a b b b c" (XML node with null namespace)
     810PASS classList.remove("c") with attribute value "a  b  c" (XML node with null namespace)
     811PASS classList.remove("c") with attribute value " a  b  c " (XML node with null namespace)
     812PASS classList.remove("c") with attribute value "a b c c c" (XML node with null namespace)
     813PASS classList.remove("a") with attribute value "a b a c a d a" (XML node with null namespace)
     814PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (XML node with null namespace)
     815PASS classList.remove("a") with attribute value "\ra\na\ta\f" (XML node with null namespace)
     816PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     817PASS classList.remove("d", "e") with attribute value "a b c " (XML node with null namespace)
     818PASS classList.remove("a", "b") with attribute value "a b c " (XML node with null namespace)
     819PASS classList.remove("a", "c") with attribute value "a b c " (XML node with null namespace)
     820PASS classList.remove("a", "a") with attribute value "a b c " (XML node with null namespace)
     821PASS classList.remove("d", "d") with attribute value "a b c " (XML node with null namespace)
     822PASS classList.remove() with attribute value "a b c " (XML node with null namespace)
     823FAIL classList.remove("a", "b") with attribute value null (XML node with null namespace) assert_equals: wrong class after modification expected (object) null but got (string) ""
     824PASS classList.remove("a", "b") with attribute value "" (XML node with null namespace)
     825PASS classList.remove() with attribute value "a a" (XML node with null namespace)
     826PASS classList.remove(null) with attribute value "null" (XML node with null namespace)
     827PASS classList.remove(undefined) with attribute value "undefined" (XML node with null namespace)
     828PASS classList.toggle("") with attribute value null (XML node with null namespace)
     829PASS classList.toggle("aa ") with attribute value null (XML node with null namespace)
     830PASS classList.toggle("a") with attribute value null (XML node with null namespace)
     831PASS classList.toggle("a") with attribute value "" (XML node with null namespace)
     832PASS classList.toggle("a") with attribute value " " (XML node with null namespace)
     833PASS classList.toggle("a") with attribute value "   \f" (XML node with null namespace)
     834PASS classList.toggle("b") with attribute value "a" (XML node with null namespace)
     835PASS classList.toggle("A") with attribute value "a" (XML node with null namespace)
     836PASS classList.toggle("d") with attribute value "a b c" (XML node with null namespace)
     837PASS classList.toggle("d") with attribute value "   a  a b" (XML node with null namespace)
     838PASS classList.toggle("a") with attribute value "a" (XML node with null namespace)
     839PASS classList.toggle("a") with attribute value " a a a " (XML node with null namespace)
     840PASS classList.toggle("a") with attribute value " A A A " (XML node with null namespace)
     841PASS classList.toggle("b") with attribute value " a b c " (XML node with null namespace)
     842PASS classList.toggle("b") with attribute value " a b c b b" (XML node with null namespace)
     843PASS classList.toggle("c") with attribute value " a b  c  " (XML node with null namespace)
     844PASS classList.toggle("a") with attribute value " a b c " (XML node with null namespace)
     845PASS classList.toggle("b") with attribute value "   a  a b" (XML node with null namespace)
     846PASS classList.toggle("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     847PASS classList.toggle("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     848PASS classList.toggle(null) with attribute value "null" (XML node with null namespace)
     849PASS classList.toggle(null) with attribute value "" (XML node with null namespace)
     850PASS classList.toggle(undefined) with attribute value "undefined" (XML node with null namespace)
     851PASS classList.toggle(undefined) with attribute value "" (XML node with null namespace)
     852PASS classList.toggle("a", true) with attribute value "" (XML node with null namespace)
     853PASS classList.toggle("a", true) with attribute value "a" (XML node with null namespace)
     854PASS classList.toggle("b", true) with attribute value "a" (XML node with null namespace)
     855PASS classList.toggle("b", true) with attribute value "a b" (XML node with null namespace)
     856PASS classList.toggle("a", false) with attribute value "" (XML node with null namespace)
     857PASS classList.toggle("a", false) with attribute value "a" (XML node with null namespace)
     858PASS classList.toggle("b", false) with attribute value "a" (XML node with null namespace)
     859PASS classList.toggle("b", false) with attribute value "a b" (XML node with null namespace)
     860PASS classList.replace("", "a") with attribute value null (XML node with null namespace)
     861PASS classList.replace("", " ") with attribute value null (XML node with null namespace)
     862PASS classList.replace(" ", "a") with attribute value null (XML node with null namespace)
     863PASS classList.replace("\ta", "b") with attribute value null (XML node with null namespace)
     864PASS classList.replace("a\t", "b") with attribute value null (XML node with null namespace)
     865PASS classList.replace("\na", "b") with attribute value null (XML node with null namespace)
     866PASS classList.replace("a\n", "b") with attribute value null (XML node with null namespace)
     867PASS classList.replace("\fa", "b") with attribute value null (XML node with null namespace)
     868PASS classList.replace("a\f", "b") with attribute value null (XML node with null namespace)
     869PASS classList.replace("\ra", "b") with attribute value null (XML node with null namespace)
     870PASS classList.replace("a\r", "b") with attribute value null (XML node with null namespace)
     871PASS classList.replace(" a", "b") with attribute value null (XML node with null namespace)
     872PASS classList.replace("a ", "b") with attribute value null (XML node with null namespace)
     873PASS classList.replace("a", "") with attribute value null (XML node with null namespace)
     874PASS classList.replace(" ", "") with attribute value null (XML node with null namespace)
     875PASS classList.replace("a", " ") with attribute value null (XML node with null namespace)
     876PASS classList.replace("b", "\ta") with attribute value null (XML node with null namespace)
     877PASS classList.replace("b", "a\t") with attribute value null (XML node with null namespace)
     878PASS classList.replace("b", "\na") with attribute value null (XML node with null namespace)
     879PASS classList.replace("b", "a\n") with attribute value null (XML node with null namespace)
     880PASS classList.replace("b", "\fa") with attribute value null (XML node with null namespace)
     881PASS classList.replace("b", "a\f") with attribute value null (XML node with null namespace)
     882PASS classList.replace("b", "\ra") with attribute value null (XML node with null namespace)
     883PASS classList.replace("b", "a\r") with attribute value null (XML node with null namespace)
     884PASS classList.replace("b", " a") with attribute value null (XML node with null namespace)
     885PASS classList.replace("b", "a ") with attribute value null (XML node with null namespace)
     886PASS classList.replace("a", "a") with attribute value "a" (XML node with null namespace)
     887PASS classList.replace("a", "b") with attribute value "a" (XML node with null namespace)
     888PASS classList.replace("A", "b") with attribute value "a" (XML node with null namespace)
     889PASS classList.replace("b", "A") with attribute value "a b" (XML node with null namespace)
     890PASS classList.replace("d", "e") with attribute value "a b c" (XML node with null namespace)
     891PASS classList.replace("a", "a") with attribute value "a a a  b" (XML node with null namespace)
     892PASS classList.replace("c", "d") with attribute value "a a a  b" (XML node with null namespace)
     893PASS classList.replace("a", "b") with attribute value null (XML node with null namespace)
     894PASS classList.replace("a", "b") with attribute value "" (XML node with null namespace)
     895PASS classList.replace("a", "b") with attribute value " " (XML node with null namespace)
     896PASS classList.replace("a", "b") with attribute value " a  \f" (XML node with null namespace)
     897PASS classList.replace("b", "d") with attribute value "a b c" (XML node with null namespace)
     898PASS classList.replace("c", "a") with attribute value "a b c" (XML node with null namespace)
     899PASS classList.replace("c", "a") with attribute value "c b a" (XML node with null namespace)
     900PASS classList.replace("a", "c") with attribute value "a b a" (XML node with null namespace)
     901PASS classList.replace("b", "c") with attribute value "a b a" (XML node with null namespace)
     902PASS classList.replace("a", "c") with attribute value "   a  a b" (XML node with null namespace)
     903PASS classList.replace("b", "c") with attribute value "   a  a b" (XML node with null namespace)
     904PASS classList.replace("a", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     905PASS classList.replace("b", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace)
     906PASS classList.replace(null, "b") with attribute value "a null" (XML node with null namespace)
     907PASS classList.replace("a", null) with attribute value "a b" (XML node with null namespace)
     908PASS classList.replace(undefined, "b") with attribute value "a undefined" (XML node with null namespace)
     909PASS classList.replace("a", undefined) with attribute value "a b" (XML node with null namespace)
     910PASS Assigning to classList (foo node)
     911PASS .supports() must throw TypeError (foo node)
     912PASS classList.length when removed (foo node)
     913PASS classList.length when set to "" (foo node)
     914PASS classList.length when set to "   \t  \f" (foo node)
     915PASS classList.length when set to "a" (foo node)
     916PASS classList.length when set to "a A" (foo node)
     917PASS classList.length when set to "\r\na\t\f" (foo node)
     918PASS classList.length when set to "a a" (foo node)
     919PASS classList.length when set to "a a a a a a" (foo node)
     920PASS classList.length when set to "a a b b" (foo node)
     921PASS classList.length when set to "a A B b" (foo node)
     922PASS classList.length when set to "a b c c b a a b c c" (foo node)
     923PASS classList.length when set to "   a  a b" (foo node)
     924PASS classList.length when set to "a\tb\nc\fd\re f" (foo node)
     925PASS classList.toString() when removed (foo node)
     926PASS classList.toString() when set to "foo" (foo node)
     927PASS classList.toString() when set to "   a  a b" (foo node)
     928PASS classList.item() when set to null (foo node)
     929PASS classList.item() when set to "a" (foo node)
     930PASS classList.item() when set to "aa AA aa" (foo node)
     931PASS classList.item() when set to "a b" (foo node)
     932PASS classList.item() when set to "   a  a b" (foo node)
     933PASS classList.item() when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     934PASS classList.contains("a") when set to null (foo node)
     935PASS classList.contains("") when set to null (foo node)
     936PASS classList.contains("  ") when set to null (foo node)
     937PASS classList.contains("a") when set to "" (foo node)
     938PASS classList.contains("a") when set to "a" (foo node)
     939PASS classList.contains("aa") when set to "a" (foo node)
     940PASS classList.contains("b") when set to "a" (foo node)
     941PASS classList.contains("A") when set to "a" (foo node)
     942PASS classList.contains("a.") when set to "a" (foo node)
     943PASS classList.contains("a)") when set to "a" (foo node)
     944PASS classList.contains(undefined) when set to "a" (foo node)
     945PASS classList.contains("a'") when set to "a" (foo node)
     946PASS classList.contains("a\"") when set to "a" (foo node)
     947PASS classList.contains("a$") when set to "a" (foo node)
     948PASS classList.contains("a~") when set to "a" (foo node)
     949PASS classList.contains("a?") when set to "a" (foo node)
     950PASS classList.contains("a\\") when set to "a" (foo node)
     951PASS classList.contains("a\t") when set to "a" (foo node)
     952PASS classList.contains("\ta") when set to "a" (foo node)
     953PASS classList.contains("a\n") when set to "a" (foo node)
     954PASS classList.contains("\na") when set to "a" (foo node)
     955PASS classList.contains("a\f") when set to "a" (foo node)
     956PASS classList.contains("\fa") when set to "a" (foo node)
     957PASS classList.contains("a\r") when set to "a" (foo node)
     958PASS classList.contains("\ra") when set to "a" (foo node)
     959PASS classList.contains("a ") when set to "a" (foo node)
     960PASS classList.contains(" a") when set to "a" (foo node)
     961PASS classList.contains("aa") when set to "aa AA" (foo node)
     962PASS classList.contains("AA") when set to "aa AA" (foo node)
     963PASS classList.contains("aA") when set to "aa AA" (foo node)
     964PASS classList.contains("a") when set to "a a a" (foo node)
     965PASS classList.contains("aa") when set to "a a a" (foo node)
     966PASS classList.contains("b") when set to "a a a" (foo node)
     967PASS classList.contains("a") when set to "a b c" (foo node)
     968PASS classList.contains("b") when set to "a b c" (foo node)
     969PASS classList.contains(null) when set to "null undefined" (foo node)
     970PASS classList.contains(undefined) when set to "null undefined" (foo node)
     971PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     972PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     973PASS classList.add("") with attribute value null (foo node)
     974PASS classList.add("a", "") with attribute value null (foo node)
     975PASS classList.add(" ") with attribute value null (foo node)
     976PASS classList.add("\ta") with attribute value null (foo node)
     977PASS classList.add("a\t") with attribute value null (foo node)
     978PASS classList.add("\na") with attribute value null (foo node)
     979PASS classList.add("a\n") with attribute value null (foo node)
     980PASS classList.add("\fa") with attribute value null (foo node)
     981PASS classList.add("a\f") with attribute value null (foo node)
     982PASS classList.add("\ra") with attribute value null (foo node)
     983PASS classList.add("a\r") with attribute value null (foo node)
     984PASS classList.add(" a") with attribute value null (foo node)
     985PASS classList.add("a ") with attribute value null (foo node)
     986PASS classList.add("a", " ") with attribute value null (foo node)
     987PASS classList.add("a", "aa ") with attribute value null (foo node)
     988PASS classList.add("a") with attribute value "a" (foo node)
     989PASS classList.add("AA") with attribute value "aa" (foo node)
     990PASS classList.add("a") with attribute value "a b c" (foo node)
     991PASS classList.add("a") with attribute value "a a a  b" (foo node)
     992PASS classList.add("a") with attribute value null (foo node)
     993PASS classList.add("a") with attribute value "" (foo node)
     994PASS classList.add("a") with attribute value " " (foo node)
     995PASS classList.add("a") with attribute value "   \f" (foo node)
     996PASS classList.add("b") with attribute value "a" (foo node)
     997PASS classList.add("d") with attribute value "a b c" (foo node)
     998PASS classList.add("d") with attribute value "a b c " (foo node)
     999PASS classList.add("c") with attribute value "   a  a b" (foo node)
     1000PASS classList.add("a") with attribute value "   a  a b" (foo node)
     1001PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     1002PASS classList.add("d", "e") with attribute value "a b c " (foo node)
     1003PASS classList.add("a", "a") with attribute value "a b c " (foo node)
     1004PASS classList.add("d", "d") with attribute value "a b c " (foo node)
     1005PASS classList.add() with attribute value "a b c a " (foo node)
     1006PASS classList.add("a", "b") with attribute value null (foo node)
     1007PASS classList.add("a", "b") with attribute value "" (foo node)
     1008PASS classList.add(null) with attribute value null (foo node)
     1009PASS classList.add(undefined) with attribute value null (foo node)
     1010PASS classList.remove("") with attribute value null (foo node)
     1011PASS classList.remove(" ") with attribute value null (foo node)
     1012PASS classList.remove("\ta") with attribute value "\ta" (foo node)
     1013PASS classList.remove("a\t") with attribute value "a\t" (foo node)
     1014PASS classList.remove("\na") with attribute value "\na" (foo node)
     1015PASS classList.remove("a\n") with attribute value "a\n" (foo node)
     1016PASS classList.remove("\fa") with attribute value "\fa" (foo node)
     1017PASS classList.remove("a\f") with attribute value "a\f" (foo node)
     1018PASS classList.remove("\ra") with attribute value "\ra" (foo node)
     1019PASS classList.remove("a\r") with attribute value "a\r" (foo node)
     1020PASS classList.remove(" a") with attribute value " a" (foo node)
     1021PASS classList.remove("a ") with attribute value "a " (foo node)
     1022PASS classList.remove("aa ") with attribute value "aa " (foo node)
     1023FAIL classList.remove("a") with attribute value null (foo node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     1024PASS classList.remove("a") with attribute value "" (foo node)
     1025PASS classList.remove("d") with attribute value "a b  c" (foo node)
     1026PASS classList.remove("A") with attribute value "a b  c" (foo node)
     1027PASS classList.remove("a") with attribute value " a a a " (foo node)
     1028PASS classList.remove("a") with attribute value "a  b" (foo node)
     1029PASS classList.remove("a") with attribute value "a  b  " (foo node)
     1030PASS classList.remove("a") with attribute value "a a b" (foo node)
     1031PASS classList.remove("aa") with attribute value "aa aa bb" (foo node)
     1032PASS classList.remove("a") with attribute value "a a b a a c a a" (foo node)
     1033PASS classList.remove("b") with attribute value "a  b  c" (foo node)
     1034PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (foo node)
     1035PASS classList.remove("b") with attribute value " a  b  c " (foo node)
     1036PASS classList.remove("b") with attribute value "a b b b c" (foo node)
     1037PASS classList.remove("c") with attribute value "a  b  c" (foo node)
     1038PASS classList.remove("c") with attribute value " a  b  c " (foo node)
     1039PASS classList.remove("c") with attribute value "a b c c c" (foo node)
     1040PASS classList.remove("a") with attribute value "a b a c a d a" (foo node)
     1041PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (foo node)
     1042PASS classList.remove("a") with attribute value "\ra\na\ta\f" (foo node)
     1043PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     1044PASS classList.remove("d", "e") with attribute value "a b c " (foo node)
     1045PASS classList.remove("a", "b") with attribute value "a b c " (foo node)
     1046PASS classList.remove("a", "c") with attribute value "a b c " (foo node)
     1047PASS classList.remove("a", "a") with attribute value "a b c " (foo node)
     1048PASS classList.remove("d", "d") with attribute value "a b c " (foo node)
     1049PASS classList.remove() with attribute value "a b c " (foo node)
     1050FAIL classList.remove("a", "b") with attribute value null (foo node) assert_equals: wrong class after modification expected (object) null but got (string) ""
     1051PASS classList.remove("a", "b") with attribute value "" (foo node)
     1052PASS classList.remove() with attribute value "a a" (foo node)
     1053PASS classList.remove(null) with attribute value "null" (foo node)
     1054PASS classList.remove(undefined) with attribute value "undefined" (foo node)
     1055PASS classList.toggle("") with attribute value null (foo node)
     1056PASS classList.toggle("aa ") with attribute value null (foo node)
     1057PASS classList.toggle("a") with attribute value null (foo node)
     1058PASS classList.toggle("a") with attribute value "" (foo node)
     1059PASS classList.toggle("a") with attribute value " " (foo node)
     1060PASS classList.toggle("a") with attribute value "   \f" (foo node)
     1061PASS classList.toggle("b") with attribute value "a" (foo node)
     1062PASS classList.toggle("A") with attribute value "a" (foo node)
     1063PASS classList.toggle("d") with attribute value "a b c" (foo node)
     1064PASS classList.toggle("d") with attribute value "   a  a b" (foo node)
     1065PASS classList.toggle("a") with attribute value "a" (foo node)
     1066PASS classList.toggle("a") with attribute value " a a a " (foo node)
     1067PASS classList.toggle("a") with attribute value " A A A " (foo node)
     1068PASS classList.toggle("b") with attribute value " a b c " (foo node)
     1069PASS classList.toggle("b") with attribute value " a b c b b" (foo node)
     1070PASS classList.toggle("c") with attribute value " a b  c  " (foo node)
     1071PASS classList.toggle("a") with attribute value " a b c " (foo node)
     1072PASS classList.toggle("b") with attribute value "   a  a b" (foo node)
     1073PASS classList.toggle("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     1074PASS classList.toggle("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     1075PASS classList.toggle(null) with attribute value "null" (foo node)
     1076PASS classList.toggle(null) with attribute value "" (foo node)
     1077PASS classList.toggle(undefined) with attribute value "undefined" (foo node)
     1078PASS classList.toggle(undefined) with attribute value "" (foo node)
     1079PASS classList.toggle("a", true) with attribute value "" (foo node)
     1080PASS classList.toggle("a", true) with attribute value "a" (foo node)
     1081PASS classList.toggle("b", true) with attribute value "a" (foo node)
     1082PASS classList.toggle("b", true) with attribute value "a b" (foo node)
     1083PASS classList.toggle("a", false) with attribute value "" (foo node)
     1084PASS classList.toggle("a", false) with attribute value "a" (foo node)
     1085PASS classList.toggle("b", false) with attribute value "a" (foo node)
     1086PASS classList.toggle("b", false) with attribute value "a b" (foo node)
     1087PASS classList.replace("", "a") with attribute value null (foo node)
     1088PASS classList.replace("", " ") with attribute value null (foo node)
     1089PASS classList.replace(" ", "a") with attribute value null (foo node)
     1090PASS classList.replace("\ta", "b") with attribute value null (foo node)
     1091PASS classList.replace("a\t", "b") with attribute value null (foo node)
     1092PASS classList.replace("\na", "b") with attribute value null (foo node)
     1093PASS classList.replace("a\n", "b") with attribute value null (foo node)
     1094PASS classList.replace("\fa", "b") with attribute value null (foo node)
     1095PASS classList.replace("a\f", "b") with attribute value null (foo node)
     1096PASS classList.replace("\ra", "b") with attribute value null (foo node)
     1097PASS classList.replace("a\r", "b") with attribute value null (foo node)
     1098PASS classList.replace(" a", "b") with attribute value null (foo node)
     1099PASS classList.replace("a ", "b") with attribute value null (foo node)
     1100PASS classList.replace("a", "") with attribute value null (foo node)
     1101PASS classList.replace(" ", "") with attribute value null (foo node)
     1102PASS classList.replace("a", " ") with attribute value null (foo node)
     1103PASS classList.replace("b", "\ta") with attribute value null (foo node)
     1104PASS classList.replace("b", "a\t") with attribute value null (foo node)
     1105PASS classList.replace("b", "\na") with attribute value null (foo node)
     1106PASS classList.replace("b", "a\n") with attribute value null (foo node)
     1107PASS classList.replace("b", "\fa") with attribute value null (foo node)
     1108PASS classList.replace("b", "a\f") with attribute value null (foo node)
     1109PASS classList.replace("b", "\ra") with attribute value null (foo node)
     1110PASS classList.replace("b", "a\r") with attribute value null (foo node)
     1111PASS classList.replace("b", " a") with attribute value null (foo node)
     1112PASS classList.replace("b", "a ") with attribute value null (foo node)
     1113PASS classList.replace("a", "a") with attribute value "a" (foo node)
     1114PASS classList.replace("a", "b") with attribute value "a" (foo node)
     1115PASS classList.replace("A", "b") with attribute value "a" (foo node)
     1116PASS classList.replace("b", "A") with attribute value "a b" (foo node)
     1117PASS classList.replace("d", "e") with attribute value "a b c" (foo node)
     1118PASS classList.replace("a", "a") with attribute value "a a a  b" (foo node)
     1119PASS classList.replace("c", "d") with attribute value "a a a  b" (foo node)
     1120PASS classList.replace("a", "b") with attribute value null (foo node)
     1121PASS classList.replace("a", "b") with attribute value "" (foo node)
     1122PASS classList.replace("a", "b") with attribute value " " (foo node)
     1123PASS classList.replace("a", "b") with attribute value " a  \f" (foo node)
     1124PASS classList.replace("b", "d") with attribute value "a b c" (foo node)
     1125PASS classList.replace("c", "a") with attribute value "a b c" (foo node)
     1126PASS classList.replace("c", "a") with attribute value "c b a" (foo node)
     1127PASS classList.replace("a", "c") with attribute value "a b a" (foo node)
     1128PASS classList.replace("b", "c") with attribute value "a b a" (foo node)
     1129PASS classList.replace("a", "c") with attribute value "   a  a b" (foo node)
     1130PASS classList.replace("b", "c") with attribute value "   a  a b" (foo node)
     1131PASS classList.replace("a", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     1132PASS classList.replace("b", "c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node)
     1133PASS classList.replace(null, "b") with attribute value "a null" (foo node)
     1134PASS classList.replace("a", null) with attribute value "a b" (foo node)
     1135PASS classList.replace(undefined, "b") with attribute value "a undefined" (foo node)
     1136PASS classList.replace("a", undefined) with attribute value "a b" (foo node)
    801137
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-classlist.html

    r215943 r217225  
    11<!doctype html>
    2 <html>
    3   <head class="test test">
    4     <title class=" ">Element.classList in case-sensitive documents</title>
    5     <link rel="help" href="https://dom.spec.whatwg.org/#concept-class">
    6     <script type="text/javascript" src="/resources/testharness.js"></script>
    7     <script type="text/javascript" src="/resources/testharnessreport.js"></script>
    8     <style type="text/css">
    9 .foo { font-style: italic; }
    10     </style>
    11     <script type="text/javascript">
    12 var elem = document.getElementsByTagName('title')[0], secondelem = document.getElementsByTagName('head')[0];
    13 test(function () {
    14   assert_equals( typeof elem.classList, 'object', 'critical test; ignore any results after this' );
    15 }, 'Element.classList must exist as an object');
    16 test(function () {
    17   assert_equals( typeof document.documentElement.classList, 'object' );
    18 }, 'Element.classList must exist as an object even if the element has no class attribute');
    19 test(function () {
    20   assert_true( !!window.DOMTokenList );
    21 }, 'DOMTokenList should be exposed for prototyping');
    22 test(function () {
    23   DOMTokenList.prototype.customProperty = true;
    24   assert_true( elem.classList.customProperty );
    25 }, 'prototyping DOMTokenList should work');
    26 test(function () {
    27   assert_true( elem.classList instanceof window.DOMTokenList );
    28   assert_equals( elem.classList.constructor, window.DOMTokenList );
    29 }, 'Element.classList must implement DOMTokenList');
    30 test(function () {
    31   assert_not_equals( getComputedStyle(elem,null).fontStyle, 'italic', 'critical test; required by the testsuite' );
    32 }, 'CSS .foo selectors must not match elements without any class');
    33 test(function () {
    34   assert_equals( secondelem.classList.length, 1, 'duplicates in initial string should be removed per https://dom.spec.whatwg.org/#concept-class' );
    35   assert_equals( secondelem.classList.item(0), 'test' );
    36   assert_true( secondelem.classList.contains('test') );
    37 }, 'classList must be correct for an element that has classes');
    38 test(function () {
    39   assert_equals( elem.classList.length, 0 );
    40 }, 'classList.length must be 0 for an element that has no classes');
    41 test(function () {
    42   assert_false( elem.classList.contains('foo') );
    43 }, 'classList must not contain an undefined class');
    44 test(function () {
    45   assert_equals( elem.classList.item(0), null );
    46 }, 'classList.item() must return null for out-of-range index');
    47 test(function () {
    48   assert_equals( elem.classList.item(-1), null );
    49 }, 'classList.item() must return null for negative index');
    50 test(function () {
    51   /* the normative part of the spec states that:
    52   "unless tokens is empty, in which case there are no supported property indices"
    53   ...
    54   "The term[...] supported property indices [is] used as defined in the WebIDL specification."
    55   WebIDL creates actual OwnProperties and then [] just acts as a normal property lookup */
    56   assert_equals( elem.classList[0], undefined );
    57 }, 'classList[index] must be undefined for out-of-range index');
    58 test(function () {
    59   assert_equals( elem.classList[-1], undefined );
    60 }, 'classList[index] must be undefined for negative index');
    61 test(function () {
    62   assert_equals( elem.className, ' ' );
    63 }, 'className should contain initial markup whitespace');
    64 test(function () {
    65   assert_equals( elem.classList + '', ' ', 'implicit' );
    66   assert_equals( elem.classList.toString(), ' ', 'explicit' );
    67 }, 'classList should contain initial markup whitespace');
    68 test(function () {
    69   assert_false( elem.classList.contains('') );
    70 }, '.contains(empty_string) must return false');
    71 test(function () {
    72   assert_throws( 'SYNTAX_ERR', function () { elem.classList.add(''); } );
    73 }, '.add(empty_string) must throw a SYNTAX_ERR');
    74 test(function () {
    75   assert_throws( 'SYNTAX_ERR', function () { elem.classList.remove(''); } );
    76 }, '.remove(empty_string) must throw a SYNTAX_ERR');
    77 test(function () {
    78   assert_throws( 'SYNTAX_ERR', function () { elem.classList.toggle(''); } );
    79 }, '.toggle(empty_string) must throw a SYNTAX_ERR');
    80 test(function () {
    81   assert_throws( 'SYNTAX_ERR', function () { elem.classList.replace('', 'foo'); } );
    82   assert_throws( 'SYNTAX_ERR', function () { elem.classList.replace('foo', ''); } );
    83   assert_throws( 'SYNTAX_ERR', function () { elem.classList.replace('', 'foo bar'); } );
    84   assert_throws( 'SYNTAX_ERR', function () { elem.classList.replace('foo bar', ''); } );
    85   assert_throws( 'SYNTAX_ERR', function () { elem.classList.replace('', ''); } );
    86 }, '.replace with empty_string must throw a SYNTAX_ERR');
    87 test(function () {
    88   assert_false( elem.classList.contains('a b') );
    89 }, '.contains(string_with_spaces) must return false');
    90 test(function () {
    91   assert_throws( 'INVALID_CHARACTER_ERR', function () { elem.classList.add('a b'); } );
    92 }, '.add(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
    93 test(function () {
    94   assert_throws( 'INVALID_CHARACTER_ERR', function () { elem.classList.remove('a b'); } );
    95 }, '.remove(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
    96 test(function () {
    97   assert_throws( 'INVALID_CHARACTER_ERR', function () { elem.classList.toggle('a b'); } );
    98 }, '.toggle(string_with_spaces) must throw an INVALID_CHARACTER_ERR');
    99 test(function () {
    100   assert_throws( 'INVALID_CHARACTER_ERR', function () { elem.classList.replace('z', 'a b'); } );
    101   assert_throws( 'INVALID_CHARACTER_ERR', function () { elem.classList.replace('a b', 'z'); } );
    102   assert_throws( 'INVALID_CHARACTER_ERR', function () { elem.classList.replace('a b', 'b c'); } );
    103 }, '.replace with string_with_spaces must throw a INVALID_CHARACTER_ERR');
    104 test(function () {
    105   var foo = document.createElement('div');
    106   foo.className = 'token1 token2 token3'
    107   foo.classList.replace('token1', 'token3');
    108   assert_equals( foo.classList.length, 2 );
    109   assert_false( foo.classList.contains('token1') );
    110   assert_true( foo.classList.contains('token2') );
    111   assert_true( foo.classList.contains('token3') );
    112   assert_equals( foo.classList.item(0), 'token3' );
    113   assert_equals( foo.classList.item(1), 'token2' );
    114 }, '.replace with an already existing token')
    115 elem.className = 'foo';
    116 test(function () {
    117   assert_equals( getComputedStyle(elem,null).fontStyle, 'italic', 'critical test; required by the testsuite' );
    118 }, 'computed style must update when setting .className');
    119 test(function () {
    120   assert_true( elem.classList.contains('foo') );
    121 }, 'classList.contains must update when .className is changed');
    122 test(function () {
    123   assert_false( elem.classList.contains('FOO') );
    124 }, 'classList.contains must be case sensitive');
    125 test(function () {
    126   assert_false( elem.classList.contains('foo.') );
    127   assert_false( elem.classList.contains('foo)') );
    128   assert_false( elem.classList.contains('foo\'') );
    129   assert_false( elem.classList.contains('foo$') );
    130   assert_false( elem.classList.contains('foo~') );
    131   assert_false( elem.classList.contains('foo?') );
    132   assert_false( elem.classList.contains('foo\\') );
    133 }, 'classList.contains must not match when punctuation characters are added');
    134 test(function () {
    135   elem.classList.add('FOO');
    136   assert_equals( getComputedStyle(elem,null).fontStyle, 'italic' );
    137 }, 'classList.add must not cause the CSS selector to stop matching');
    138 test(function () {
    139   assert_true( elem.classList.contains('foo') );
    140 }, 'classList.add must not remove existing classes');
    141 test(function () {
    142   assert_true( elem.classList.contains('FOO') );
    143 }, 'classList.contains case sensitivity must match a case-specific string');
    144 test(function () {
    145   assert_equals( elem.classList.length, 2 );
    146 }, 'classList.length must correctly reflect the number of tokens');
    147 test(function () {
    148   assert_equals( elem.classList.item(0), 'foo' );
    149 }, 'classList.item(0) must return the first token');
    150 test(function () {
    151   assert_equals( elem.classList.item(1), 'FOO' );
    152 }, 'classList.item must return case-sensitive strings and preserve token order');
    153 test(function () {
    154   assert_equals( elem.classList[0], 'foo' );
    155 }, 'classList[0] must return the first token');
    156 test(function () {
    157   assert_equals( elem.classList[1], 'FOO' );
    158 }, 'classList[index] must return case-sensitive strings and preserve token order');
    159 test(function () {
    160   /* the normative part of the spec states that:
    161   "The object's supported property indices are the numbers in the range zero to the number of tokens in tokens minus one"
    162   ...
    163   "The term[...] supported property indices [is] used as defined in the WebIDL specification."
    164   WebIDL creates actual OwnProperties and then [] just acts as a normal property lookup */
    165   assert_equals( elem.classList[2], undefined );
    166 }, 'classList[index] must still be undefined for out-of-range index when earlier indexes exist');
    167 test(function () {
    168   assert_equals( elem.className, 'foo FOO' );
    169 }, 'className must update correctly when items have been added through classList');
    170 test(function () {
    171   assert_equals( elem.classList + '', 'foo FOO', 'implicit' );
    172   assert_equals( elem.classList.toString(), 'foo FOO', 'explicit' );
    173 }, 'classList must stringify correctly when items have been added');
    174 test(function () {
    175   elem.classList.add('foo');
    176   assert_equals( elem.classList.length, 2 );
    177   assert_equals( elem.classList + '', 'foo FOO', 'implicit' );
    178   assert_equals( elem.classList.toString(), 'foo FOO', 'explicit' );
    179 }, 'classList.add should not add a token if it already exists');
    180 test(function () {
    181   elem.classList.remove('bar');
    182   assert_equals( elem.classList.length, 2 );
    183   assert_equals( elem.classList + '', 'foo FOO', 'implicit' );
    184   assert_equals( elem.classList.toString(), 'foo FOO', 'explicit' );
    185 }, 'classList.remove removes arguments passed, if they are present.');
    186 test(function () {
    187   elem.classList.remove('foo');
    188   assert_equals( elem.classList.length, 1 );
    189   assert_equals( elem.classList + '', 'FOO', 'implicit' );
    190   assert_equals( elem.classList.toString(), 'FOO', 'explicit' );
    191   assert_false( elem.classList.contains('foo') );
    192   assert_true( elem.classList.contains('FOO') );
    193 }, 'classList.remove must remove existing tokens');
    194 test(function () {
    195   assert_not_equals( getComputedStyle(elem,null).fontStyle, 'italic' );
    196 }, 'classList.remove must not break case-sensitive CSS selector matching');
    197 test(function () {
    198   secondelem.classList.remove('test');
    199   assert_equals( secondelem.classList.length, 0 );
    200   assert_false( secondelem.classList.contains('test') );
    201 }, 'classList.remove must remove duplicated tokens');
    202 test(function () {
    203   secondelem.className = 'token1 token2 token3';
    204   secondelem.classList.remove('token2');
    205   assert_equals( secondelem.classList + '', 'token1 token3', 'implicit' );
    206   assert_equals( secondelem.classList.toString(), 'token1 token3', 'explicit' );
    207 }, 'classList.remove must collapse whitespace around removed tokens');
    208 test(function () {
    209   secondelem.className = ' token1 token2  ';
    210   secondelem.classList.remove('token2');
    211   assert_equals( secondelem.classList + '', 'token1', 'implicit' );
    212   assert_equals( secondelem.classList.toString(), 'token1', 'explicit' );
    213 }, 'classList.remove must collapse whitespaces around each token');
    214 test(function () {
    215   secondelem.className = '  token1  token2  token1  ';
    216   secondelem.classList.remove('token2');
    217   assert_equals( secondelem.classList + '', 'token1', 'implicit' );
    218   assert_equals( secondelem.classList.toString(), 'token1', 'explicit' );
    219 }, 'classList.remove must collapse whitespaces around each token and remove duplicates');
    220 test(function () {
    221   secondelem.className = '  token1  token2  token1  ';
    222   secondelem.classList.remove('token1');
    223   assert_equals( secondelem.classList + '', 'token2', 'implicit' );
    224   assert_equals( secondelem.classList.toString(), 'token2', 'explicit' );
    225 }, 'classList.remove must collapse whitespace when removing duplicate tokens');
    226 test(function () {
    227   secondelem.className = '  token1  token1  ';
    228   secondelem.classList.add('token1');
    229   assert_equals( secondelem.classList + '', 'token1', 'implicit' );
    230   assert_equals( secondelem.classList.toString(), 'token1', 'explicit' );
    231 }, 'classList.add must collapse whitespaces and remove duplicates when adding a token that already exists');
    232 test(function () {
    233   assert_true(elem.classList.toggle('foo'));
    234   assert_equals( elem.classList.length, 2 );
    235   assert_true( elem.classList.contains('foo') );
    236   assert_true( elem.classList.contains('FOO') );
    237 }, 'classList.toggle must toggle tokens case-sensitively when adding');
    238 test(function () {
    239   assert_equals( getComputedStyle(elem,null).fontStyle, 'italic' );
    240 }, 'classList.toggle must not break case-sensitive CSS selector matching');
    241 test(function () {
    242   assert_false(elem.classList.toggle('foo'));
    243 }, 'classList.toggle must be able to remove tokens');
    244 test(function () {
    245   //will return true if the last test incorrectly removed both
    246   assert_false(elem.classList.toggle('FOO'));
    247   assert_false( elem.classList.contains('foo') );
    248   assert_false( elem.classList.contains('FOO') );
    249 }, 'classList.toggle must be case-sensitive when removing tokens');
    250 test(function () {
    251   secondelem.className = 'foo FOO'
    252   secondelem.classList.replace('bar', 'baz');
    253   assert_equals( secondelem.classList.length, 2 );
    254   assert_equals( secondelem.classList + '', 'foo FOO', 'implicit' );
    255   assert_equals( secondelem.classList.toString(), 'foo FOO', 'explicit' );
    256 }, 'classList.replace replaces arguments passed, if they are present.');
    257 test(function () {
    258   secondelem.classList.replace('foo', 'bar');
    259   assert_equals( secondelem.classList.length, 2 );
    260   assert_equals( secondelem.classList + '', 'bar FOO', 'implicit' );
    261   assert_equals( secondelem.classList.toString(), 'bar FOO', 'explicit' );
    262   assert_false( secondelem.classList.contains('foo') );
    263   assert_true( secondelem.classList.contains('bar') );
    264   assert_true( secondelem.classList.contains('FOO') );
    265 }, 'classList.replace must replace existing tokens');
    266 test(function () {
    267   assert_not_equals( getComputedStyle(secondelem,null).fontStyle, 'italic' );
    268 }, 'classList.replace must not break case-sensitive CSS selector matching');
    269 test(function () {
    270   secondelem.className = 'token1 token2 token1'
    271   secondelem.classList.replace('token1', 'token3');
    272   assert_equals( secondelem.classList.length, 2 );
    273   assert_false( secondelem.classList.contains('token1') );
    274   assert_true( secondelem.classList.contains('token2') );
    275   assert_true( secondelem.classList.contains('token3') );
    276 }, 'classList.replace must replace duplicated tokens');
    277 test(function () {
    278   secondelem.className = 'token1  token2  token3';
    279   secondelem.classList.replace('token2', 'token4');
    280   assert_equals( secondelem.classList + '', 'token1 token4 token3', 'implicit' );
    281   assert_equals( secondelem.classList.toString(), 'token1 token4 token3', 'explicit' );
    282 }, 'classList.replace must collapse whitespace around replaced tokens');
    283 test(function () {
    284   secondelem.className = ' token1 token2  ';
    285   secondelem.classList.replace('token2', 'token3');
    286   assert_equals( secondelem.classList.length, 2 );
    287   assert_equals( secondelem.classList + '', 'token1 token3', 'implicit' );
    288   assert_equals( secondelem.classList.toString(), 'token1 token3', 'explicit' );
    289 }, 'classList.replace must collapse whitespaces around each token');
    290 test(function () {
    291   secondelem.className = '  token1  token2  token1  ';
    292   secondelem.classList.replace('token2', 'token3');
    293   assert_equals( secondelem.classList + '', 'token1 token3', 'implicit' );
    294   assert_equals( secondelem.classList.toString(), 'token1 token3', 'explicit' );
    295 }, 'classList.replace must collapse whitespaces around each token and remove duplicates');
    296 test(function () {
    297   secondelem.className = '  token1  token2  token1  ';
    298   secondelem.classList.replace('token1', 'token3');
    299   assert_equals( secondelem.classList + '', 'token3 token2', 'implicit' );
    300   assert_equals( secondelem.classList.toString(), 'token3 token2', 'explicit' );
    301 }, 'classList.replace must collapse whitespace when replacing duplicate tokens');
    302 test(function () {
    303   assert_not_equals( getComputedStyle(elem,null).fontStyle, 'italic' );
    304 }, 'CSS class selectors must stop matching when all classes have been removed');
    305 test(function () {
    306   assert_equals( elem.className, '' );
    307 }, 'className must be empty when all classes have been removed');
    308 test(function () {
    309   assert_equals( elem.classList + '', '', 'implicit' );
    310   assert_equals( elem.classList.toString(), '', 'explicit' );
    311 }, 'classList must stringify to an empty string when all classes have been removed');
    312 test(function () {
    313   assert_equals( elem.classList.item(0), null );
    314 }, 'classList.item(0) must return null when all classes have been removed');
    315 test(function () {
    316   /* the normative part of the spec states that:
    317   "unless the length is zero, in which case there are no supported property indices"
    318   ...
    319   "The term[...] supported property indices [is] used as defined in the WebIDL specification."
    320   WebIDL creates actual OwnProperties and then [] just acts as a normal property lookup */
    321   assert_equals( elem.classList[0], undefined );
    322 }, 'classList[0] must be undefined when all classes have been removed');
    323 test(function () {
    324   var foo = document.createElement('div');
    325   foo.classList.add();
    326   assert_true( foo.hasAttribute('class') );
    327   assert_equals( foo.classList + '', '', 'implicit' );
    328   assert_equals( foo.classList.toString(), '', 'explicit' );
    329 }, 'Invoking add or remove should set the class attribute');
    330 // The ordered set parser must skip ASCII whitespace (U+0009, U+000A, U+000C, U+000D, and U+0020.)
    331 test(function () {
    332   var foo = document.createElement('div');
    333   foo.className = 'a ';
    334   foo.classList.add('b');
    335   assert_equals(foo.className,'a b');
    336 }, 'classList.add should treat " " as a space');
    337 test(function () {
    338   var foo = document.createElement('div');
    339   foo.className = 'a\t';
    340   foo.classList.add('b');
    341   assert_equals(foo.className,'a b');
    342 }, 'classList.add should treat \\t as a space');
    343 test(function () {
    344   var foo = document.createElement('div');
    345   foo.className = 'a\r';
    346   foo.classList.add('b');
    347   assert_equals(foo.className,'a b');
    348 }, 'classList.add should treat \\r as a space');
    349 test(function () {
    350   var foo = document.createElement('div');
    351   foo.className = 'a\n';
    352   foo.classList.add('b');
    353   assert_equals(foo.className,'a b');
    354 }, 'classList.add should treat \\n as a space');
    355 test(function () {
    356   var foo = document.createElement('div');
    357   foo.className = 'a\f';
    358   foo.classList.add('b');
    359   assert_equals(foo.className,'a b');
    360 }, 'classList.add should treat \\f as a space');
    361 test(function () {
    362   //WebIDL and ECMAScript 5 - a readonly property has a getter but not a setter
    363   //ES5 makes [[Put]] fail but not throw
    364   var failed = false;
    365   secondelem.className = 'token1';
    366   try {
    367     secondelem.classList.length = 0;
    368   } catch(e) {
    369     failed = e;
    370   }
    371   assert_equals(secondelem.classList.length,1);
    372   assert_false(failed,'an error was thrown');
    373 }, 'classList.length must be read-only');
    374 test(function () {
    375   var realList = secondelem.classList;
    376   secondelem.classList = 'foo bar';
    377   assert_equals(secondelem.classList,realList);
    378   assert_equals(secondelem.classList.length,2);
    379   assert_equals(secondelem.classList[0],'foo');
    380   assert_equals(secondelem.classList[1],'bar');
    381 }, 'classList must have [PutForwards=value]');
    382 test(function () {
    383   var foo = document.createElement('div');
    384   foo.className = 'a';
    385   foo.classList.replace('token1', 'token2');
    386 
    387   assert_equals(foo.className, 'a');
    388 
    389   foo.classList.replace('a', 'b');
    390   assert_equals(foo.className, 'b');
    391 
    392   assert_throws('SYNTAX_ERR', function () { foo.classList.replace('t with space', '') });
    393   assert_throws('INVALID_CHARACTER_ERR', function () { foo.classList.replace('t with space', 'foo') });
    394   assert_throws('SYNTAX_ERR', function () { foo.classList.replace('', 'foo') });
    395 }, 'classList.replace should work');
    396 
    397 test(function() {
    398   var foo = document.createElement('div');
    399   assert_throws(new TypeError(),
    400                 function() { foo.classList.supports('hello') });
    401 }, 'classList.supports should throw');
    402     </script>
    403   </head>
    404   <body>
    405 
    406     <div id="log"></div>
    407 
    408   </body>
    409 </html>
     2<meta charset=utf-8>
     3<title>Test for the classList element attribute</title>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
     6<div id="content"></div>
     7<script>
     8const SVG_NS = "http://www.w3.org/2000/svg";
     9const XHTML_NS = "http://www.w3.org/1999/xhtml"
     10const MATHML_NS = "http://www.w3.org/1998/Math/MathML";
     11
     12function setClass(e, newVal) {
     13  if (newVal === null) {
     14    e.removeAttribute("class");
     15  } else {
     16    e.setAttribute("class", newVal);
     17  }
     18}
     19
     20function checkModification(e, funcName, args, expectedRes, before, after,
     21                           expectedException, desc) {
     22  if (!Array.isArray(args)) {
     23    args = [args];
     24  }
     25
     26  test(function() {
     27    var shouldThrow = typeof(expectedException) === "string";
     28    if (shouldThrow) {
     29      // If an exception is thrown, the class attribute shouldn't change.
     30      after = before;
     31    }
     32    setClass(e, before);
     33
     34    if (shouldThrow) {
     35      assert_throws(expectedException, function() {
     36        var list = e.classList;
     37        var res = list[funcName].apply(list, args);
     38      });
     39    } else {
     40      var list = e.classList;
     41      var res = list[funcName].apply(list, args);
     42    }
     43    if (!shouldThrow) {
     44      assert_equals(res, expectedRes, "wrong return value");
     45    }
     46
     47    var expectedAfter = after;
     48
     49    assert_equals(e.getAttribute("class"), expectedAfter,
     50                  "wrong class after modification");
     51  }, "classList." + funcName + "(" + args.map(format_value).join(", ") +
     52  ") with attribute value " + format_value(before) + desc);
     53}
     54
     55function assignToClassListStrict(e) {
     56  "use strict";
     57  e.classList = "foo";
     58  e.removeAttribute("class");
     59}
     60
     61function assignToClassList(e) {
     62  var expect = e.classList;
     63  e.classList = "foo";
     64  assert_equals(e.classList, expect,
     65                "classList should be unchanged after assignment");
     66  e.removeAttribute("class");
     67}
     68
     69function testClassList(e, desc) {
     70
     71  // assignment
     72
     73  test(function() {
     74    assignToClassListStrict(e);
     75    assignToClassList(e);
     76  }, "Assigning to classList" + desc);
     77
     78  // supports
     79  test(function() {
     80    assert_throws(TypeError(), function() {
     81      e.classList.supports("a");
     82    })
     83  }, ".supports() must throw TypeError" + desc);
     84
     85  // length attribute
     86
     87  function checkLength(value, length) {
     88    test(function() {
     89      setClass(e, value);
     90      assert_equals(e.classList.length, length);
     91    }, "classList.length when " +
     92    (value === null ? "removed" : "set to " + format_value(value)) + desc);
     93  }
     94
     95  checkLength(null, 0);
     96  checkLength("", 0);
     97  checkLength("   \t  \f", 0);
     98  checkLength("a", 1);
     99  checkLength("a A", 2);
     100  checkLength("\r\na\t\f", 1);
     101  checkLength("a a", 1);
     102  checkLength("a a a a a a", 1);
     103  checkLength("a a b b", 2);
     104  checkLength("a A B b", 4);
     105  checkLength("a b c c b a a b c c", 3);
     106  checkLength("   a  a b", 2);
     107  checkLength("a\tb\nc\fd\re f", 6);
     108
     109  // [Stringifies]
     110
     111  function checkStringifier(value, expected) {
     112    test(function() {
     113      setClass(e, value);
     114      assert_equals(e.classList.toString(), expected);
     115    }, "classList.toString() when " +
     116    (value === null ? "removed" : "set to " + format_value(value)) + desc);
     117  }
     118
     119  checkStringifier(null, "");
     120  checkStringifier("foo", "foo");
     121  checkStringifier("   a  a b", "   a  a b");
     122
     123  // item() method
     124
     125  function checkItems(attributeValue, expectedValues) {
     126    function checkItemFunction(index, expected) {
     127      assert_equals(e.classList.item(index), expected,
     128                    "classList.item(" + index + ")");
     129    }
     130
     131    function checkItemArray(index, expected) {
     132      assert_equals(e.classList[index], expected, "classList[" + index + "]");
     133    }
     134
     135    test(function() {
     136      setClass(e, attributeValue);
     137
     138      checkItemFunction(-1, null);
     139      checkItemArray(-1, undefined);
     140
     141      var i = 0;
     142      while (i < expectedValues.length) {
     143        checkItemFunction(i, expectedValues[i]);
     144        checkItemArray(i, expectedValues[i]);
     145        i++;
     146      }
     147
     148      checkItemFunction(i, null);
     149      checkItemArray(i, undefined);
     150
     151      checkItemFunction(0xffffffff, null);
     152      checkItemArray(0xffffffff, undefined);
     153
     154      checkItemFunction(0xfffffffe, null);
     155      checkItemArray(0xfffffffe, undefined);
     156    }, "classList.item() when set to " + format_value(attributeValue) + desc);
     157  }
     158
     159  checkItems(null, []);
     160  checkItems("a", ["a"]);
     161  checkItems("aa AA aa", ["aa", "AA"]);
     162  checkItems("a b", ["a", "b"]);
     163  checkItems("   a  a b", ["a", "b"]);
     164  checkItems("\t\n\f\r a\t\n\f\r b\t\n\f\r ", ["a", "b"]);
     165
     166  // contains() method
     167
     168  function checkContains(attributeValue, args, expectedRes) {
     169    if (!Array.isArray(expectedRes)) {
     170      expectedRes = Array(args.length).fill(expectedRes);
     171    }
     172    setClass(e, attributeValue);
     173    for (var i = 0; i < args.length; i++) {
     174      test(function() {
     175        assert_equals(e.classList.contains(args[i]), expectedRes[i],
     176                      "classList.contains(\"" + args[i] + "\")");
     177      }, "classList.contains(" + format_value(args[i]) + ") when set to " +
     178      format_value(attributeValue) + desc);
     179    }
     180  }
     181
     182  checkContains(null, ["a", "", "  "], false);
     183  checkContains("", ["a"], false);
     184
     185  checkContains("a", ["a"], true);
     186  checkContains("a", ["aa", "b", "A", "a.", "a)",, "a'", 'a"', "a$", "a~",
     187                      "a?", "a\\"], false);
     188
     189  // All "ASCII whitespace" per spec, before and after
     190  checkContains("a", ["a\t", "\ta", "a\n", "\na", "a\f", "\fa", "a\r", "\ra",
     191                      "a ", " a"], false);
     192
     193  checkContains("aa AA", ["aa", "AA", "aA"], [true, true, false]);
     194  checkContains("a a a", ["a", "aa", "b"], [true, false, false]);
     195  checkContains("a b c", ["a", "b"], true);
     196
     197  checkContains("null undefined", [null, undefined], true);
     198  checkContains("\t\n\f\r a\t\n\f\r b\t\n\f\r ", ["a", "b"], true);
     199
     200  // add() method
     201
     202  function checkAdd(before, argument, after, expectedException) {
     203    checkModification(e, "add", argument, undefined, before, after,
     204                      expectedException, desc);
     205    // Also check force toggle
     206    // XXX https://github.com/whatwg/dom/issues/443
     207    //if (!Array.isArray(argument)) {
     208    //  checkModification(e, "toggle", [argument, true], true, before, after,
     209    //                    expectedException);
     210    //}
     211  }
     212
     213  checkAdd(null, "", null, "SyntaxError");
     214  checkAdd(null, ["a", ""], null, "SyntaxError");
     215  checkAdd(null, " ", null, "InvalidCharacterError");
     216  checkAdd(null, "\ta", null, "InvalidCharacterError");
     217  checkAdd(null, "a\t", null, "InvalidCharacterError");
     218  checkAdd(null, "\na", null, "InvalidCharacterError");
     219  checkAdd(null, "a\n", null, "InvalidCharacterError");
     220  checkAdd(null, "\fa", null, "InvalidCharacterError");
     221  checkAdd(null, "a\f", null, "InvalidCharacterError");
     222  checkAdd(null, "\ra", null, "InvalidCharacterError");
     223  checkAdd(null, "a\r", null, "InvalidCharacterError");
     224  checkAdd(null, " a", null, "InvalidCharacterError");
     225  checkAdd(null, "a ", null, "InvalidCharacterError");
     226  checkAdd(null, ["a", " "], null, "InvalidCharacterError");
     227  checkAdd(null, ["a", "aa "], null, "InvalidCharacterError");
     228
     229  checkAdd("a", "a", "a");
     230  checkAdd("aa", "AA", "aa AA");
     231  checkAdd("a b c", "a", "a b c");
     232  checkAdd("a a a  b", "a", "a b");
     233  checkAdd(null, "a", "a");
     234  checkAdd("", "a", "a");
     235  checkAdd(" ", "a", "a");
     236  checkAdd("   \f", "a", "a");
     237  checkAdd("a", "b", "a b");
     238  checkAdd("a b c", "d", "a b c d");
     239  checkAdd("a b c ", "d", "a b c d");
     240  checkAdd("   a  a b", "c", "a b c");
     241  checkAdd("   a  a b", "a", "a b");
     242  checkAdd("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "c", "a b c");
     243
     244  // multiple add
     245  checkAdd("a b c ", ["d", "e"], "a b c d e");
     246  checkAdd("a b c ", ["a", "a"], "a b c");
     247  checkAdd("a b c ", ["d", "d"], "a b c d");
     248  checkAdd("a b c a ", [], "a b c");
     249  checkAdd(null, ["a", "b"], "a b");
     250  checkAdd("", ["a", "b"], "a b");
     251
     252  checkAdd(null, null, "null");
     253  checkAdd(null, undefined, "undefined");
     254
     255  // remove() method
     256
     257  function checkRemove(before, argument, after, expectedException) {
     258    checkModification(e, "remove", argument, undefined, before, after,
     259                      expectedException, desc);
     260    // Also check force toggle
     261    // XXX https://github.com/whatwg/dom/issues/443
     262    //if (!Array.isArray(argument)) {
     263    //  checkModification(e, "toggle", [argument, false], false, before, after,
     264    //                    expectedException);
     265    //}
     266  }
     267
     268  checkRemove(null, "", null, "SyntaxError");
     269  checkRemove(null, " ", null, "InvalidCharacterError");
     270  checkRemove("\ta", "\ta", "\ta", "InvalidCharacterError");
     271  checkRemove("a\t", "a\t", "a\t", "InvalidCharacterError");
     272  checkRemove("\na", "\na", "\na", "InvalidCharacterError");
     273  checkRemove("a\n", "a\n", "a\n", "InvalidCharacterError");
     274  checkRemove("\fa", "\fa", "\fa", "InvalidCharacterError");
     275  checkRemove("a\f", "a\f", "a\f", "InvalidCharacterError");
     276  checkRemove("\ra", "\ra", "\ra", "InvalidCharacterError");
     277  checkRemove("a\r", "a\r", "a\r", "InvalidCharacterError");
     278  checkRemove(" a", " a", " a", "InvalidCharacterError");
     279  checkRemove("a ", "a ", "a ", "InvalidCharacterError");
     280  checkRemove("aa ", "aa ", null, "InvalidCharacterError");
     281
     282  checkRemove(null, "a", null);
     283  checkRemove("", "a", "");
     284  checkRemove("a b  c", "d", "a b c");
     285  checkRemove("a b  c", "A", "a b c");
     286  checkRemove(" a a a ", "a", "");
     287  checkRemove("a  b", "a", "b");
     288  checkRemove("a  b  ", "a", "b");
     289  checkRemove("a a b", "a", "b");
     290  checkRemove("aa aa bb", "aa", "bb");
     291  checkRemove("a a b a a c a a", "a", "b c");
     292
     293  checkRemove("a  b  c", "b", "a c");
     294  checkRemove("aaa  bbb  ccc", "bbb", "aaa ccc");
     295  checkRemove(" a  b  c ", "b", "a c");
     296  checkRemove("a b b b c", "b", "a c");
     297
     298  checkRemove("a  b  c", "c", "a b");
     299  checkRemove(" a  b  c ", "c", "a b");
     300  checkRemove("a b c c c", "c", "a b");
     301
     302  checkRemove("a b a c a d a", "a", "b c d");
     303  checkRemove("AA BB aa CC AA dd aa", "AA", "BB aa CC dd");
     304
     305  checkRemove("\ra\na\ta\f", "a", "");
     306  checkRemove("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "a", "b");
     307
     308  // multiple remove
     309  checkRemove("a b c ", ["d", "e"], "a b c");
     310  checkRemove("a b c ", ["a", "b"], "c");
     311  checkRemove("a b c ", ["a", "c"], "b");
     312  checkRemove("a b c ", ["a", "a"], "b c");
     313  checkRemove("a b c ", ["d", "d"], "a b c");
     314  checkRemove("a b c ", [], "a b c");
     315  checkRemove(null, ["a", "b"], null);
     316  checkRemove("", ["a", "b"], "");
     317  checkRemove("a a", [], "a");
     318
     319  checkRemove("null", null, "");
     320  checkRemove("undefined", undefined, "");
     321
     322  // toggle() method
     323
     324  function checkToggle(before, argument, expectedRes, after, expectedException) {
     325    checkModification(e, "toggle", argument, expectedRes, before, after,
     326                      expectedException, desc);
     327  }
     328
     329  checkToggle(null, "", null, null, "SyntaxError");
     330  checkToggle(null, "aa ", null, null, "InvalidCharacterError");
     331
     332  checkToggle(null, "a", true, "a");
     333  checkToggle("", "a", true, "a");
     334  checkToggle(" ", "a", true, "a");
     335  checkToggle("   \f", "a", true, "a");
     336  checkToggle("a", "b", true, "a b");
     337  checkToggle("a", "A", true, "a A");
     338  checkToggle("a b c", "d", true, "a b c d");
     339  checkToggle("   a  a b", "d", true, "a b d");
     340
     341  checkToggle("a", "a", false, "");
     342  checkToggle(" a a a ", "a", false, "");
     343  checkToggle(" A A A ", "a", true, "A a");
     344  checkToggle(" a b c ", "b", false, "a c");
     345  checkToggle(" a b c b b", "b", false, "a c");
     346  checkToggle(" a b  c  ", "c", false, "a b");
     347  checkToggle(" a b c ", "a", false, "b c");
     348  checkToggle("   a  a b", "b", false, "a");
     349  checkToggle("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "a", false, "b");
     350  checkToggle("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "c", true, "a b c");
     351
     352  checkToggle("null", null, false, "");
     353  checkToggle("", null, true, "null");
     354  checkToggle("undefined", undefined, false, "");
     355  checkToggle("", undefined, true, "undefined");
     356
     357
     358  // tests for the force argument handling
     359  // XXX Remove these if https://github.com/whatwg/dom/issues/443 is fixed
     360
     361  function checkForceToggle(before, argument, force, expectedRes, after, expectedException) {
     362    checkModification(e, "toggle", [argument, force], expectedRes, before,
     363                      after, expectedException, desc);
     364  }
     365
     366  checkForceToggle("", "a", true, true, "a");
     367  checkForceToggle("a", "a", true, true, "a");
     368  checkForceToggle("a", "b", true, true, "a b");
     369  checkForceToggle("a b", "b", true, true, "a b");
     370  checkForceToggle("", "a", false, false, "");
     371  checkForceToggle("a", "a", false, false, "");
     372  checkForceToggle("a", "b", false, false, "a");
     373  checkForceToggle("a b", "b", false, false, "a");
     374
     375
     376  // replace() method
     377  function checkReplace(before, token, newToken, after, expectedException) {
     378    checkModification(e, "replace", [token, newToken], undefined, before,
     379                      after, expectedException, desc);
     380  }
     381
     382  checkReplace(null, "", "a", null, "SyntaxError");
     383  checkReplace(null, "", " ", null, "SyntaxError");
     384  checkReplace(null, " ", "a", null, "InvalidCharacterError");
     385  checkReplace(null, "\ta", "b", null, "InvalidCharacterError");
     386  checkReplace(null, "a\t", "b", null, "InvalidCharacterError");
     387  checkReplace(null, "\na", "b", null, "InvalidCharacterError");
     388  checkReplace(null, "a\n", "b", null, "InvalidCharacterError");
     389  checkReplace(null, "\fa", "b", null, "InvalidCharacterError");
     390  checkReplace(null, "a\f", "b", null, "InvalidCharacterError");
     391  checkReplace(null, "\ra", "b", null, "InvalidCharacterError");
     392  checkReplace(null, "a\r", "b", null, "InvalidCharacterError");
     393  checkReplace(null, " a", "b", null, "InvalidCharacterError");
     394  checkReplace(null, "a ", "b", null, "InvalidCharacterError");
     395
     396  checkReplace(null, "a", "", null, "SyntaxError");
     397  checkReplace(null, " ", "", null, "SyntaxError");
     398  checkReplace(null, "a", " ", null, "InvalidCharacterError");
     399  checkReplace(null, "b", "\ta", null, "InvalidCharacterError");
     400  checkReplace(null, "b", "a\t", null, "InvalidCharacterError");
     401  checkReplace(null, "b", "\na", null, "InvalidCharacterError");
     402  checkReplace(null, "b", "a\n", null, "InvalidCharacterError");
     403  checkReplace(null, "b", "\fa", null, "InvalidCharacterError");
     404  checkReplace(null, "b", "a\f", null, "InvalidCharacterError");
     405  checkReplace(null, "b", "\ra", null, "InvalidCharacterError");
     406  checkReplace(null, "b", "a\r", null, "InvalidCharacterError");
     407  checkReplace(null, "b", " a", null, "InvalidCharacterError");
     408  checkReplace(null, "b", "a ", null, "InvalidCharacterError");
     409
     410  checkReplace("a", "a", "a", "a");
     411  checkReplace("a", "a", "b", "b");
     412  checkReplace("a", "A", "b", "a");
     413  checkReplace("a b", "b", "A", "a A");
     414  checkReplace("a b c", "d", "e", "a b c");
     415  // https://github.com/whatwg/dom/issues/443
     416  checkReplace("a a a  b", "a", "a", "a b");
     417  checkReplace("a a a  b", "c", "d", "a a a  b");
     418  checkReplace(null, "a", "b", null);
     419  checkReplace("", "a", "b", "");
     420  checkReplace(" ", "a", "b", " ");
     421  checkReplace(" a  \f", "a", "b", "b");
     422  checkReplace("a b c", "b", "d", "a d c");
     423  // https://github.com/whatwg/dom/issues/442
     424  // Implementations agree on the first one here, so I test it, but disagree on
     425  // the second, so no test until the spec decides what to say.
     426  checkReplace("a b c", "c", "a", "a b");
     427  checkReplace("c b a", "c", "a", "a b");
     428  checkReplace("a b a", "a", "c", "c b");
     429  checkReplace("a b a", "b", "c", "a c");
     430  checkReplace("   a  a b", "a", "c", "c b");
     431  checkReplace("   a  a b", "b", "c", "a c");
     432  checkReplace("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "a", "c", "c b");
     433  checkReplace("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "b", "c", "a c");
     434
     435  checkReplace("a null", null, "b", "a b");
     436  checkReplace("a b", "a", null, "null b");
     437  checkReplace("a undefined", undefined, "b", "a b");
     438  checkReplace("a b", "a", undefined, "undefined b");
     439}
     440
     441var content = document.getElementById("content");
     442
     443var htmlNode = document.createElement("div");
     444content.appendChild(htmlNode);
     445testClassList(htmlNode, " (HTML node)");
     446
     447var xhtmlNode = document.createElementNS(XHTML_NS, "div");
     448content.appendChild(xhtmlNode);
     449testClassList(xhtmlNode, " (XHTML node)");
     450
     451var mathMLNode = document.createElementNS(MATHML_NS, "math");
     452content.appendChild(mathMLNode);
     453testClassList(mathMLNode, " (MathML node)");
     454
     455var xmlNode = document.createElementNS(null, "foo");
     456content.appendChild(xmlNode);
     457testClassList(xmlNode, " (XML node with null namespace)");
     458
     459var fooNode = document.createElementNS("http://example.org/foo", "foo");
     460content.appendChild(fooNode);
     461testClassList(fooNode, " (foo node)");
     462</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-closest.html

    r215701 r217225  
    22<meta charset=utf8>
    33<title>Test for Element.closest</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<body id="body">
    77  <div id="test8" class="div3" style="display:none">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml

    r215701 r217225  
    88<head>
    99<title>Entity References</title>
    10 <script src="../../../../../resources/testharness.js"></script>
    11 <script src="../../../../../resources/testharnessreport.js"></script>
     10<script src="/resources/testharness.js"></script>
     11<script src="/resources/testharnessreport.js"></script>
    1212</head>
    1313<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml

    r215701 r217225  
    44<head>
    55<title>firstElementChild with namespaces</title>
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88</head>
    99<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>firstElementChild with namespaces</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of firstElementChild with namespaces</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>firstElementChild</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>firstElementChild</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of firstElementChild</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-getElementsByClassName.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Element.getElementsByClassName</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<iframe src="Element-getElementsByTagName-change-document-HTMLNess-iframe.xml"></iframe>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-getElementsByTagName.html

    r215701 r217225  
    33<title>Element.getElementsByTagName</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-element-getelementsbytagname">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Document-Element-getElementsByTagName.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-getElementsByTagNameNS.html

    r215701 r217225  
    33<title>Element.getElementsByTagNameNS</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-element-getelementsbytagnamens">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Document-Element-getElementsByTagNameNS.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-hasAttributes.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title></title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<body>
    77
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66
    77<div id="target"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-insertAdjacentText.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<body style="visibility:hidden">
    77<div id="target"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>firstElementChild</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>lastElementChild</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of lastElementChild</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches-expected.txt

    r213882 r217225  
    140140PASS In-document Element.matches: :nth-of-type selector, matching every second element of their type (with no refNodes): #pseudo-nth-p1 :nth-of-type(2n)
    141141PASS In-document Element.matches: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with no refNodes): #pseudo-nth-p1 span:nth-of-type(2n-1)
    142 PASS In-document Element.matches: :nth-last-of-type selector, matching the thrid last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
     142PASS In-document Element.matches: :nth-last-of-type selector, matching the third last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
    143143PASS In-document Element.matches: :nth-last-of-type selector, matching every second last element of their type (with no refNodes): #pseudo-nth-p1 :nth-last-of-type(2n)
    144144PASS In-document Element.matches: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with no refNodes): #pseudo-nth-p1 span:nth-last-of-type(2n-1)
     
    307307PASS Detached Element.matches: :nth-of-type selector, matching every second element of their type (with no refNodes): #pseudo-nth-p1 :nth-of-type(2n)
    308308PASS Detached Element.matches: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with no refNodes): #pseudo-nth-p1 span:nth-of-type(2n-1)
    309 PASS Detached Element.matches: :nth-last-of-type selector, matching the thrid last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
     309PASS Detached Element.matches: :nth-last-of-type selector, matching the third last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
    310310PASS Detached Element.matches: :nth-last-of-type selector, matching every second last element of their type (with no refNodes): #pseudo-nth-p1 :nth-last-of-type(2n)
    311311PASS Detached Element.matches: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with no refNodes): #pseudo-nth-p1 span:nth-last-of-type(2n-1)
     
    469469PASS Fragment Element.matches: :nth-of-type selector, matching every second element of their type (with no refNodes): #pseudo-nth-p1 :nth-of-type(2n)
    470470PASS Fragment Element.matches: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with no refNodes): #pseudo-nth-p1 span:nth-of-type(2n-1)
    471 PASS Fragment Element.matches: :nth-last-of-type selector, matching the thrid last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
     471PASS Fragment Element.matches: :nth-last-of-type selector, matching the third last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
    472472PASS Fragment Element.matches: :nth-last-of-type selector, matching every second last element of their type (with no refNodes): #pseudo-nth-p1 :nth-last-of-type(2n)
    473473PASS Fragment Element.matches: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with no refNodes): #pseudo-nth-p1 span:nth-last-of-type(2n-1)
     
    631631PASS In-document Element.matches: :nth-of-type selector, matching every second element of their type (with refNode Element): :nth-of-type(2n)
    632632PASS In-document Element.matches: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with refNode Element): span:nth-of-type(2n-1)
    633 PASS In-document Element.matches: :nth-last-of-type selector, matching the thrid last em element (with refNode Element): em:nth-last-of-type(3)
     633PASS In-document Element.matches: :nth-last-of-type selector, matching the third last em element (with refNode Element): em:nth-last-of-type(3)
    634634PASS In-document Element.matches: :nth-last-of-type selector, matching every second last element of their type (with refNode Element): :nth-last-of-type(2n)
    635635PASS In-document Element.matches: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with refNode Element): span:nth-last-of-type(2n-1)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html

    r215701 r217225  
    33<title>Selectors-API Level 2 Test Suite: HTML with Selectors Level 3</title>
    44<!--  Selectors API Test Suite Version 3  -->
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="/dom/nodes/selectors.js"></script>
    88<script src="/dom/nodes/ParentNode-querySelector-All.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>nextElementSibling</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>nextElementSibling</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of nextElementSibling</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>previousElementSibling</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>previousElementSibling</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of previousElementSibling</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-remove.html

    r215701 r217225  
    33<title>Element.remove</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-childnode-remove">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="ChildNode-remove.js"></script>
    88<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-removeAttributeNS.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Element.removeAttributeNS</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<script src="attributes.js"></script>
    66<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>Null Test</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Null test</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>Test of previousElementSibling and nextElementSibling returning null</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-tagName.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Element.tagName</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt

    r213882 r217225  
    140140PASS In-document Element.webkitMatchesSelector: :nth-of-type selector, matching every second element of their type (with no refNodes): #pseudo-nth-p1 :nth-of-type(2n)
    141141PASS In-document Element.webkitMatchesSelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with no refNodes): #pseudo-nth-p1 span:nth-of-type(2n-1)
    142 PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching the thrid last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
     142PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching the third last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
    143143PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type (with no refNodes): #pseudo-nth-p1 :nth-last-of-type(2n)
    144144PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with no refNodes): #pseudo-nth-p1 span:nth-last-of-type(2n-1)
     
    307307PASS Detached Element.webkitMatchesSelector: :nth-of-type selector, matching every second element of their type (with no refNodes): #pseudo-nth-p1 :nth-of-type(2n)
    308308PASS Detached Element.webkitMatchesSelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with no refNodes): #pseudo-nth-p1 span:nth-of-type(2n-1)
    309 PASS Detached Element.webkitMatchesSelector: :nth-last-of-type selector, matching the thrid last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
     309PASS Detached Element.webkitMatchesSelector: :nth-last-of-type selector, matching the third last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
    310310PASS Detached Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type (with no refNodes): #pseudo-nth-p1 :nth-last-of-type(2n)
    311311PASS Detached Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with no refNodes): #pseudo-nth-p1 span:nth-last-of-type(2n-1)
     
    469469PASS Fragment Element.webkitMatchesSelector: :nth-of-type selector, matching every second element of their type (with no refNodes): #pseudo-nth-p1 :nth-of-type(2n)
    470470PASS Fragment Element.webkitMatchesSelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with no refNodes): #pseudo-nth-p1 span:nth-of-type(2n-1)
    471 PASS Fragment Element.webkitMatchesSelector: :nth-last-of-type selector, matching the thrid last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
     471PASS Fragment Element.webkitMatchesSelector: :nth-last-of-type selector, matching the third last em element (with no refNodes): #pseudo-nth-p1 em:nth-last-of-type(3)
    472472PASS Fragment Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type (with no refNodes): #pseudo-nth-p1 :nth-last-of-type(2n)
    473473PASS Fragment Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with no refNodes): #pseudo-nth-p1 span:nth-last-of-type(2n-1)
     
    631631PASS In-document Element.webkitMatchesSelector: :nth-of-type selector, matching every second element of their type (with refNode Element): :nth-of-type(2n)
    632632PASS In-document Element.webkitMatchesSelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first (with refNode Element): span:nth-of-type(2n-1)
    633 PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching the thrid last em element (with refNode Element): em:nth-last-of-type(3)
     633PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching the third last em element (with refNode Element): em:nth-last-of-type(3)
    634634PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type (with refNode Element): :nth-last-of-type(2n)
    635635PASS In-document Element.webkitMatchesSelector: :nth-last-of-type selector, matching every second last element of their type, starting from the last (with refNode Element): span:nth-last-of-type(2n-1)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html

    r215701 r217225  
    33<title>Selectors-API Level 2 Test Suite: HTML with Selectors Level 3</title>
    44<!--  Selectors API Test Suite Version 3  -->
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="/dom/nodes/selectors.js"></script>
    88<script src="/dom/nodes/ParentNode-querySelector-All.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-attributes.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: attributes mutations</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="mutationobservers.js"></script>
    77<h1>MutationObservers: attributes mutations</h1>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-characterData.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: characterData mutations</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="mutationobservers.js"></script>
    77<h1>MutationObservers: characterData mutations</h1>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-childList.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: childList mutations</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="mutationobservers.js"></script>
    77<h1>MutationObservers: childList mutations</h1>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-disconnect.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: disconnect</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<h1>MutationObservers: disconnect</h1>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-document.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: takeRecords</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="mutationobservers.js"></script>
    77<h1>MutationObservers: document mutations</h1>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-inner-outer.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: innerHTML, outerHTML mutations</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="mutationobservers.js"></script>
    77<h1>MutationObservers: innerHTML, outerHTML mutations</h1>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/MutationObserver-takeRecords.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>MutationObservers: takeRecords</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="mutationobservers.js"></script>
    77<h1>MutationObservers: takeRecords</h1>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-appendChild.html

    r215701 r217225  
    33<title>Node.appendChild</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-node-appendchild">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<iframe src=about:blank></iframe>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-baseURI.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.baseURI</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-childNodes.html

    r215701 r217225  
    55<link rel=author title="Tim Taubert" href="mailto:ttaubert@mozilla.com">
    66<link rel=author title="Ms2ger" href="mailto:Ms2ger@gmail.com">
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<div id="log"></div>
    1010<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode.html

    r215701 r217225  
    33<title>Node.cloneNode</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-node-clonenode">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id=log></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-compareDocumentPosition.html

    r215701 r217225  
    33<link rel=author title="Aryeh Gregor" href=ayg@aryeh.name>
    44<div id=log></div>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<script src=../common.js></script>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-constants.html

    r215701 r217225  
    11<!doctype html>
    22<title>Node constants</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<script src="../constants.js"></script>
    66<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-contains-xml.xml

    r215701 r217225  
    55<link rel="author" title="Olli Pettay" href="mailto:Olli@Pettay.fi"/>
    66<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99</head>
    1010<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-contains.html

    r215701 r217225  
    33<link rel=author title="Aryeh Gregor" href=ayg@aryeh.name>
    44<div id=log></div>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<script src=../common.js></script>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-insertBefore.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.insertBefore</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-isConnected.html

    r215701 r217225  
    44<title>Node.prototype.isConnected</title>
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-node-isconnected">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88</head>
    99<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-isEqualNode-xhtml.xhtml

    r215701 r217225  
    22<head>
    33<title>Node.isEqualNode</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66</head>
    77<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-isEqualNode.html

    r215701 r217225  
    33<title>Node.prototype.isEqualNode</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-node-isequalnode">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-isSameNode.html

    r215701 r217225  
    33<title>Node.prototype.isSameNode</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-node-issamenode">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88"use strict";
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-lookupNamespaceURI.html

    r215701 r217225  
    33<head>
    44<title>LookupNamespaceURI and IsDefaultNamespace tests</title>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-lookupPrefix.xhtml

    r215701 r217225  
    22<head>
    33<title>Node.lookupPrefix</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66</head>
    77<body xmlns:s="test">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-nodeName-xhtml.xhtml

    r215701 r217225  
    33<head>
    44<title>Node.nodeName</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-nodeName.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.nodeName</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-nodeValue.html

    r215701 r217225  
    33<title>Node.nodeValue</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-node-nodevalue">
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<div id=log></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-normalize.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.normalize()</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-parentElement.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.parentElement</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-parentNode.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.parentNode</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<div id="log"></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-properties.html

    r215701 r217225  
    44<meta charset=utf-8>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-removeChild.html

    r215701 r217225  
    11<!DOCTYPE html>
    22<title>Node.removeChild</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<script src="creators.js"></script>
    66<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-replaceChild.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Node.replaceChild</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<body><a><b></b><c></c></a>
    77<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-textContent.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title>Node.textContent</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<div id="log"></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title>NodeList Iterable Test</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66    <p id="1"></p>
    77    <p id="2"></p>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-append.html

    r215701 r217225  
    33<title>ParentNode.append</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-parentnode-append">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-prepend.html

    r215701 r217225  
    33<title>ParentNode.prepend</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-parentnode-prepend">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt

    r207995 r217225  
    452452PASS Document.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    453453PASS Document.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    454 PASS Document.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    455 PASS Document.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     454PASS Document.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     455PASS Document.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    456456PASS Document.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    457457PASS Document.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
     
    878878PASS Detached Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    879879PASS Detached Element.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    880 PASS Detached Element.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    881 PASS Detached Element.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     880PASS Detached Element.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     881PASS Detached Element.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    882882PASS Detached Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    883883PASS Detached Element.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
     
    13021302PASS Fragment.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    13031303PASS Fragment.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    1304 PASS Fragment.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    1305 PASS Fragment.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1304PASS Fragment.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1305PASS Fragment.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    13061306PASS Fragment.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    13071307PASS Fragment.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
     
    17261726PASS In-document Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    17271727PASS In-document Element.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    1728 PASS In-document Element.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    1729 PASS In-document Element.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1728PASS In-document Element.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1729PASS In-document Element.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    17301730PASS In-document Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    17311731PASS In-document Element.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt

    r207995 r217225  
    452452PASS Document.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    453453PASS Document.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    454 PASS Document.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    455 PASS Document.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     454PASS Document.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     455PASS Document.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    456456PASS Document.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    457457PASS Document.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
     
    878878PASS Detached Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    879879PASS Detached Element.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    880 PASS Detached Element.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    881 PASS Detached Element.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     880PASS Detached Element.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     881PASS Detached Element.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    882882PASS Detached Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    883883PASS Detached Element.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
     
    13021302PASS Fragment.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    13031303PASS Fragment.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    1304 PASS Fragment.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    1305 PASS Fragment.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1304PASS Fragment.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1305PASS Fragment.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    13061306PASS Fragment.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    13071307PASS Fragment.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
     
    17261726PASS In-document Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    17271727PASS In-document Element.querySelector: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)
    1728 PASS In-document Element.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    1729 PASS In-document Element.querySelector: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1728PASS In-document Element.querySelectorAll: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
     1729PASS In-document Element.querySelector: :nth-last-of-type selector, matching the third last em element: #pseudo-nth-p1 em:nth-last-of-type(3)
    17301730PASS In-document Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
    17311731PASS In-document Element.querySelector: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht.xht

    r215701 r217225  
    33<head id="head">
    44<title>Selectors-API Test Suite: XHTML</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="selectors.js"></script>
    88<script src="ParentNode-querySelector-All.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All.html

    r215701 r217225  
    22<meta charset="UTF-8">
    33<title>Selectors-API Test Suite: HTML</title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<script src="selectors.js"></script>
    77<script src="ParentNode-querySelector-All.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml

    r215701 r217225  
    88<link rel="help" href="https://dom.spec.whatwg.org/#dom-processinginstruction-target"/>
    99<link rel="help" href="https://dom.spec.whatwg.org/#dom-characterdata-data"/>
    10 <script src="../../../../../resources/testharness.js"></script>
    11 <script src="../../../../../resources/testharnessreport.js"></script>
     10<script src="/resources/testharness.js"></script>
     11<script src="/resources/testharnessreport.js"></script>
    1212</head>
    1313<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ProcessingInstruction-literal-1.xhtml

    r215701 r217225  
    33<head>
    44<title>&lt;?xml?> is not a ProcessingInstruction</title>
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77</head>
    88<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ProcessingInstruction-literal-2.xhtml

    r215701 r217225  
    55<link rel="help" href="https://dom.spec.whatwg.org/#dom-processinginstruction-target"/>
    66<link rel="help" href="https://dom.spec.whatwg.org/#dom-characterdata-data"/>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99</head>
    1010<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Text-constructor.html

    r215701 r217225  
    33<title>Text constructor</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-text">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script src="Comment-Text-constructor.js"></script>
    88<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Text-splitText.html

    r215701 r217225  
    33<title>Text.splitText()</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-text-splittextoffset">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id="log"></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/append-on-Document.html

    r215701 r217225  
    33<title>DocumentType.append</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-parentnode-append">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/attributes.html

    r215701 r217225  
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-element-setattribute">
    66<link rel=help href="https://dom.spec.whatwg.org/#dom-element-setattributens">
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="attributes.js"></script>
    1010<script src="productions.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/case.html

    r215701 r217225  
    1313<link rel=help href="https://dom.spec.whatwg.org/#dom-element-getelementsbytagnamens">
    1414<script>var is_html = true;</script>
    15 <script src="../../../../../resources/testharness.js"></script>
    16 <script src="../../../../../resources/testharnessreport.js"></script>
     15<script src="/resources/testharness.js"></script>
     16<script src="/resources/testharnessreport.js"></script>
    1717<script src="case.js"></script>
    1818<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-01.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): simple</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-02.htm

    r215701 r217225  
    44 <head>
    55  <title>document.getElementsByClassName(): also simple</title>
    6   <script src="../../../../../resources/testharness.js"></script>
    7   <script src="../../../../../resources/testharnessreport.js"></script>
     6  <script src="/resources/testharness.js"></script>
     7  <script src="/resources/testharnessreport.js"></script>
    88 </head>
    99 <body class="a
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-03.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): changing classes</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-04.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): changing classes</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-05.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): changing classes</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-06.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): adding element with class</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-07.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): multiple classes</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a b">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-08.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): multiple classes</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-09.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): case sensitive</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-10.xml

    r215701 r217225  
    22 <head>
    33  <title>document.getElementsByClassName(): compound</title>
    4   <script src="../../../../../resources/testharness.js"></script>
    5   <script src="../../../../../resources/testharnessreport.js"></script>
     4  <script src="/resources/testharness.js"></script>
     5  <script src="/resources/testharnessreport.js"></script>
    66 </head>
    77 <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-11.xml

    r215701 r217225  
    22 <head>
    33  <title>document.getElementsByClassName(): "tricky" compound</title>
    4   <script src="../../../../../resources/testharness.js"></script>
    5   <script src="../../../../../resources/testharnessreport.js"></script>
     4  <script src="/resources/testharness.js"></script>
     5  <script src="/resources/testharnessreport.js"></script>
    66 </head>
    77 <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-12.htm

    r215701 r217225  
    33 <head>
    44  <title>element.getElementsByClassName(): simple</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-13.htm

    r215701 r217225  
    33 <head>
    44  <title>element.getElementsByClassName(): adding an element</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-14.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(): case-insensitive (quirks mode)</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-15.htm

    r215701 r217225  
    44 <head>
    55  <title>document.getElementsByClassName(array): "a\n"</title>
    6   <script src="../../../../../resources/testharness.js"></script>
    7   <script src="../../../../../resources/testharnessreport.js"></script>
     6  <script src="/resources/testharness.js"></script>
     7  <script src="/resources/testharnessreport.js"></script>
    88 </head>
    99 <body class="a
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-16.htm

    r215701 r217225  
    44 <head>
    55  <title>document.getElementsByClassName(array): "b","a"</title>
    6   <script src="../../../../../resources/testharness.js"></script>
    7   <script src="../../../../../resources/testharnessreport.js"></script>
     6  <script src="/resources/testharness.js"></script>
     7  <script src="/resources/testharnessreport.js"></script>
    88 </head>
    99 <body class="b,a">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-17.htm

    r215701 r217225  
    33 <head>
    44  <title>document.getElementsByClassName(array): "b a"</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a b">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-18.htm

    r215701 r217225  
    33 <head>
    44  <title>element.getElementsByClassName(array): "a", "b"</title>
    5   <script src="../../../../../resources/testharness.js"></script>
    6   <script src="../../../../../resources/testharnessreport.js"></script>
     5  <script src="/resources/testharness.js"></script>
     6  <script src="/resources/testharnessreport.js"></script>
    77 </head>
    88 <body class="a,b x">
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-19.htm

    r215701 r217225  
    44    <meta content="get elements in document" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-20.htm

    r215701 r217225  
    44        <meta content="get elements in document then add element to collection" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-21.htm

    r215701 r217225  
    44        <meta content="delete element from collection" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-22.htm

    r215701 r217225  
    44        <meta content="move item in collection order" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-23.htm

    r215701 r217225  
    44        <meta content="multiple defined classes" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-24.htm

    r215701 r217225  
    55        <meta content="handle unicode chars" name="description">
    66    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    7     <script src="../../../../../resources/testharness.js"></script>
    8     <script src="../../../../../resources/testharnessreport.js"></script>
     7    <script src="/resources/testharness.js"></script>
     8    <script src="/resources/testharnessreport.js"></script>
    99</head>
    1010    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-25.htm

    r215701 r217225  
    44        <meta content="verify spacing is handled correctly" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-26.htm

    r215701 r217225  
    44        <meta content="multiple class attributes" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-27.htm

    r215701 r217225  
    44        <meta content="generic element listed" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-28.htm

    r215701 r217225  
    44        <meta content="generic element listed" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-29.htm

    r215701 r217225  
    44    <meta content="get class from children of element" name="description">
    55    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    6     <script src="../../../../../resources/testharness.js"></script>
    7     <script src="../../../../../resources/testharnessreport.js"></script>
     6    <script src="/resources/testharness.js"></script>
     7    <script src="/resources/testharnessreport.js"></script>
    88</head>
    99    <body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-30.htm

    r215701 r217225  
    77        <script class="foo"></script>
    88        <style class="foo"></style>
    9     <script src="../../../../../resources/testharness.js"></script>
    10     <script src="../../../../../resources/testharnessreport.js"></script>
     9    <script src="/resources/testharness.js"></script>
     10    <script src="/resources/testharnessreport.js"></script>
    1111    <link href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname" rel="help">
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/getElementsByClassName-31.htm

    r215701 r217225  
    44<title>getElementsByClassName across documents</title>
    55<link rel=help href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname">
    6 <script src="../../../../../resources/testharness.js"></script>
    7 <script src="../../../../../resources/testharnessreport.js"></script>
     6<script src="/resources/testharness.js"></script>
     7<script src="/resources/testharnessreport.js"></script>
    88<div id=log></div>
    99<script class=foo>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/insert-adjacent.html

    r215701 r217225  
    22<meta charset="utf-8">
    33<title></title>
    4 <script src="../../../../../resources/testharness.js"></script>
    5 <script src="../../../../../resources/testharnessreport.js"></script>
     4<script src="/resources/testharness.js"></script>
     5<script src="/resources/testharnessreport.js"></script>
    66<style>
    77#element {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/mutationobservers.js

    r189471 r217225  
    22// mutationToCheck is a mutation record from the user agent
    33// expectedRecord is a mutation record minted by the test
    4 //    for expectedRecord, if properties are ommitted, they get default ones
     4//    for expectedRecord, if properties are omitted, they get default ones
    55function checkRecords(target, mutationToCheck, expectedRecord) {
    66  var mr1;
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/prepend-on-Document.html

    r215701 r217225  
    33<title>DocumentType.prepend</title>
    44<link rel=help href="https://dom.spec.whatwg.org/#dom-parentnode-prepend">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<script>
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/remove-unscopable.html

    r215701 r217225  
    22<meta charset=utf-8>
    33<title></title>
    4 <script src=../../../../../resources/testharness.js></script>
    5 <script src=../../../../../resources/testharnessreport.js></script>
     4<script src=/resources/testharness.js></script>
     5<script src=/resources/testharnessreport.js></script>
    66<div id="testDiv" onclick="result1 = remove; result2 = this.remove;"></div>
    77<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode.html

    r215701 r217225  
    55<title>Node.prototype.getRootNode()</title>
    66<link rel="help" href="https://dom.spec.whatwg.org/#dom-node-getrootnode">
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99</head>
    1010<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/selectors.js

    r206999 r217225  
    173173
    174174  // - :nth-last-of-type(n)  (Level 3)
    175   {name: ":nth-last-of-type selector, matching the thrid last em element", selector: "#pseudo-nth-p1 em:nth-last-of-type(3)",      expect: ["pseudo-nth-em2"],                                                                                 level: 3, testType: TEST_QSA | TEST_MATCH},
     175  {name: ":nth-last-of-type selector, matching the third last em element", selector: "#pseudo-nth-p1 em:nth-last-of-type(3)",      expect: ["pseudo-nth-em2"],                                                                                 level: 3, testType: TEST_QSA | TEST_MATCH},
    176176  {name: ":nth-last-of-type selector, matching every second last element of their type", selector: "#pseudo-nth-p1 :nth-last-of-type(2n)",       expect: ["pseudo-nth-span1", "pseudo-nth-em1", "pseudo-nth-strong1", "pseudo-nth-em3", "pseudo-nth-span3"], level: 3, testType: TEST_QSA | TEST_MATCH},
    177177  {name: ":nth-last-of-type selector, matching every second last element of their type, starting from the last", selector: "#pseudo-nth-p1 span:nth-last-of-type(2n-1)", expect: ["pseudo-nth-span2", "pseudo-nth-span4"],                                                           level: 3, testType: TEST_QSA | TEST_MATCH},
     
    542542
    543543  // - :nth-last-of-type(n)  (Level 3)
    544   {name: ":nth-last-of-type selector, matching the thrid last em element",                                       selector: "em:nth-last-of-type(3)",      ctx: "#pseudo-nth-p1", expect: ["pseudo-nth-em2"],                                                                                 level: 3, testType: TEST_FIND | TEST_MATCH},
     544  {name: ":nth-last-of-type selector, matching the third last em element",                                       selector: "em:nth-last-of-type(3)",      ctx: "#pseudo-nth-p1", expect: ["pseudo-nth-em2"],                                                                                 level: 3, testType: TEST_FIND | TEST_MATCH},
    545545  {name: ":nth-last-of-type selector, matching every second last element of their type",                         selector: ":nth-last-of-type(2n)",       ctx: "#pseudo-nth-p1", expect: ["pseudo-nth-span1", "pseudo-nth-em1", "pseudo-nth-strong1", "pseudo-nth-em3", "pseudo-nth-span3"], level: 3, testType: TEST_FIND | TEST_MATCH},
    546546  {name: ":nth-last-of-type selector, matching every second last element of their type, starting from the last", selector: "span:nth-last-of-type(2n-1)", ctx: "#pseudo-nth-p1", expect: ["pseudo-nth-span2", "pseudo-nth-span4"],                                                           level: 3, testType: TEST_FIND | TEST_MATCH},
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/w3c-import.log

    r216354 r217225  
    6565/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-literal.html
    6666/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-remove.html
    67 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null-svg.svg
    6867/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null-xhtml.xhtml
    6968/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null.html
    70 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg
    7169/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml
    7270/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.html
    73 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg
    7471/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml
    7572/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.html
    76 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild-svg.svg
    7773/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml
    7874/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild.html
    79 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-svg.svg
    8075/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-xhtml.xhtml
    8176/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount.html
     
    8479/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-closest.html
    8580/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml
    86 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-entity.svg
    87 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace-svg.svg
    8881/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml
    8982/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace.html
    90 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-svg.svg
    9183/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml
    9284/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild.html
     
    9991/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html
    10092/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-insertAdjacentText.html
    101 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild-svg.svg
    10293/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild-xhtml.xhtml
    10394/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild.html
    10495/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html
    10596/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.js
    106 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling-svg.svg
    10797/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml
    10898/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling.html
    109 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling-svg.svg
    11099/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml
    111100/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling.html
    112101/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-remove.html
    113102/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-removeAttributeNS.html
    114 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null-svg.svg
    115103/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml
    116104/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-attributes.html

    r215701 r217225  
    33<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
    44<meta name=timeout content=long>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<div id=log></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-cloneContents.html

    r215701 r217225  
    77iframe in the DOM.
    88<div id=log></div>
    9 <script src=../../../../../resources/testharness.js></script>
    10 <script src=../../../../../resources/testharnessreport.js></script>
     9<script src=/resources/testharness.js></script>
     10<script src=/resources/testharnessreport.js></script>
    1111<script src=../common.js></script>
    1212<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-cloneRange.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-collapse.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-commonAncestorContainer-2.html

    r215701 r217225  
    11<!doctype html>
    22<title>Range.commonAncestorContainer</title>
    3 <script src=../../../../../resources/testharness.js></script>
    4 <script src=../../../../../resources/testharnessreport.js></script>
     3<script src=/resources/testharness.js></script>
     4<script src=/resources/testharnessreport.js></script>
    55<div id=log></div>
    66<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-commonAncestorContainer.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src=../../../../../resources/testharness.js></script>
    8 <script src=../../../../../resources/testharnessreport.js></script>
     7<script src=/resources/testharness.js></script>
     8<script src=/resources/testharnessreport.js></script>
    99<script src=../common.js></script>
    1010<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-comparePoint-2.html

    r215701 r217225  
    33<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
    44<meta name=timeout content=long>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<div id=log></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-comparePoint.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-constructor.html

    r215701 r217225  
    33<link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name>
    44<div id=log></div>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<script>
    88"use strict";
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-deleteContents.html

    r215701 r217225  
    77iframe in the DOM.
    88<div id=log></div>
    9 <script src=../../../../../resources/testharness.js></script>
    10 <script src=../../../../../resources/testharnessreport.js></script>
     9<script src=/resources/testharness.js></script>
     10<script src=/resources/testharnessreport.js></script>
    1111<script src=../common.js></script>
    1212<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-detach.html

    r215701 r217225  
    33<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
    44<meta name=timeout content=long>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<div id=log></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-extractContents.html

    r215701 r217225  
    77iframe in the DOM.
    88<div id=log></div>
    9 <script src=../../../../../resources/testharness.js></script>
    10 <script src=../../../../../resources/testharnessreport.js></script>
     9<script src=/resources/testharness.js></script>
     10<script src=/resources/testharnessreport.js></script>
    1111<script src=../common.js></script>
    1212<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-insertNode.html

    r215701 r217225  
    77iframes in the DOM.
    88<div id=log></div>
    9 <script src=../../../../../resources/testharness.js></script>
    10 <script src=../../../../../resources/testharnessreport.js></script>
     9<script src=/resources/testharness.js></script>
     10<script src=/resources/testharnessreport.js></script>
    1111<script src=../common.js></script>
    1212<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-intersectsNode-binding.html

    r215701 r217225  
    33<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
    44<meta name=timeout content=long>
    5 <script src=../../../../../resources/testharness.js></script>
    6 <script src=../../../../../resources/testharnessreport.js></script>
     5<script src=/resources/testharness.js></script>
     6<script src=/resources/testharnessreport.js></script>
    77<div id=log></div>
    88<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-intersectsNode.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-isPointInRange.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-dataChange.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-deleteData.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-insertBefore.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-insertData.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-removeChild.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-replaceChild.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-replaceData.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-splitText.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src="../../../../../resources/testharness.js"></script>
    8 <script src="../../../../../resources/testharnessreport.js"></script>
     7<script src="/resources/testharness.js"></script>
     8<script src="/resources/testharnessreport.js"></script>
    99<script src="../common.js"></script>
    1010<script src="Range-mutations.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-selectNode.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-set.html

    r215701 r217225  
    55
    66<div id=log></div>
    7 <script src=../../../../../resources/testharness.js></script>
    8 <script src=../../../../../resources/testharnessreport.js></script>
     7<script src=/resources/testharness.js></script>
     8<script src=/resources/testharnessreport.js></script>
    99<script src=../common.js></script>
    1010<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-stringifier.html

    r215701 r217225  
    33<title>Range stringifier</title>
    44<link rel="author" title="KiChjang" href="mailto:kungfukeith11@gmail.com">
    5 <script src="../../../../../resources/testharness.js"></script>
    6 <script src="../../../../../resources/testharnessreport.js"></script>
     5<script src="/resources/testharness.js"></script>
     6<script src="/resources/testharnessreport.js"></script>
    77<div id=test>Test div</div>
    88<div id=another>Another div</div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-surroundContents.html

    r215701 r217225  
    88iframes in the DOM.
    99<div id=log></div>
    10 <script src=../../../../../resources/testharness.js></script>
    11 <script src=../../../../../resources/testharnessreport.js></script>
     10<script src=/resources/testharness.js></script>
     11<script src=/resources/testharnessreport.js></script>
    1212<script src=../common.js></script>
    1313<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeFilter-constants.html

    r215701 r217225  
    11<!doctype html>
    22<title>NodeFilter constants</title>
    3 <script src="../../../../../resources/testharness.js"></script>
    4 <script src="../../../../../resources/testharnessreport.js"></script>
     3<script src="/resources/testharness.js"></script>
     4<script src="/resources/testharnessreport.js"></script>
    55<script src="../constants.js"></script>
    66<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeIterator-removal.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeIterator.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: acceptNode-filter</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: Basic test</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-currentNode.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: currentNode</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: previousNodeLastChildReject</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: previousSiblingLastChildSkip</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: traversal-reject</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: traversal-skip-most</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: traversal-skip</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html

    r215701 r217225  
    66<head>
    77<title>TreeWalker: walking-outside-a-tree</title>
    8 <script src="../../../../../resources/testharness.js"></script>
    9 <script src="../../../../../resources/testharnessreport.js"></script>
     8<script src="/resources/testharness.js"></script>
     9<script src="/resources/testharnessreport.js"></script>
    1010<script src="traversal-support.js"></script>
    1111<div id=log></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker.html

    r215701 r217225  
    44<meta name=timeout content=long>
    55<div id=log></div>
    6 <script src=../../../../../resources/testharness.js></script>
    7 <script src=../../../../../resources/testharnessreport.js></script>
     6<script src=/resources/testharness.js></script>
     7<script src=/resources/testharnessreport.js></script>
    88<script src=../common.js></script>
    99<script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
     18/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-internal-subset.html
    1819/LayoutTests/imported/w3c/web-platform-tests/domparsing/OWNERS
    1920/LayoutTests/imported/w3c/web-platform-tests/domparsing/createContextualFragment.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/resources/drm-retrieve-persistent-license.html

    r207660 r217225  
    4444        function onTimeupdate(event) {
    4545            if ( config.video.currentTime > ( config.duration || 1 ) ) {
     46                config.video.removeEventListener('timeupdate', onTimeupdate);
    4647                config.video.pause();
     48
     49                _mediaKeySession.closed
     50                    .then(onComplete)
     51                    .catch(onFailure);
    4752                _mediaKeySession.close()
     53                    .catch(onFailure);
    4854            }
    4955        }
     
    5460        }).then(function(mediaKeys) {
    5561            config.video.setMediaKeys(mediaKeys);
    56             config.video.addEventListener('timeupdate', onTimeupdate, true);
     62            config.video.addEventListener('timeupdate', onTimeupdate);
    5763            _mediaKeySession = mediaKeys.createSession( 'persistent-license' );
    58             _mediaKeySession.closed.then(onComplete);
    5964            return _mediaKeySession.load(event.data.sessionId);
    6065        }).then(function( success ) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js

    r209861 r217225  
    2121            _events = [ ];
    2222
    23         function recordEventFunc( eventType ) {
    24             return function() { _events.push( eventType ); };
     23        function recordEventFunc(eventType) {
     24            return function() { _events.push(eventType); };
     25        }
     26
     27        function recordEventFuncAndCheckExpirationForNaN(eventType) {
     28            return function() {
     29                _events.push(eventType);
     30                assert_equals(_mediaKeySession.expiration, NaN);
     31            };
    2532        }
    2633
     
    4855                return _mediaKeySession.update(response);
    4956            }).then(test.step_func(function() {
    50                 _events.push('update-resolved');
     57                _events.push(event.messageType + '-response-resolved');
    5158                if (event.messageType === 'license-release') {
    52                     checkEventSequence( _events,
    53                                     ['generaterequest',
    54                                         ['license-request', 'license-request-response', 'update-resolved'], // potentially repeating
    55                                         'keystatuseschange',
    56                                         'playing',
    57                                         'remove-resolved',
    58                                         'keystatuseschange',
    59                                         'license-release',
    60                                         'license-release-response',
    61                                         'closed-attribute-resolved',
    62                                         'update-resolved' ]);
    63                     test.done();
     59                    test.step_timeout(function() {
     60                        checkEventSequence(_events, [
     61                            'generaterequest',
     62                            [    // potentially repeating
     63                                'license-request',
     64                                'license-request-response',
     65                                'license-request-response-resolved'
     66                            ],
     67                            'keystatuseschange-usablekey',
     68                            'playing',
     69                            'remove-resolved',
     70                            'keystatuseschange-allkeysreleased',
     71                            'license-release',
     72                            'license-release-response',
     73                            'closed-attribute-resolved',
     74                            'license-release-response-resolved',
     75                            'keystatuseschange-empty'
     76                        ]);
     77                        test.done();
     78                    }, 100);
    6479                }
    6580            })).catch(onFailure);
     
    7085            assert_true(event instanceof window.Event);
    7186            assert_equals(event.type, 'keystatuseschange');
    72             _events.push('keystatuseschange');
     87            var hasKeys = false,
     88                usableKey = false;    // true if any key usable.
     89            _mediaKeySession.keyStatuses.forEach(function(value, keyid) {
     90                assert_in_array(value, ['usable', 'released']);
     91                hasKeys = true;
     92                usableKey = usableKey || (value === 'usable');
     93            });
     94
     95            if (!hasKeys) {
     96                _events.push('keystatuseschange-empty');
     97            } else if (usableKey) {
     98                _events.push('keystatuseschange-usablekey');
     99            } else {
     100                _events.push('keystatuseschange-allkeysreleased');
     101            }
    73102        }
    74103
     
    91120
    92121                _startedReleaseSequence = true;
    93                 _mediaKeySession.remove().then(recordEventFunc('remove-resolved')).catch(onFailure);
     122                _mediaKeySession.remove()
     123                    .then(recordEventFuncAndCheckExpirationForNaN('remove-resolved'))
     124                    .catch(onFailure);
    94125            }
    95126        }
     
    113144            waitForEventAndRunStep('keystatuseschange', _mediaKeySession, onKeyStatusesChange, test);
    114145            waitForEventAndRunStep('message', _mediaKeySession, onMessage, test);
    115             _mediaKeySession.closed.then( recordEventFunc( 'closed-attribute-resolved' ) );
     146            _mediaKeySession.closed
     147                .then(recordEventFuncAndCheckExpirationForNaN('closed-attribute-resolved'))
     148                .catch(onFailure);
    116149            return testmediasource(config);
    117150        }).then(function(source) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js

    r207939 r217225  
    5050            // Not using waitForEventAndRunStep() to avoid too many
    5151            // EVENT(onTimeUpdate) logs.
    52             _video.addEventListener('timeupdate', onTimeupdate, true);
     52            _video.addEventListener('timeupdate', onTimeupdate);
    5353        }
    5454
     
    5858                _video.pause();
    5959                _video.removeAttribute('src');
    60                 _video.load()
     60                _video.load();
    6161
    62                 _mediaKeySession.closed.then(test.step_func(onClosed));
    63                 _mediaKeySession.close();
     62                _mediaKeySession.closed
     63                    .then(test.step_func(onClosed))
     64                    .catch(onFailure);
     65                _mediaKeySession.close()
     66                    .catch(onFailure);
    6467            }
    6568        }
     
    6871            // Open a new window in which we will attempt to play with the persisted license
    6972            var win = window.open(config.windowscript);
     73            assert_not_equals(win, null, "Popup windows not allowed?");
    7074
    7175            // Lisen for an event from the new window containing its test assertions
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.js
     18/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/block-mime-as-script.html
    1819/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/conditional-get.html
    1920/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt

    r215540 r217225  
    1111
    1212PASS Redirect 301 in "follow" mode without location
    13 PASS Redirect 301 in "manual" mode without location
     13FAIL Redirect 301 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 301
    1414PASS Redirect 301 in "follow" mode with invalid location
    1515PASS Redirect 301 in "manual" mode with invalid location
     
    1717PASS Redirect 301 in "manual" mode with data location
    1818PASS Redirect 302 in "follow" mode without location
    19 PASS Redirect 302 in "manual" mode without location
     19FAIL Redirect 302 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 302
    2020PASS Redirect 302 in "follow" mode with invalid location
    2121PASS Redirect 302 in "manual" mode with invalid location
     
    2323PASS Redirect 302 in "manual" mode with data location
    2424PASS Redirect 303 in "follow" mode without location
    25 PASS Redirect 303 in "manual" mode without location
     25FAIL Redirect 303 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 303
    2626PASS Redirect 303 in "follow" mode with invalid location
    2727PASS Redirect 303 in "manual" mode with invalid location
     
    2929PASS Redirect 303 in "manual" mode with data location
    3030PASS Redirect 307 in "follow" mode without location
    31 PASS Redirect 307 in "manual" mode without location
     31FAIL Redirect 307 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 307
    3232PASS Redirect 307 in "follow" mode with invalid location
    3333PASS Redirect 307 in "manual" mode with invalid location
     
    3535PASS Redirect 307 in "manual" mode with data location
    3636PASS Redirect 308 in "follow" mode without location
    37 PASS Redirect 308 in "manual" mode without location
     37FAIL Redirect 308 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 308
    3838PASS Redirect 308 in "follow" mode with invalid location
    3939PASS Redirect 308 in "manual" mode with invalid location
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt

    r215540 r217225  
    66
    77PASS Redirect 301 in "follow" mode without location
    8 PASS Redirect 301 in "manual" mode without location
     8FAIL Redirect 301 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 301
    99PASS Redirect 301 in "follow" mode with invalid location
    1010PASS Redirect 301 in "manual" mode with invalid location
     
    1212PASS Redirect 301 in "manual" mode with data location
    1313PASS Redirect 302 in "follow" mode without location
    14 PASS Redirect 302 in "manual" mode without location
     14FAIL Redirect 302 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 302
    1515PASS Redirect 302 in "follow" mode with invalid location
    1616PASS Redirect 302 in "manual" mode with invalid location
     
    1818PASS Redirect 302 in "manual" mode with data location
    1919PASS Redirect 303 in "follow" mode without location
    20 PASS Redirect 303 in "manual" mode without location
     20FAIL Redirect 303 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 303
    2121PASS Redirect 303 in "follow" mode with invalid location
    2222PASS Redirect 303 in "manual" mode with invalid location
     
    2424PASS Redirect 303 in "manual" mode with data location
    2525PASS Redirect 307 in "follow" mode without location
    26 PASS Redirect 307 in "manual" mode without location
     26FAIL Redirect 307 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 307
    2727PASS Redirect 307 in "follow" mode with invalid location
    2828PASS Redirect 307 in "manual" mode with invalid location
     
    3030PASS Redirect 307 in "manual" mode with data location
    3131PASS Redirect 308 in "follow" mode without location
    32 PASS Redirect 308 in "manual" mode without location
     32FAIL Redirect 308 in "manual" mode without location assert_equals: Response's status is 0 expected 0 but got 308
    3333PASS Redirect 308 in "follow" mode with invalid location
    3434PASS Redirect 308 in "manual" mode with invalid location
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.js

    r201324 r217225  
    1515    if (redirectMode === "error" || !shouldPass)
    1616      return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
    17     if (redirectLocation && redirectMode === "manual")
     17    if (redirectMode === "manual")
    1818      return fetch(url + urlParameters, requestInit).then(function(resp) {
    1919        assert_equals(resp.status, 0, "Response's status is 0");
     
    2323      });
    2424
    25     if (redirectMode === "manual" || redirectMode === "follow")
     25    if (redirectMode === "follow")
    2626      return fetch(url + urlParameters, requestInit).then(function(resp) {
    2727        assert_equals(resp.status, redirectStatus, "Response's status is " + redirectStatus);
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-consume-empty-expected.txt

    r210616 r217225  
    33PASS Consume request's body as blob
    44PASS Consume request's body as arrayBuffer
    5 PASS Consume request's body as json
    6 FAIL Consume request's body as formData request.formData is not a function. (In 'request.formData()', 'request.formData' is undefined)
     5PASS Consume request's body as json (error case)
     6FAIL Consume request's body as formData with correct multipart type (error case) request.formData is not a function. (In 'request.formData()', 'request.formData' is undefined)
     7FAIL Consume request's body as formData with correct urlencoded type request.formData is not a function. (In 'request.formData()', 'request.formData' is undefined)
     8FAIL Consume request's body as formData without correct type (error case) request.formData is not a function. (In 'request.formData()', 'request.formData' is undefined)
    79PASS Consume empty blob request body as arrayBuffer
    810PASS Consume empty text request body as arrayBuffer
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-consume-empty.html

    r207939 r217225  
    1212  <body>
    1313    <script>
    14     function checkBodyText(request) {
     14    function checkBodyText(test, request) {
    1515      return request.text().then(function(bodyAsText) {
    1616        assert_equals(bodyAsText, "", "Resolved value should be empty");
     
    1919    }
    2020
    21     function checkBodyBlob(request) {
     21    function checkBodyBlob(test, request) {
    2222      return request.blob().then(function(bodyAsBlob) {
    2323        var promise = new Promise(function(resolve, reject) {
     
    3838    }
    3939
    40     function checkBodyArrayBuffer(request) {
     40    function checkBodyArrayBuffer(test, request) {
    4141      return request.arrayBuffer().then(function(bodyAsArrayBuffer) {
    4242        assert_equals(bodyAsArrayBuffer.byteLength, 0, "Resolved value should be empty");
     
    4545    }
    4646
    47     function checkBodyJSON(request) {
     47    function checkBodyJSON(test, request) {
    4848      return request.json().then(
    4949        function(bodyAsJSON) {
     
    5555    }
    5656
    57     function checkBodyFormData(request) {
     57    function checkBodyFormData(test, request) {
    5858      return request.formData().then(function(bodyAsFormData) {
    5959        assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
     
    6262    }
    6363
    64     function checkRequestWithNoBody(bodyType, checkFunction) {
     64    function checkBodyFormDataError(test, request) {
     65      return promise_rejects(test, new TypeError(), request.formData()).then(function() {
     66        assert_false(request.bodyUsed);
     67      });
     68    }
     69
     70    function checkRequestWithNoBody(bodyType, checkFunction, headers = []) {
    6571      promise_test(function(test) {
    66         var request = new Request("", {"method": "POST"});
     72        var request = new Request("", {"method": "POST", "headers": headers});
    6773        assert_false(request.bodyUsed);
    68         return checkFunction(request);
     74        return checkFunction(test, request);
    6975      }, "Consume request's body as " + bodyType);
    7076    }
    7177
    72     var formData = new FormData();
    7378    checkRequestWithNoBody("text", checkBodyText);
    7479    checkRequestWithNoBody("blob", checkBodyBlob);
    7580    checkRequestWithNoBody("arrayBuffer", checkBodyArrayBuffer);
    76     checkRequestWithNoBody("json", checkBodyJSON);
    77     checkRequestWithNoBody("formData", checkBodyFormData);
     81    checkRequestWithNoBody("json (error case)", checkBodyJSON);
     82    checkRequestWithNoBody("formData with correct multipart type (error case)", checkBodyFormDataError, [["Content-Type", 'multipart/form-data; boundary="boundary"']]);
     83    checkRequestWithNoBody("formData with correct urlencoded type", checkBodyFormData, [["Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"]]);
     84    checkRequestWithNoBody("formData without correct type (error case)", checkBodyFormDataError);
    7885
    7986    function checkRequestWithEmptyBody(bodyType, body, asText) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-error-expected.txt

    r212202 r217225  
    33PASS Input URL is not valid
    44PASS Input URL has credentials
     5PASS RequestInit's mode is navigate
    56PASS RequestInit's referrer is invalid
    67PASS RequestInit's method is invalid
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-error.html

    r212202 r217225  
    2626          "Expect TypeError exception");
    2727      },"Input URL has credentials");
     28
     29      test(function() {
     30        assert_throws(new TypeError() , function() { new Request("", {"mode" : "navigate"}); },
     31          "Expect TypeError exception");
     32      },"RequestInit's mode is navigate");
    2833
    2934      test(function() {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt

    r212202 r217225  
    2525PASS Check mode init value of no-cors and associated getter
    2626PASS Check mode init value of cors and associated getter
    27 FAIL Check mode init value of navigate and associated getter Request constructor does not accept navigate fetch mode.
    2827PASS Check credentials init value of omit and associated getter
    2928PASS Check credentials init value of same-origin and associated getter
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub.html

    r212202 r217225  
    5050                                                  ]
    5151      };
    52       var modes = {"givenValues" : ["same-origin", "no-cors", "cors", "navigate"],
    53                    "expectedValues" : ["same-origin", "no-cors", "cors", "same-origin"]
     52      var modes = {"givenValues" : ["same-origin", "no-cors", "cors"],
     53                   "expectedValues" : ["same-origin", "no-cors", "cors"]
    5454      };
    5555      var credentials = {"givenValues" : ["omit", "same-origin", "include"],
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/w3c-import.log

    r216354 r217225  
    2525/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/preflight.py
    2626/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect.py
     27/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/script-with-header.py
    2728/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/status.py
    2829/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/top.txt
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-empty-expected.txt

    r206632 r217225  
    33PASS Consume response's body as blob
    44PASS Consume response's body as arrayBuffer
    5 PASS Consume response's body as json
    6 FAIL Consume response's body as formData promise_test: Unhandled rejection with value: "Not implemented"
     5PASS Consume response's body as json (error case)
     6FAIL Consume response's body as formData with correct multipart type (error case) assert_throws: function "function () { throw e }" threw "Not implemented" (undefined) expected object "TypeError" ("TypeError")
     7FAIL Consume response's body as formData with correct urlencoded type promise_test: Unhandled rejection with value: "Not implemented"
     8FAIL Consume response's body as formData without correct type (error case) assert_throws: function "function () { throw e }" threw "Not implemented" (undefined) expected object "TypeError" ("TypeError")
    79PASS Consume empty blob response body as arrayBuffer
    810PASS Consume empty text response body as arrayBuffer
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-empty.html

    r206632 r217225  
    1212  <body>
    1313    <script>
    14     function checkBodyText(response) {
     14    function checkBodyText(test, response) {
    1515      return response.text().then(function(bodyAsText) {
    1616        assert_equals(bodyAsText, "", "Resolved value should be empty");
     
    1919    }
    2020
    21     function checkBodyBlob(response) {
     21    function checkBodyBlob(test, response) {
    2222      return response.blob().then(function(bodyAsBlob) {
    2323        var promise = new Promise(function(resolve, reject) {
     
    3838    }
    3939
    40     function checkBodyArrayBuffer(response) {
     40    function checkBodyArrayBuffer(test, response) {
    4141      return response.arrayBuffer().then(function(bodyAsArrayBuffer) {
    4242        assert_equals(bodyAsArrayBuffer.byteLength, 0, "Resolved value should be empty");
     
    4545    }
    4646
    47     function checkBodyJSON(response) {
     47    function checkBodyJSON(test, response) {
    4848      return response.json().then(
    4949        function(bodyAsJSON) {
     
    5555    }
    5656
    57     function checkBodyFormData(response) {
     57    function checkBodyFormData(test, response) {
    5858      return response.formData().then(function(bodyAsFormData) {
    5959        assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
     
    6262    }
    6363
    64     function checkResponseWithNoBody(bodyType, checkFunction) {
     64    function checkBodyFormDataError(test, response) {
     65      return promise_rejects(test, new TypeError(), response.formData()).then(function() {
     66        assert_false(response.bodyUsed);
     67      });
     68    }
     69
     70    function checkResponseWithNoBody(bodyType, checkFunction, headers = []) {
    6571      promise_test(function(test) {
    66         var response = new Response();
     72        var response = new Response(undefined, { "headers": headers });
    6773        assert_false(response.bodyUsed);
    68         return checkFunction(response);
     74        return checkFunction(test, response);
    6975      }, "Consume response's body as " + bodyType);
    7076    }
    7177
    72     var formData = new FormData();
    7378    checkResponseWithNoBody("text", checkBodyText);
    7479    checkResponseWithNoBody("blob", checkBodyBlob);
    7580    checkResponseWithNoBody("arrayBuffer", checkBodyArrayBuffer);
    76     checkResponseWithNoBody("json", checkBodyJSON);
    77     checkResponseWithNoBody("formData", checkBodyFormData);
     81    checkResponseWithNoBody("json (error case)", checkBodyJSON);
     82    checkResponseWithNoBody("formData with correct multipart type (error case)", checkBodyFormDataError, [["Content-Type", 'multipart/form-data; boundary="boundary"']]);
     83    checkResponseWithNoBody("formData with correct urlencoded type", checkBodyFormData, [["Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"]]);
     84    checkResponseWithNoBody("formData without correct type (error case)", checkBodyFormDataError);
    7885
    7986    function checkResponseWithEmptyBody(bodyType, body, asText) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fonts/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/fonts/CanvasTest.sfd
    1817/LayoutTests/imported/w3c/web-platform-tests/fonts/CanvasTest.ttf
    1918/LayoutTests/imported/w3c/web-platform-tests/fonts/OWNERS
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html

    r204844 r217225  
    4848        // coming back from history, scrollRestoration should be set to manual and respected
    4949        assert_equals(iframe.contentWindow.location.href, baseURL + '/resources/page-with-fragment.html#fragment', 'should be back on page-with-fragment page');
    50         iframe.contentWindow.requestAnimationFrame(function() {
     50        iframe.contentWindow.requestAnimationFrame(t.step_func_done(function() {
    5151          assert_equals(iframe.contentWindow.history.scrollRestoration, 'manual', 'navigating back should retain scrollRestoration value');
    5252          assert_equals(iframe.contentWindow.scrollX, 0, 'should not scroll to fragment');
    5353          assert_equals(iframe.contentWindow.scrollY, 0, 'should not scroll to fragment');
    54           t.done();
    55         });
     54        }));
    5655      }
    5756    ];
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log

    r216354 r217225  
    5151/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_replace.html
    5252/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_search.html
     53/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/per-global.window.js
    5354/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/reload_document_open_write-1.html
    5455/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/reload_document_open_write.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain.html
     18/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_iframe.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt

    r207939 r217225  
    112112PASS A SecurityError exception must be thrown when window.setInterval is accessed from a different origin.
    113113PASS A SecurityError exception must be thrown when window.setTimeout is accessed from a different origin.
    114 PASS A SecurityError exception must be thrown when window.showModalDialog is accessed from a different origin.
    115114PASS A SecurityError exception must be thrown when window.stop is accessed from a different origin.
    116115PASS A SecurityError exception should not be thrown when window.closed is accessed from a different origin.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/window-security.html

    r207939 r217225  
    137137      {name: "setInterval", isMethod: true, args:[function () {}, 1]},
    138138      {name: "setTimeout", isMethod: true, args:[function () {}, 1]},
    139       {name: "showModalDialog", isMethod: true, args:["auto:blank", "dialog"]},
    140139      {name: "stop", isMethod: true},
    141140    ].forEach(function (item) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/w3c-import.log

    r215822 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/Document-defaultView.html
    1818/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/Window-document.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/historical.window.js
    1920/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/window-aliases.html
    2021/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/window-indexed-properties-strict.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/window-properties-expected.txt

    r206109 r217225  
    6161PASS Window method: scrollTo
    6262PASS Window method: scrollBy
    63 PASS Window method: showModalDialog
    6463PASS Window readonly attribute: history
    6564PASS Window readonly attribute: frameElement
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/window-properties.html

    r204844 r217225  
    8181  "prompt",
    8282  "print",
    83   // See below: "showModalDialog",
    8483  "postMessage",
    8584
     
    106105  "scrollBy"
    107106];
    108 
    109 // We would like to remove showModalDialog from the platform,
    110 // see <https://www.w3.org/Bugs/Public/show_bug.cgi?id=26437>.
    111 if ("showModalDialog" in window) {
    112   methods.push("showModalDialog");
    113 }
    114107
    115108var readonlyAttributes = [
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt

    r204844 r217225  
    66
    77
    8 PASS rel=noreferrer and reuse of names
     8Harness Error (TIMEOUT), message = null
    99
     10PASS Following a noreferrer link with a named target should not cause creation of a window that can be targeted by another noreferrer link with the same named target
     11PASS Targeting a rel=noreferrer link at an existing named subframe should work
     12TIMEOUT Targeting a rel=noreferrer link at an existing named window should work Test timed out
     13
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name.html

    r213882 r217225  
    3737    hyperlink1.click()
    3838    hyperlink2.click()
    39   })
     39  }, "Following a noreferrer link with a named target should not cause creation of a window that can be targeted by another noreferrer link with the same named target");
     40
     41  async_test(function(t) {
     42    var ifr = document.createElement("iframe");
     43    ifr.name = "sufficientlyrandomwindownameamiright2";
     44    ifr.onload = t.step_func(function() {
     45      var hyperlink = document.body.appendChild(document.createElement("a"));
     46      t.add_cleanup(function() {
     47        hyperlink.remove();
     48      });
     49      hyperlink.rel = "noreferrer";
     50      hyperlink.href = URL.createObjectURL(new Blob(["hello subframe"],
     51                                                    { type: "text/html"}));
     52      hyperlink.target = "sufficientlyrandomwindownameamiright2";
     53      ifr.onload = t.step_func_done(function() {
     54        assert_equals(ifr.contentDocument.documentElement.textContent,
     55                      "hello subframe");
     56      });
     57      hyperlink.click();
     58    });
     59    document.body.appendChild(ifr);
     60    t.add_cleanup(function() {
     61      ifr.remove();
     62    });
     63  }, "Targeting a rel=noreferrer link at an existing named subframe should work");
     64
     65  async_test(function(t) {
     66    var win = window.open("", "sufficientlyrandomwindownameamiright3");
     67    t.add_cleanup(function() {
     68      win.close();
     69    });
     70
     71    var hyperlink = document.body.appendChild(document.createElement("a"));
     72    t.add_cleanup(function() {
     73      hyperlink.remove();
     74    });
     75    hyperlink.rel = "noreferrer";
     76    hyperlink.href = URL.createObjectURL(new Blob(["hello window"],
     77                                                  { type: "text/html"}));
     78    hyperlink.target = "sufficientlyrandomwindownameamiright3";
     79    win.onload = t.step_func_done(function() {
     80      assert_equals(win.document.documentElement.textContent,
     81                    "hello window");
     82    });
     83    hyperlink.click();
     84  }, "Targeting a rel=noreferrer link at an existing named window should work");
    4085</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log

    r216354 r217225  
    4141/LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-05.html
    4242/LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06.html
     43/LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-07.html
     44/LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-08.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-metadata.js

    r210823 r217225  
    1313    rel: "string",
    1414    relList: {type: "tokenlist", domAttrName: "rel"},
    15     // as: {}, XXX TODO: reflecting IDL attribute is an IDL enumeration
     15    as: {
     16      type: "enum",
     17      keywords: ["", "audio", "document", "embed", "font", "image", "manifest", "object", "report", "script", "serviceworker", "sharedworker", "style", "track", "video", "worker", "xslt"],
     18      defaultVal: "",
     19      invalidVal: ""
     20    },
    1621    media: "string",
    1722    nonce: "string",
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html

    r213882 r217225  
    3131}
    3232
    33 function doTest([untested, tested]) {
     33function doTest([html, dom, cssom, uievents, touchevents]) {
    3434  var idlArray = new IdlArray();
    35   idlArray.add_untested_idls(untested);
    36   idlArray.add_idls(tested);
     35  idlArray.add_untested_idls(dom + cssom + uievents + touchevents);
     36  idlArray.add_idls(html);
    3737
    3838  idlArray.add_objects({
     
    228228promise_test(function() {
    229229  // Have to wait for onload
    230   return Promise.all([fetchData("resources/untested-interfaces.idl"),
    231                       fetchData("resources/interfaces.idl"),
     230  return Promise.all([fetchData("/interfaces/html.idl"),
     231                      fetchData("/interfaces/dom.idl"),
     232                      fetchData("/interfaces/cssom.idl"),
     233                      fetchData("/interfaces/touchevents.idl"),
     234                      fetchData("/interfaces/uievents.idl"),
    232235                      waitForLoad()])
    233236                .then(doTest);
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt

    r216347 r217225  
    11441144PASS link.rel: IDL set to object "test-toString"
    11451145PASS link.rel: IDL set to object "test-valueOf"
     1146PASS link.as: typeof IDL attribute
     1147PASS link.as: IDL get with DOM attribute unset
     1148PASS link.as: setAttribute() to ""
     1149FAIL link.as: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " assert_equals: IDL get expected "" but got " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo "
     1150FAIL link.as: setAttribute() to undefined assert_equals: IDL get expected "" but got "undefined"
     1151FAIL link.as: setAttribute() to 7 assert_equals: IDL get expected "" but got "7"
     1152FAIL link.as: setAttribute() to 1.5 assert_equals: IDL get expected "" but got "1.5"
     1153FAIL link.as: setAttribute() to true assert_equals: IDL get expected "" but got "true"
     1154FAIL link.as: setAttribute() to false assert_equals: IDL get expected "" but got "false"
     1155FAIL link.as: setAttribute() to object "[object Object]" assert_equals: IDL get expected "" but got "[object Object]"
     1156FAIL link.as: setAttribute() to NaN assert_equals: IDL get expected "" but got "NaN"
     1157FAIL link.as: setAttribute() to Infinity assert_equals: IDL get expected "" but got "Infinity"
     1158FAIL link.as: setAttribute() to -Infinity assert_equals: IDL get expected "" but got "-Infinity"
     1159FAIL link.as: setAttribute() to "\0" assert_equals: IDL get expected "" but got "\0"
     1160FAIL link.as: setAttribute() to null assert_equals: IDL get expected "" but got "null"
     1161FAIL link.as: setAttribute() to object "test-toString" assert_equals: IDL get expected "" but got "test-toString"
     1162FAIL link.as: setAttribute() to object "test-valueOf" assert_equals: IDL get expected "" but got "test-valueOf"
     1163PASS link.as: setAttribute() to "audio"
     1164FAIL link.as: setAttribute() to "xaudio" assert_equals: IDL get expected "" but got "xaudio"
     1165FAIL link.as: setAttribute() to "audio\0" assert_equals: IDL get expected "" but got "audio\0"
     1166FAIL link.as: setAttribute() to "udio" assert_equals: IDL get expected "" but got "udio"
     1167FAIL link.as: setAttribute() to "AUDIO" assert_equals: IDL get expected "audio" but got "AUDIO"
     1168PASS link.as: setAttribute() to "document"
     1169FAIL link.as: setAttribute() to "xdocument" assert_equals: IDL get expected "" but got "xdocument"
     1170FAIL link.as: setAttribute() to "document\0" assert_equals: IDL get expected "" but got "document\0"
     1171FAIL link.as: setAttribute() to "ocument" assert_equals: IDL get expected "" but got "ocument"
     1172FAIL link.as: setAttribute() to "DOCUMENT" assert_equals: IDL get expected "document" but got "DOCUMENT"
     1173PASS link.as: setAttribute() to "embed"
     1174FAIL link.as: setAttribute() to "xembed" assert_equals: IDL get expected "" but got "xembed"
     1175FAIL link.as: setAttribute() to "embed\0" assert_equals: IDL get expected "" but got "embed\0"
     1176FAIL link.as: setAttribute() to "mbed" assert_equals: IDL get expected "" but got "mbed"
     1177FAIL link.as: setAttribute() to "EMBED" assert_equals: IDL get expected "embed" but got "EMBED"
     1178PASS link.as: setAttribute() to "font"
     1179FAIL link.as: setAttribute() to "xfont" assert_equals: IDL get expected "" but got "xfont"
     1180FAIL link.as: setAttribute() to "font\0" assert_equals: IDL get expected "" but got "font\0"
     1181FAIL link.as: setAttribute() to "ont" assert_equals: IDL get expected "" but got "ont"
     1182FAIL link.as: setAttribute() to "FONT" assert_equals: IDL get expected "font" but got "FONT"
     1183PASS link.as: setAttribute() to "image"
     1184FAIL link.as: setAttribute() to "ximage" assert_equals: IDL get expected "" but got "ximage"
     1185FAIL link.as: setAttribute() to "image\0" assert_equals: IDL get expected "" but got "image\0"
     1186FAIL link.as: setAttribute() to "mage" assert_equals: IDL get expected "" but got "mage"
     1187FAIL link.as: setAttribute() to "IMAGE" assert_equals: IDL get expected "image" but got "IMAGE"
     1188PASS link.as: setAttribute() to "manifest"
     1189FAIL link.as: setAttribute() to "xmanifest" assert_equals: IDL get expected "" but got "xmanifest"
     1190FAIL link.as: setAttribute() to "manifest\0" assert_equals: IDL get expected "" but got "manifest\0"
     1191FAIL link.as: setAttribute() to "anifest" assert_equals: IDL get expected "" but got "anifest"
     1192FAIL link.as: setAttribute() to "MANIFEST" assert_equals: IDL get expected "manifest" but got "MANIFEST"
     1193PASS link.as: setAttribute() to "object"
     1194FAIL link.as: setAttribute() to "xobject" assert_equals: IDL get expected "" but got "xobject"
     1195FAIL link.as: setAttribute() to "object\0" assert_equals: IDL get expected "" but got "object\0"
     1196FAIL link.as: setAttribute() to "bject" assert_equals: IDL get expected "" but got "bject"
     1197FAIL link.as: setAttribute() to "OBJECT" assert_equals: IDL get expected "object" but got "OBJECT"
     1198PASS link.as: setAttribute() to "report"
     1199FAIL link.as: setAttribute() to "xreport" assert_equals: IDL get expected "" but got "xreport"
     1200FAIL link.as: setAttribute() to "report\0" assert_equals: IDL get expected "" but got "report\0"
     1201FAIL link.as: setAttribute() to "eport" assert_equals: IDL get expected "" but got "eport"
     1202FAIL link.as: setAttribute() to "REPORT" assert_equals: IDL get expected "report" but got "REPORT"
     1203PASS link.as: setAttribute() to "script"
     1204FAIL link.as: setAttribute() to "xscript" assert_equals: IDL get expected "" but got "xscript"
     1205FAIL link.as: setAttribute() to "script\0" assert_equals: IDL get expected "" but got "script\0"
     1206FAIL link.as: setAttribute() to "cript" assert_equals: IDL get expected "" but got "cript"
     1207FAIL link.as: setAttribute() to "SCRIPT" assert_equals: IDL get expected "script" but got "SCRIPT"
     1208PASS link.as: setAttribute() to "serviceworker"
     1209FAIL link.as: setAttribute() to "xserviceworker" assert_equals: IDL get expected "" but got "xserviceworker"
     1210FAIL link.as: setAttribute() to "serviceworker\0" assert_equals: IDL get expected "" but got "serviceworker\0"
     1211FAIL link.as: setAttribute() to "erviceworker" assert_equals: IDL get expected "" but got "erviceworker"
     1212FAIL link.as: setAttribute() to "SERVICEWORKER" assert_equals: IDL get expected "serviceworker" but got "SERVICEWORKER"
     1213PASS link.as: setAttribute() to "sharedworker"
     1214FAIL link.as: setAttribute() to "xsharedworker" assert_equals: IDL get expected "" but got "xsharedworker"
     1215FAIL link.as: setAttribute() to "sharedworker\0" assert_equals: IDL get expected "" but got "sharedworker\0"
     1216FAIL link.as: setAttribute() to "haredworker" assert_equals: IDL get expected "" but got "haredworker"
     1217FAIL link.as: setAttribute() to "SHAREDWORKER" assert_equals: IDL get expected "sharedworker" but got "SHAREDWORKER"
     1218PASS link.as: setAttribute() to "style"
     1219FAIL link.as: setAttribute() to "xstyle" assert_equals: IDL get expected "" but got "xstyle"
     1220FAIL link.as: setAttribute() to "style\0" assert_equals: IDL get expected "" but got "style\0"
     1221FAIL link.as: setAttribute() to "tyle" assert_equals: IDL get expected "" but got "tyle"
     1222FAIL link.as: setAttribute() to "STYLE" assert_equals: IDL get expected "style" but got "STYLE"
     1223PASS link.as: setAttribute() to "track"
     1224FAIL link.as: setAttribute() to "xtrack" assert_equals: IDL get expected "" but got "xtrack"
     1225FAIL link.as: setAttribute() to "track\0" assert_equals: IDL get expected "" but got "track\0"
     1226FAIL link.as: setAttribute() to "rack" assert_equals: IDL get expected "" but got "rack"
     1227FAIL link.as: setAttribute() to "TRACK" assert_equals: IDL get expected "track" but got "TRACK"
     1228PASS link.as: setAttribute() to "video"
     1229FAIL link.as: setAttribute() to "xvideo" assert_equals: IDL get expected "" but got "xvideo"
     1230FAIL link.as: setAttribute() to "video\0" assert_equals: IDL get expected "" but got "video\0"
     1231FAIL link.as: setAttribute() to "ideo" assert_equals: IDL get expected "" but got "ideo"
     1232FAIL link.as: setAttribute() to "VIDEO" assert_equals: IDL get expected "video" but got "VIDEO"
     1233PASS link.as: setAttribute() to "worker"
     1234FAIL link.as: setAttribute() to "xworker" assert_equals: IDL get expected "" but got "xworker"
     1235FAIL link.as: setAttribute() to "worker\0" assert_equals: IDL get expected "" but got "worker\0"
     1236FAIL link.as: setAttribute() to "orker" assert_equals: IDL get expected "" but got "orker"
     1237FAIL link.as: setAttribute() to "WORKER" assert_equals: IDL get expected "worker" but got "WORKER"
     1238PASS link.as: setAttribute() to "xslt"
     1239FAIL link.as: setAttribute() to "xxslt" assert_equals: IDL get expected "" but got "xxslt"
     1240FAIL link.as: setAttribute() to "xslt\0" assert_equals: IDL get expected "" but got "xslt\0"
     1241FAIL link.as: setAttribute() to "slt" assert_equals: IDL get expected "" but got "slt"
     1242FAIL link.as: setAttribute() to "XSLT" assert_equals: IDL get expected "xslt" but got "XSLT"
     1243PASS link.as: IDL set to ""
     1244FAIL link.as: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " assert_equals: IDL get expected "" but got " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo "
     1245FAIL link.as: IDL set to undefined assert_equals: IDL get expected "" but got "undefined"
     1246FAIL link.as: IDL set to 7 assert_equals: IDL get expected "" but got "7"
     1247FAIL link.as: IDL set to 1.5 assert_equals: IDL get expected "" but got "1.5"
     1248FAIL link.as: IDL set to true assert_equals: IDL get expected "" but got "true"
     1249FAIL link.as: IDL set to false assert_equals: IDL get expected "" but got "false"
     1250FAIL link.as: IDL set to object "[object Object]" assert_equals: IDL get expected "" but got "[object Object]"
     1251FAIL link.as: IDL set to NaN assert_equals: IDL get expected "" but got "NaN"
     1252FAIL link.as: IDL set to Infinity assert_equals: IDL get expected "" but got "Infinity"
     1253FAIL link.as: IDL set to -Infinity assert_equals: IDL get expected "" but got "-Infinity"
     1254FAIL link.as: IDL set to "\0" assert_equals: IDL get expected "" but got "\0"
     1255FAIL link.as: IDL set to null assert_equals: IDL get expected "" but got "null"
     1256FAIL link.as: IDL set to object "test-toString" assert_equals: IDL get expected "" but got "test-toString"
     1257FAIL link.as: IDL set to object "test-valueOf" assert_equals: IDL get expected "" but got "test-valueOf"
     1258PASS link.as: IDL set to "audio"
     1259FAIL link.as: IDL set to "xaudio" assert_equals: IDL get expected "" but got "xaudio"
     1260FAIL link.as: IDL set to "audio\0" assert_equals: IDL get expected "" but got "audio\0"
     1261FAIL link.as: IDL set to "udio" assert_equals: IDL get expected "" but got "udio"
     1262FAIL link.as: IDL set to "AUDIO" assert_equals: IDL get expected "audio" but got "AUDIO"
     1263PASS link.as: IDL set to "document"
     1264FAIL link.as: IDL set to "xdocument" assert_equals: IDL get expected "" but got "xdocument"
     1265FAIL link.as: IDL set to "document\0" assert_equals: IDL get expected "" but got "document\0"
     1266FAIL link.as: IDL set to "ocument" assert_equals: IDL get expected "" but got "ocument"
     1267FAIL link.as: IDL set to "DOCUMENT" assert_equals: IDL get expected "document" but got "DOCUMENT"
     1268PASS link.as: IDL set to "embed"
     1269FAIL link.as: IDL set to "xembed" assert_equals: IDL get expected "" but got "xembed"
     1270FAIL link.as: IDL set to "embed\0" assert_equals: IDL get expected "" but got "embed\0"
     1271FAIL link.as: IDL set to "mbed" assert_equals: IDL get expected "" but got "mbed"
     1272FAIL link.as: IDL set to "EMBED" assert_equals: IDL get expected "embed" but got "EMBED"
     1273PASS link.as: IDL set to "font"
     1274FAIL link.as: IDL set to "xfont" assert_equals: IDL get expected "" but got "xfont"
     1275FAIL link.as: IDL set to "font\0" assert_equals: IDL get expected "" but got "font\0"
     1276FAIL link.as: IDL set to "ont" assert_equals: IDL get expected "" but got "ont"
     1277FAIL link.as: IDL set to "FONT" assert_equals: IDL get expected "font" but got "FONT"
     1278PASS link.as: IDL set to "image"
     1279FAIL link.as: IDL set to "ximage" assert_equals: IDL get expected "" but got "ximage"
     1280FAIL link.as: IDL set to "image\0" assert_equals: IDL get expected "" but got "image\0"
     1281FAIL link.as: IDL set to "mage" assert_equals: IDL get expected "" but got "mage"
     1282FAIL link.as: IDL set to "IMAGE" assert_equals: IDL get expected "image" but got "IMAGE"
     1283PASS link.as: IDL set to "manifest"
     1284FAIL link.as: IDL set to "xmanifest" assert_equals: IDL get expected "" but got "xmanifest"
     1285FAIL link.as: IDL set to "manifest\0" assert_equals: IDL get expected "" but got "manifest\0"
     1286FAIL link.as: IDL set to "anifest" assert_equals: IDL get expected "" but got "anifest"
     1287FAIL link.as: IDL set to "MANIFEST" assert_equals: IDL get expected "manifest" but got "MANIFEST"
     1288PASS link.as: IDL set to "object"
     1289FAIL link.as: IDL set to "xobject" assert_equals: IDL get expected "" but got "xobject"
     1290FAIL link.as: IDL set to "object\0" assert_equals: IDL get expected "" but got "object\0"
     1291FAIL link.as: IDL set to "bject" assert_equals: IDL get expected "" but got "bject"
     1292FAIL link.as: IDL set to "OBJECT" assert_equals: IDL get expected "object" but got "OBJECT"
     1293PASS link.as: IDL set to "report"
     1294FAIL link.as: IDL set to "xreport" assert_equals: IDL get expected "" but got "xreport"
     1295FAIL link.as: IDL set to "report\0" assert_equals: IDL get expected "" but got "report\0"
     1296FAIL link.as: IDL set to "eport" assert_equals: IDL get expected "" but got "eport"
     1297FAIL link.as: IDL set to "REPORT" assert_equals: IDL get expected "report" but got "REPORT"
     1298PASS link.as: IDL set to "script"
     1299FAIL link.as: IDL set to "xscript" assert_equals: IDL get expected "" but got "xscript"
     1300FAIL link.as: IDL set to "script\0" assert_equals: IDL get expected "" but got "script\0"
     1301FAIL link.as: IDL set to "cript" assert_equals: IDL get expected "" but got "cript"
     1302FAIL link.as: IDL set to "SCRIPT" assert_equals: IDL get expected "script" but got "SCRIPT"
     1303PASS link.as: IDL set to "serviceworker"
     1304FAIL link.as: IDL set to "xserviceworker" assert_equals: IDL get expected "" but got "xserviceworker"
     1305FAIL link.as: IDL set to "serviceworker\0" assert_equals: IDL get expected "" but got "serviceworker\0"
     1306FAIL link.as: IDL set to "erviceworker" assert_equals: IDL get expected "" but got "erviceworker"
     1307FAIL link.as: IDL set to "SERVICEWORKER" assert_equals: IDL get expected "serviceworker" but got "SERVICEWORKER"
     1308PASS link.as: IDL set to "sharedworker"
     1309FAIL link.as: IDL set to "xsharedworker" assert_equals: IDL get expected "" but got "xsharedworker"
     1310FAIL link.as: IDL set to "sharedworker\0" assert_equals: IDL get expected "" but got "sharedworker\0"
     1311FAIL link.as: IDL set to "haredworker" assert_equals: IDL get expected "" but got "haredworker"
     1312FAIL link.as: IDL set to "SHAREDWORKER" assert_equals: IDL get expected "sharedworker" but got "SHAREDWORKER"
     1313PASS link.as: IDL set to "style"
     1314FAIL link.as: IDL set to "xstyle" assert_equals: IDL get expected "" but got "xstyle"
     1315FAIL link.as: IDL set to "style\0" assert_equals: IDL get expected "" but got "style\0"
     1316FAIL link.as: IDL set to "tyle" assert_equals: IDL get expected "" but got "tyle"
     1317FAIL link.as: IDL set to "STYLE" assert_equals: IDL get expected "style" but got "STYLE"
     1318PASS link.as: IDL set to "track"
     1319FAIL link.as: IDL set to "xtrack" assert_equals: IDL get expected "" but got "xtrack"
     1320FAIL link.as: IDL set to "track\0" assert_equals: IDL get expected "" but got "track\0"
     1321FAIL link.as: IDL set to "rack" assert_equals: IDL get expected "" but got "rack"
     1322FAIL link.as: IDL set to "TRACK" assert_equals: IDL get expected "track" but got "TRACK"
     1323PASS link.as: IDL set to "video"
     1324FAIL link.as: IDL set to "xvideo" assert_equals: IDL get expected "" but got "xvideo"
     1325FAIL link.as: IDL set to "video\0" assert_equals: IDL get expected "" but got "video\0"
     1326FAIL link.as: IDL set to "ideo" assert_equals: IDL get expected "" but got "ideo"
     1327FAIL link.as: IDL set to "VIDEO" assert_equals: IDL get expected "video" but got "VIDEO"
     1328PASS link.as: IDL set to "worker"
     1329FAIL link.as: IDL set to "xworker" assert_equals: IDL get expected "" but got "xworker"
     1330FAIL link.as: IDL set to "worker\0" assert_equals: IDL get expected "" but got "worker\0"
     1331FAIL link.as: IDL set to "orker" assert_equals: IDL get expected "" but got "orker"
     1332FAIL link.as: IDL set to "WORKER" assert_equals: IDL get expected "worker" but got "WORKER"
     1333PASS link.as: IDL set to "xslt"
     1334FAIL link.as: IDL set to "xxslt" assert_equals: IDL get expected "" but got "xxslt"
     1335FAIL link.as: IDL set to "xslt\0" assert_equals: IDL get expected "" but got "xslt\0"
     1336FAIL link.as: IDL set to "slt" assert_equals: IDL get expected "" but got "slt"
     1337FAIL link.as: IDL set to "XSLT" assert_equals: IDL get expected "xslt" but got "XSLT"
    11461338PASS link.media: typeof IDL attribute
    11471339PASS link.media: IDL get with DOM attribute unset
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/resources/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/html/dom/resources/interfaces.idl
    1817/LayoutTests/imported/w3c/web-platform-tests/html/dom/resources/self-origin-subframe.html
    19 /LayoutTests/imported/w3c/web-platform-tests/html/dom/resources/untested-interfaces.idl
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/self-origin.sub.html

    r213882 r217225  
    1111     self.origin  -->
    1212<iframe src="http://{{domains[www1]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe>
    13 <!--  Using the punycode version on purpose, we expect to get back the IDNA
     13<!--  Using the Unicode version on purpose, we expect to get back the Punycode
    1414     version in self.origin  -->
    15 <iframe src="http://xn--lve-6lad.{{domains[]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe>
     15<iframe src="http://élève.{{domains[]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe>
    1616<iframe src="resources/self-origin-subframe.html" sandbox="allow-scripts"></iframe>
    1717<script type="application/javascript">
     
    2929  [ frames[4], "setDomainAndGetOrigin", "http://{{domains[www1]}}:{{ports[http][1]}}",
    3030    async_test("Should have the right origin for cross-origin subframe after setting document.domain") ],
    31   [ frames[5], "getOrigin", "http://élève.{{domains[]}}:{{ports[http][1]}}",
     31  [ frames[5], "getOrigin", "http://xn--lve-6lad.{{domains[]}}:{{ports[http][1]}}",
    3232    async_test("Should have the right origin for IDN subframe") ],
    33   [ frames[5], "setDomainAndGetOrigin", "http://élève.{{domains[]}}:{{ports[http][1]}}",
     33  [ frames[5], "setDomainAndGetOrigin", "http://xn--lve-6lad.{{domains[]}}:{{ports[http][1]}}",
    3434    async_test("Should have the right origin for IDN subframe after setting document.domain") ],
    3535  [ frames[6], "getOrigin", "null",
     
    4949window.onmessage = function(e) {
    5050  var testData = messageTests[curTest++];
    51   testData[3].step_func(function() {
     51  testData[3].step(function() {
    5252    assert_equals(e.data, testData[2])
    5353  });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
     17/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css
    1718/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/empty-href.css
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css
    1820/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/stylesheet.css
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log

    r216354 r217225  
    2222/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01.html
    2323/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/style.css
     24/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-expected.html
     25/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html
    2426/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-empty-href-expected.html
    2527/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log

    r216354 r217225  
    3838/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.nested.html
    3939/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html
     40/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html
    4041/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.html
    4142/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.png
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js

    r203164 r217225  
    11function get_test_results(id) {
    22    async_test(function(test) {
    3         var timer = window.setInterval(test.step_func(loop), 100);
     3        test.step_timeout(loop, 100);
    44        function loop() {
    55            var xhr = new XMLHttpRequest();
    66            xhr.open('GET', 'stash.py?id=' + id);
    7             xhr.onreadystatechange = test.step_func(function() {
     7            xhr.onload = test.step_func(function() {
    88                assert_equals(xhr.status, 200);
    99                if (xhr.responseText) {
    1010                    assert_equals(xhr.responseText, "OK");
    1111                    test.done();
    12                     window.clearTimeout(timer);
     12                } else {
     13                    test.step_timeout(loop, 100);
    1314                }
    1415            });
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log

    r216354 r217225  
    2020/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/contains.json
    2121/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/data-url.html
     22/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/delay-load-event.html
     23/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url-expected.html
     24/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url.html
    2225/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/document-base-url-expected.html
    2326/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/document-base-url.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/contains.json
    1818/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html
     20/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table.html
     21/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/resetting-a-form/reset-event.html
     18/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-2.html
    1819/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm-support.html
    1920/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt

    r200309 r217225  
     1 
    12
    2 PASS Selection indices after reseting content
     3FAIL input out of document: selection must not change when setting the same value assert_equals: selectionStart must not change expected 1 but got 5
     4PASS input out of document: selection must change when setting a different value
     5FAIL input out of document: selection must not change when setting a value that becomes the same after the value sanitization algorithm assert_equals: selectionStart must not change expected 1 but got 5
     6FAIL input in document: selection must not change when setting the same value assert_equals: selectionStart must not change expected 1 but got 5
     7PASS input in document: selection must change when setting a different value
     8FAIL input in document: selection must not change when setting a value that becomes the same after the value sanitization algorithm assert_equals: selectionStart must not change expected 1 but got 5
     9FAIL input in document, with focus: selection must not change when setting the same value assert_equals: selectionStart must not change expected 1 but got 5
     10PASS input in document, with focus: selection must change when setting a different value
     11FAIL input in document, with focus: selection must not change when setting a value that becomes the same after the value sanitization algorithm assert_equals: selectionStart must not change expected 1 but got 5
     12PASS textarea out of document: selection must not change when setting the same value
     13FAIL textarea out of document: selection must change when setting a different value assert_equals: selectionStart must be reset to the end expected 6 but got 1
     14PASS textarea out of document: selection must not change when setting the same normalized value
     15PASS textarea in document: selection must not change when setting the same value
     16PASS textarea in document: selection must change when setting a different value
     17PASS textarea in document: selection must not change when setting the same normalized value
     18PASS textarea in document, with focus: selection must not change when setting the same value
     19PASS textarea in document, with focus: selection must change when setting a different value
     20PASS textarea in document, with focus: selection must not change when setting the same normalized value
    321
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html

    r200309 r217225  
    44<script src="/resources/testharness.js"></script>
    55<script src="/resources/testharnessreport.js"></script>
     6
     7<input id="i1" type="text" value="hello">
     8<textarea id="t1">hello</textarea>
     9
    610<script>
    7   test(function() {
    8     var input = document.createElement("input");
    9     input.focus();
    10     input.value = "something something something dark side";
    11     input.setSelectionRange(4,20);
    12     assert_equals(input.selectionStart, 4);
    13     assert_equals(input.selectionEnd, 20);
    14     input.value = "It's a trap!";
    15     assert_equals(input.selectionStart, input.value.length);
    16     assert_equals(input.selectionEnd, input.value.length);
    17 }, "Selection indices after reseting content");
     11"use strict";
     12
     13// This helper ensures that when the selection direction is reset, it always is reset to the same value consistently
     14// (which must be one of either "none" or "forward"). This helps catch bugs like one observed in Chrome, where textareas
     15// reset to "none" but inputs reset to "forward".
     16let observedResetSelectionDirection;
     17function assertSelectionDirectionIsReset(element) {
     18  if (!observedResetSelectionDirection) {
     19    assert_in_array(element.selectionDirection, ["none", "forward"],
     20      "selectionDirection must be set to either none or forward");
     21    observedResetSelectionDirection = element.selectionDirection;
     22  } else {
     23    assert_equals(element.selectionDirection, observedResetSelectionDirection,
     24      `selectionDirection must be reset to ${observedResetSelectionDirection} (which was previously observed to be ` +
     25      `the value after resetting the selection direction)`);
     26  }
     27}
     28
     29runInputTest("input out of document", () => {
     30  const input = document.createElement("input");
     31  input.value = "hello";
     32  return input;
     33});
     34
     35runInputTest("input in document", () => {
     36  const input = document.querySelector("#i1");
     37  input.value = "hello";
     38  return input;
     39});
     40
     41runInputTest("input in document, with focus", () => {
     42  const input = document.querySelector("#i1");
     43  input.value = "hello";
     44  input.focus();
     45  return input;
     46});
     47
     48runTextareaTest("textarea out of document", () => {
     49  const textarea = document.createElement("textarea");
     50  textarea.value = "hello";
     51  return textarea;
     52});
     53
     54runTextareaTest("textarea in document", () => {
     55  const textarea = document.querySelector("#t1");
     56  textarea.value = "hello";
     57  return textarea;
     58});
     59
     60runTextareaTest("textarea in document, with focus", () => {
     61  const textarea = document.querySelector("#t1");
     62  textarea.value = "hello";
     63  textarea.focus();
     64  return textarea;
     65});
     66
     67function runTest(descriptor, elementFactory) {
     68  test(() => {
     69    const element = elementFactory();
     70    element.setSelectionRange(1, 3, "backward");
     71
     72    assert_equals(element.selectionStart, 1, "Sanity check: selectionStart was set correctly");
     73    assert_equals(element.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
     74    assert_equals(element.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
     75
     76    element.value = "hello";
     77
     78    assert_equals(element.selectionStart, 1, "selectionStart must not change");
     79    assert_equals(element.selectionEnd, 3, "selectionEnd must not change");
     80    assert_equals(element.selectionDirection, "backward", "selectionDirection must not change");
     81  }, `${descriptor}: selection must not change when setting the same value`);
     82
     83  test(() => {
     84    const element = elementFactory();
     85    element.setSelectionRange(1, 3, "backward");
     86
     87    assert_equals(element.selectionStart, 1, "Sanity check: selectionStart was set correctly");
     88    assert_equals(element.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
     89    assert_equals(element.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
     90
     91    element.value = "hello2";
     92
     93    assert_equals(element.selectionStart, element.value.length, "selectionStart must be reset to the end");
     94    assert_equals(element.selectionEnd, element.value.length, "selectionEnd must be reset to the end");
     95    assertSelectionDirectionIsReset(element);
     96  }, `${descriptor}: selection must change when setting a different value`);
     97}
     98
     99function runInputTest(descriptor, elementFactory) {
     100  runTest(descriptor, elementFactory);
     101
     102  test(() => {
     103    const input = elementFactory();
     104    input.setSelectionRange(1, 3, "backward");
     105
     106    assert_equals(input.selectionStart, 1, "Sanity check: selectionStart was set correctly");
     107    assert_equals(input.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
     108    assert_equals(input.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
     109
     110    input.value = "he\nllo";
     111
     112    assert_equals(input.selectionStart, 1, "selectionStart must not change");
     113    assert_equals(input.selectionEnd, 3, "selectionEnd must not change");
     114    assert_equals(input.selectionDirection, "backward", "selectionDirection must not change");
     115  }, `${descriptor}: selection must not change when setting a value that becomes the same after the value ` +
     116     `sanitization algorithm`);
     117}
     118
     119function runTextareaTest(descriptor, elementFactory) {
     120  runTest(descriptor, elementFactory);
     121
     122  test(() => {
     123    const textarea = elementFactory();
     124    textarea.value = "hell\no";
     125    textarea.setSelectionRange(1, 3, "backward");
     126
     127    assert_equals(textarea.selectionStart, 1, "Sanity check: selectionStart was set correctly");
     128    assert_equals(textarea.selectionEnd, 3, "Sanity check: selectionEnd was set correctly");
     129    assert_equals(textarea.selectionDirection, "backward", "Sanity check: selectionDirection was set correctly");
     130
     131    textarea.value = "hell\r\no";
     132
     133    assert_equals(textarea.selectionStart, 1, "selectionStart must not change when setting to CRLF");
     134    assert_equals(textarea.selectionEnd, 3, "selectionEnd must not change when setting to CRLF");
     135    assert_equals(textarea.selectionDirection, "backward", "selectionDirection must not change when setting to CRLF");
     136
     137    textarea.value = "hell\ro";
     138
     139    assert_equals(textarea.selectionStart, 1, "selectionStart must not change when setting to CR");
     140    assert_equals(textarea.selectionEnd, 3, "selectionEnd must not change when setting to CR");
     141    assert_equals(textarea.selectionDirection, "backward", "selectionDirection must not change when setting to CR");
     142  }, `${descriptor}: selection must not change when setting the same normalized value`);
     143}
    18144</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-activate-frame.html
    1818/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-activate.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-click-submits.html
    1920/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-events.html
    2021/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-menu-historical.html
     22/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-type.html
    2123/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-button-element/button-validation.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt

    r204090 r217225  
    44FAIL form autocomplete attribute off assert_equals: expected "off" but got ""
    55FAIL form autocomplete attribute invalid assert_equals: expected "on" but got ""
     6PASS on is an allowed autocomplete field name
     7PASS off is an allowed autocomplete field name
    68PASS name is an allowed autocomplete field name
    79PASS honorific-prefix is an allowed autocomplete field name
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html

    r200309 r217225  
    4848  autocompletetest(document.forms.autocomplete_invalid, ["on", "on", "on", "off", ""], "form autocomplete attribute invalid");
    4949
    50   var keywords = [ "name", "honorific-prefix", "given-name", "additional-name", "family-name", "honorific-suffix", "nickname", "username", "new-password", "current-password", "organization-title", "organization", "street-address", "address-line1", "address-line2", "address-line3", "address-level4", "address-level3", "address-level2", "address-level1", "country", "country-name", "postal-code", "cc-name", "cc-given-name", "cc-additional-name", "cc-family-name", "cc-number", "cc-exp", "cc-exp-month", "cc-exp-year", "cc-csc", "cc-type", "transaction-currency", "transaction-amount", "language", "bday", "bday-day", "bday-month", "bday-year", "sex", "url", "photo", "tel", "tel-country-code", "tel-national", "tel-area-code", "tel-local", "tel-local-prefix", "tel-local-suffix", "tel-extension", "email", "impp" ];
     50  var keywords = [ "on", "off", "name", "honorific-prefix", "given-name", "additional-name", "family-name", "honorific-suffix", "nickname", "username", "new-password", "current-password", "organization-title", "organization", "street-address", "address-line1", "address-line2", "address-line3", "address-level4", "address-level3", "address-level2", "address-level1", "country", "country-name", "postal-code", "cc-name", "cc-given-name", "cc-additional-name", "cc-family-name", "cc-number", "cc-exp", "cc-exp-month", "cc-exp-year", "cc-csc", "cc-type", "transaction-currency", "transaction-amount", "language", "bday", "bday-day", "bday-month", "bday-year", "sex", "url", "photo", "tel", "tel-country-code", "tel-national", "tel-area-code", "tel-local", "tel-local-prefix", "tel-local-suffix", "tel-extension", "email", "impp" ];
    5151
    5252  keywords.forEach(function(keyword) {
    5353    test(function(){
    5454      var input = document.createElement("input");
    55       input.setAttribute("autocomplete", keyword);
     55      // Include whitespace to test splitting tokens on whitespace.
     56      // Convert to uppercase to ensure that the tokens are normalized to lowercase.
     57      input.setAttribute("autocomplete", " " + keyword.toUpperCase() + "\t");
    5658      assert_equals(input.autocomplete, keyword);
    5759    }, keyword + " is an allowed autocomplete field name");
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/target/form-action-url-target.html

    r209861 r217225  
    11<!doctype html>
    22<script>
    3   window.parent.success();
     3"use strict";
     4window.parent.success(window.location.href);
    45</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/form-action-url-iframe.html
     17/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action-with-base.html
     18/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action-and-base.sub.html
     20/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action.sub.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-action-url.html
     17/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection-with-base-url.html
     18/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-action-submission-with-base-url.html
     20/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-action-submission.html
    1821/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html
    1922/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-interfaces-01.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt

    r210823 r217225  
    77PASS radio inputs with non-ASCII name attributes belong to the same radio button group
    88PASS changing the name of a radio input element and setting its checkedness to true makes all the other elements' checkedness in the same radio button group be set to false
    9                
     9PASS moving radio input element out of or into a form should still work as expected
     10                 
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio.html

    r210823 r217225  
    2424<input type=radio name=group4 id=radio11 checked>
    2525
     26<form id="testform"></form>
     27<input type=radio form=testform name=group6 id=radio12 checked>
     28<input type=radio form=testform name=group6 id=radio13>
     29<input type=radio form=testform name=group6 id=radio14>
     30
    2631<script>
    2732  var radio1 = document.getElementById('radio1'),
     
    3742      radio10 = document.getElementById('radio10'),
    3843      radio11 = document.getElementById('radio11'),
     44      radio12 = document.getElementById('radio12'),
     45      radio13 = document.getElementById('radio13'),
     46      radio14 = document.getElementById('radio14'),
     47      testform = document.getElementById('testform'),
    3948      t1 = async_test("click on mutable radio fires click event, then input event, then change event"),
    4049      t3 = async_test("click on non-mutable radio doesn't fire the input event"),
     
    7887    assert_false(radio11.checked);
    7988  }, "changing the name of a radio input element and setting its checkedness to true makes all the other elements' checkedness in the same radio button group be set to false");
     89
     90  test(function(){
     91    radio12.remove();
     92    assert_true(radio12.checked);
     93    assert_false(radio13.checked);
     94    assert_false(radio14.checked);
     95    radio13.checked = true;
     96    assert_true(radio13.checked);
     97    assert_false(radio14.checked);
     98    radio13.removeAttribute("form");
     99    radio14.removeAttribute("form");
     100    assert_true(radio13.checked);
     101    assert_false(radio14.checked);
     102    radio14.checked = true;
     103    assert_false(radio13.checked);
     104    assert_true(radio14.checked);
     105    radio13.setAttribute("form", "testform");
     106    radio14.setAttribute("form", "testform");
     107    radio13.checked = true;
     108    assert_true(radio13.checked);
     109    assert_false(radio14.checked);
     110    testform.remove();
     111    assert_true(radio13.checked);
     112    assert_false(radio14.checked);
     113  }, "moving radio input element out of or into a form should still work as expected");
    80114
    81115  radio5.onclick = t1.step_func(function(e) {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/button.html
     18/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/checkbox-click-events.html
    1819/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/checkbox.html
    1920/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/checked.xhtml
     
    3940/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute.html
    4041/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html
     42/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-input-cancel.html
    4143/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio.html
    4244/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/range-2.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html
    1818/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/proxy-click-to-associated-element.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/w3c-import.log

    r216354 r217225  
    1919/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection.html
    2020/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-ask-for-reset.html
     21/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-multiple.html
    2122/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-named-getter.html
    2223/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-remove.html
     24/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-selectedOptions.html
    2325/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-validity.html
    2426/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-value.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log

    r216354 r217225  
    1919/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi.html
    2020/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-type.html
     21/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/value-defaultValue-textContent.html
    2122/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a-expected.html
    2223/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-menu-element/w3c-import.log

    r216354 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-menu-element/contains.json
     18/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-menu-element/menuitem-label.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html

    r212202 r217225  
    1212<body>
    1313<script>
     14let supportsNoModule = "noModule" in document.getElementsByTagName("script")[0];
    1415
    1516waitForLoadEvent = new Promise((resolve) => {
     
    2324}
    2425
    25 let readyForSecondTest;
    2626promise_test(() => {
    2727    window.executed = false;
     
    3030
    3131    let script = document.createElement('script');
     32
    3233    script.src = './resources/set-script-executed.js';
    3334    script.onload = () => loaded = true;
     
    3738
    3839    return waitForAsyncScript().then(() => {
     40        assert_true(supportsNoModule);
    3941        assert_true(executed);
    4042        assert_true(loaded);
     
    5658
    5759    return waitForAsyncScript().then(() => {
     60        assert_true(supportsNoModule);
    5861        assert_false(executed);
    5962        assert_false(loaded);
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log

    r216354 r217225  
    1717/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click.html
    1818/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier.html
     19/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-getter-01.html
     20/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-setter-01.html
    1921/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01.html
    2022/LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt

    r206999 r217225  
    103103PASS innerHTML Void context node keygen
    104104PASS innerHTML Void context node link
    105 FAIL innerHTML Void context node menuitem assert_equals: expected "" but got "<a><!--abc--></a><b><c>abc</c></b>"
    106105PASS innerHTML Void context node meta
    107106PASS innerHTML Void context node param
     
    122121PASS innerHTML void as first child with following siblings keygen
    123122PASS innerHTML void as first child with following siblings link
    124 FAIL innerHTML void as first child with following siblings menuitem assert_equals: expected "<menuitem><a>test</a><b></b>" but got "<menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem><a>test</a><b></b>"
    125123PASS innerHTML void as first child with following siblings meta
    126124PASS innerHTML void as first child with following siblings param
     
    141139PASS innerHTML void as second child with following siblings keygen
    142140PASS innerHTML void as second child with following siblings link
    143 FAIL innerHTML void as second child with following siblings menuitem assert_equals: expected "<a>test</a><menuitem><b></b>" but got "<a>test</a><menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem><b></b>"
    144141PASS innerHTML void as second child with following siblings meta
    145142PASS innerHTML void as second child with following siblings param
     
    160157PASS innerHTML void as last child with preceding siblings keygen
    161158PASS innerHTML void as last child with preceding siblings link
    162 FAIL innerHTML void as last child with preceding siblings menuitem assert_equals: expected "<a>test</a><b></b><menuitem>" but got "<a>test</a><b></b><menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem>"
    163159PASS innerHTML void as last child with preceding siblings meta
    164160PASS innerHTML void as last child with preceding siblings param
     
    179175PASS outerHTML Void context node keygen
    180176PASS outerHTML Void context node link
    181 FAIL outerHTML Void context node menuitem assert_equals: expected "<menuitem>" but got "<menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem>"
    182177PASS outerHTML Void context node meta
    183178PASS outerHTML Void context node param
     
    198193PASS outerHTML void as first child with following siblings keygen
    199194PASS outerHTML void as first child with following siblings link
    200 FAIL outerHTML void as first child with following siblings menuitem assert_equals: expected "<span><menuitem><a>test</a><b></b></span>" but got "<span><menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem><a>test</a><b></b></span>"
    201195PASS outerHTML void as first child with following siblings meta
    202196PASS outerHTML void as first child with following siblings param
     
    217211PASS outerHTML void as second child with following siblings keygen
    218212PASS outerHTML void as second child with following siblings link
    219 FAIL outerHTML void as second child with following siblings menuitem assert_equals: expected "<span><a>test</a><menuitem><b></b></span>" but got "<span><a>test</a><menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem><b></b></span>"
    220213PASS outerHTML void as second child with following siblings meta
    221214PASS outerHTML void as second child with following siblings param
     
    236229PASS outerHTML void as last child with preceding siblings keygen
    237230PASS outerHTML void as last child with preceding siblings link
    238 FAIL outerHTML void as last child with preceding siblings menuitem assert_equals: expected "<span><a>test</a><b></b><menuitem></span>" but got "<span><a>test</a><b></b><menuitem><a><!--abc--></a><b><c>abc</c></b></menuitem></span>"
    239231PASS outerHTML void as last child with preceding siblings meta
    240232PASS outerHTML void as last child with preceding siblings param
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/syntax/serializing-html-fragments/serializing.html

    r206999 r217225  
    179179var void_elements = [
    180180  "area", "base", "basefont", "bgsound", "br", "col", "embed",
    181   "frame", "hr", "img", "input", "keygen", "link", "menuitem",
     181  "frame", "hr", "img", "input", "keygen", "link",
    182182  "meta", "param", "source", "track", "wbr"
    183183];
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
     17/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm
     18/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm
     19/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm
     20/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm
     21/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm
     22/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm
     23/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm
     24/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm
     25/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm
     26/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm
    1727/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm

    r206118 r217225  
    11<!DOCTYPE html>
    22<meta charset=utf-8>
    3 <title>HTML entities for various XHTML Doctype variants</title>
    4 <link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
    5 <script src="/resources/testharness.js"></script>
    6 <script src="/resources/testharnessreport.js"></script>
    7 <div id="log"></div>
    83<script>
    94  var parser = new DOMParser();
     
    2116      var doc = parse(doctypeString + "<html><head></head><body id='test'>"+entitystring+"</body></html>", mimeType);
    2217      var root = doc.getElementById('test');
    23       assert_not_equals(root, null, friendlyMime + " parsing the entity reference caused a parse error;");
    24       assert_true(!!root.firstChild);
     18      parent.assert_not_equals(root, null, friendlyMime + " parsing the entity reference caused a parse error;");
     19      parent.assert_true(!!root.firstChild);
    2520      // Next line because some browsers include the partial parsed result in the parser error returned document.
    26       assert_equals(root.firstChild.nodeType, 3/*Text*/, friendlyMime + " parsing the entity reference caused a parse error;");
     21      parent.assert_equals(root.firstChild.nodeType, 3/*Text*/, friendlyMime + " parsing the entity reference caused a parse error;");
    2722      var text = root.firstChild.data;
    2823      for (var i = 0, len = expectedString.length; i < len; i++) {
    29         assert_equals(text.charCodeAt(i),expectedString.charCodeAt(i));
     24        parent.assert_equals(text.charCodeAt(i),expectedString.charCodeAt(i));
    3025      }
    3126    }
     
    3530    for (entityName in jsonEntities) {
    3631      if ((mimeType == "text/html") || /;$/.test(entityName)) {
    37         test(generateTestFunction(entityName, jsonEntities[entityName].characters, publicId, systemId, mimeType, friendlyMime), friendlyMime + " parsing " + entityName);
     32        parent.test(generateTestFunction(entityName, jsonEntities[entityName].characters, publicId, systemId, mimeType, friendlyMime), friendlyMime + " parsing " + entityName);
    3833      }
    3934    }
    4035  }
    4136
    42   setup(function() {}, {explicit_done: true});
     37  parent.setup(function() {}, {explicit_done: true});
    4338
    44   var xhr = new XMLHttpRequest();
    45   xhr.open("GET", "/common/entities.json");
    46   xhr.onload = function () {
    47     var entitiesJSON = JSON.parse(xhr.response);
    48     [
    49       ["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Transitional//EN", "foo", "XHTML1.0 Transitional"],
    50       ["application/xhtml+xml", "-//W3C//DTD XHTML 1.1//EN", "foo", "XHTML1.1"],
    51       ["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Strict//EN", "foo", "XHTML1.0 Strict"],
    52       ["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Frameset//EN", "foo", "XHTML1.0 Frameset"],
    53       ["application/xhtml+xml", "-//W3C//DTD XHTML Basic 1.0//EN", "foo", "XHTML Basic"],
    54       ["application/xhtml+xml", "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "foo", "XHTML1.1+MathML"],
    55       ["application/xhtml+xml", "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN", "foo", "XHTML1.1+MathML+SVG"],
    56       ["application/xhtml+xml", "-//W3C//DTD MathML 2.0//EN", "foo", "MathML"],
    57       ["application/xhtml+xml", "-//WAPFORUM//DTD XHTML Mobile 1.0//EN", "foo", "XHTML Mobile"],
    58 //      ["application/xhtml+xml", null, "mathml.dtd", "SYSTEM MathML"], // Experimental
    59       ["text/html", null, null, "HTML"]
    60     ].forEach(function (row) {
     39  function run(row) {
     40    var xhr = new XMLHttpRequest();
     41    xhr.open("GET", "/common/entities.json");
     42    xhr.onload = function () {
     43      var entitiesJSON = JSON.parse(xhr.response);
    6144      setupTests(entitiesJSON, row[1], row[2], row[0], row[3]);
    62     });
    63     done();
     45      parent.done();
     46    }
     47    xhr.send();
    6448  }
    65   xhr.send();
    66 
    6749</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html
    18 /LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js
    19 /LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js
    2017/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/contains.json
    2118/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content.html
    2219/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-indexed.html
     20/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.js
    2321/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigatorlanguage.html
    2422/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/images/w3c-import.log

    r216354 r217225  
    1919/LayoutTests/imported/w3c/web-platform-tests/images/anim-gr.png
    2020/LayoutTests/imported/w3c/web-platform-tests/images/anim-poster-gr.png
     21/LayoutTests/imported/w3c/web-platform-tests/images/apng.png
    2122/LayoutTests/imported/w3c/web-platform-tests/images/background.png
    2223/LayoutTests/imported/w3c/web-platform-tests/images/black-rectangle.png
  • trunk/LayoutTests/imported/w3c/web-platform-tests/lint

    r194580 r217225  
    99    sys.exit(2)
    1010
    11 sys.exit(0 if lint.main() == 0 else 1)
     11args = lint.parse_args()
     12sys.exit(0 if lint.main(**vars(args)) == 0 else 1)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/lint.whitelist

    r215164 r217225  
    8888W3C-TEST.ORG:*/tools/*
    8989PRINT STATEMENT:*/tools/*
     90PRINT STATEMENT:wptrun.py
    9091
    9192### Test exclusions ##
     
    146147SET TIMEOUT: 2dcontext/*
    147148SET TIMEOUT: annotation-model/scripts/ajv.min.js
     149SET TIMEOUT: apng/animated-png-timeout.html
    148150SET TIMEOUT: cookies/resources/testharness-helpers.js
    149151SET TIMEOUT: common/reftest-wait.js
     
    172174SET TIMEOUT: page-visibility/resources/pagevistestharness.js
    173175SET TIMEOUT: payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
     176SET TIMEOUT: payment-request/payment-request-response-id.html
    174177SET TIMEOUT: pointerevents/pointerevent_support.js
    175178SET TIMEOUT: preload/single-download-preload.html
     
    187190SET TIMEOUT: service-workers/service-worker/resources/fetch-event-async-respond-with-worker.js
    188191SET TIMEOUT: service-workers/service-worker/resources/fetch-event-test-worker.js
     192SET TIMEOUT: service-workers/service-worker/resources/opaque-response-preloaded-iframe.html
    189193SET TIMEOUT: service-workers/service-worker/resources/performance-timeline-worker.js
     194SET TIMEOUT: service-workers/service-worker/resources/register-foreign-fetch-errors-worker.js
    190195SET TIMEOUT: shadow-dom/Document-prototype-currentScript.html
    191196SET TIMEOUT: shadow-dom/scroll-to-the-fragment-in-shadow-tree.html
     
    767772CSS-COLLIDING-SUPPORT-NAME: css/CSS2/normal-flow/support/replaced-min-max-1.png
    768773CSS-COLLIDING-SUPPORT-NAME: css/vendor-imports/mozilla/mozilla-central-reftests/ui3/support/replaced-min-max-1.png
     774
     775# TODO https://github.com/w3c/web-platform-tests/issues/5770
     776MISSING-LINK: css/geometry-1/*.worker.js
     777
     778WEBIDL2.JS:.gitmodules
     779
     780# Manual test that uses console.logs for feedback
     781CONSOLE:payment-request/payment-request-response-id.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media/OWNERS

    r200309 r217225  
    11@hillbrad
     2@gsnedders
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media/w3c-import.log

    r216354 r217225  
    1818/LayoutTests/imported/w3c/web-platform-tests/media/A4.mp4
    1919/LayoutTests/imported/w3c/web-platform-tests/media/A4.ogv
    20 /LayoutTests/imported/w3c/web-platform-tests/media/CanvasTest.ttf
    2120/LayoutTests/imported/w3c/web-platform-tests/media/OWNERS
    2221/LayoutTests/imported/w3c/web-platform-tests/media/foo.vtt
  • trunk/LayoutTests/imported/w3c/web-platform-tests/notifications/w3c-import.log

    r216979 r217225  
    2525/LayoutTests/imported/w3c/web-platform-tests/notifications/lang.html
    2626/LayoutTests/imported/w3c/web-platform-tests/notifications/permission.html
     27/LayoutTests/imported/w3c/web-platform-tests/notifications/shownotification-resolve-manual.https.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource-timing.js

    r215164 r217225  
    278278            //      "[If redirected, startTime] MUST return the same value as redirectStart. Otherwise,
    279279            //      [startTime] MUST return the same value as fetchStart."
    280             assert_true(actual.startTime == actual.redirectStart || actual.startTime == actual.fetchStart,
     280            assert_in_array(actual.startTime, [actual.redirectStart, actual.fetchStart],
    281281                "startTime must be equal to redirectStart or fetchStart.");
    282282
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/w3c-import.log

    r216354 r217225  
    1515------------------------------------------------------------------------
    1616List of files:
     17/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/TAOResponse.py
    1718/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/fake_responses.html
    1819/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/fake_responses.py
    1920/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/gzip_xml.py
     21/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_match_origin.html
     22/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_match_wildcard.html
     23/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_multi.html
     24/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_null.html
     25/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_origin.html
     26/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_origin_uppercase.html
     27/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_space.html
     28/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_wildcard.html
     29/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/iframe_TAO_zero.html
    2030/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/inject_resource_test.html
    2131/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/resource_timing_test0.css
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/w3c-import.log

    r216354 r217225  
    2121/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource-timing.html
    2222/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource-timing.js
     23/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_match_origin.htm
     24/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm
     25/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_multi.htm
     26/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_null.htm
     27/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_origin.htm
     28/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm
     29/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_space.htm
     30/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_wildcard.htm
     31/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_zero.htm
    2332/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_cached.htm
    2433/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_connection_reuse.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
     
    2726/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample16.html
    2827/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample17.html
     28/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample18.html
     29/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample19.html
    2930/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample2.htm
    3031/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample3.htm
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/idlharness.js

    r217047 r217225  
    618618
    619619        case "object":
    620             assert_true(typeof value == "object" || typeof value == "function", "wrong type: not object or function");
     620            assert_in_array(typeof value, ["object", "function"], "wrong type: not object or function");
    621621            return;
    622622    }
     
    634634        // NoInterfaceObject interfaces, and we also can't test objects that
    635635        // come from another self.
    636         assert_true(typeof value == "object" || typeof value == "function", "wrong type: not object or function");
     636        assert_in_array(typeof value, ["object", "function"], "wrong type: not object or function");
    637637        if (value instanceof Object
    638638        && !this.members[type].has_extended_attribute("NoInterfaceObject")
     
    973973    }
    974974
     975
     976    if (this.has_extended_attribute("LegacyWindowAlias")) {
     977        test(function()
     978        {
     979            var aliasAttrs = this.extAttrs.filter(function(o) { return o.name === "LegacyWindowAlias"; });
     980            if (aliasAttrs.length > 1) {
     981                throw "Invalid IDL: multiple LegacyWindowAlias extended attributes on " + this.name;
     982            }
     983            if (this.is_callback()) {
     984                throw "Invalid IDL: LegacyWindowAlias extended attribute on non-interface " + this.name;
     985            }
     986            if (this.exposureSet.indexOf("Window") === -1) {
     987                throw "Invalid IDL: LegacyWindowAlias extended attribute on " + this.name + " which is not exposed in Window";
     988            }
     989            // TODO: when testing of [NoInterfaceObject] interfaces is supported,
     990            // check that it's not specified together with LegacyWindowAlias.
     991
     992            // TODO: maybe check that [LegacyWindowAlias] is not specified on a partial interface.
     993
     994            var rhs = aliasAttrs[0].rhs;
     995            if (!rhs) {
     996                throw "Invalid IDL: LegacyWindowAlias extended attribute on " + this.name + " without identifier";
     997            }
     998            var aliases;
     999            if (rhs.type === "identifier-list") {
     1000                aliases = rhs.value;
     1001            } else { // rhs.type === identifier
     1002                aliases = [ rhs.value ];
     1003            }
     1004
     1005            // OK now actually check the aliases...
     1006            var alias;
     1007            if (exposed_in(exposure_set(this, this.exposureSet)) && 'document' in self) {
     1008                for (alias of aliases) {
     1009                    assert_true(alias in self, alias + " should exist");
     1010                    assert_equals(self[alias], self[this.name], "self." + alias + " should be the same value as self." + this.name);
     1011                    var desc = Object.getOwnPropertyDescriptor(self, alias);
     1012                    assert_equals(desc.value, self[this.name], "wrong value in " + alias + " property descriptor");
     1013                    assert_true(desc.writable, alias + " is not writable");
     1014                    assert_false(desc.enumerable, alias + " is enumerable");
     1015                    assert_true(desc.configurable, alias + " is not configurable");
     1016                    assert_false('get' in desc, alias + " has a getter");
     1017                    assert_false('set' in desc, alias + " has a setter");
     1018                }
     1019            } else {
     1020                for (alias of aliases) {
     1021                    assert_false(alias in self, alias + " should not exist");
     1022                }
     1023            }
     1024
     1025        }.bind(this), this.name + " interface: legacy window alias");
     1026    }
    9751027    // TODO: Test named constructors if I find any interfaces that have them.
    9761028
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/readme.md

    r211930 r217225  
    1717## Full documentation ##
    1818
    19 Full user documentation for the API is in the
    20 [docs/api.md](https://github.com/w3c/testharness.js/blob/master/docs/api.md) file.
     19Full user documentation for the API is at [http://web-platform-tests.org/writing-tests/testharness-api.html](http://web-platform-tests.org/writing-tests/testharness-api.html).
    2120
    2221You can also read a tutorial on
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
     
    2019/LayoutTests/imported/w3c/web-platform-tests/resources/idlharness.js
    2120/LayoutTests/imported/w3c/web-platform-tests/resources/readme.md
    22 /LayoutTests/imported/w3c/web-platform-tests/resources/testharness.css
    2321/LayoutTests/imported/w3c/web-platform-tests/resources/testharness.js
    24 /LayoutTests/imported/w3c/web-platform-tests/resources/testharnessreport.js
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
     
    2423/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl
    2524/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl
     25/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/record-key.widl
    2626/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl
    2727/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
     
    2423/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/raises.json
    2524/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/readonly-iterable.json
     25/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/record-key.json
    2626/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json
    2727/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
     
    4241/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl
    4342/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/legacyiterable.widl
    44 /LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/map.widl
    4543/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/maplike.widl
    4644/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl
     45/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/namespace.widl
    4746/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl
    4847/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl
     
    5554/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl
    5655/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl
     56/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/record.widl
    5757/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl
    5858/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl
     
    6666/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl
    6767/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl
    68 /LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl
     68/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typedef-union.idl
    6969/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl
    7070/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
     
    4241/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/iterator.json
    4342/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/legacyiterable.json
    44 /LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/map.json
    4543/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/maplike.json
    4644/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json
     45/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/namespace.json
    4746/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json
    4847/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/nullable.json
     
    5554/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json
    5655/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json
     56/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/record.json
    5757/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json
    5858/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json
     
    6666/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json
    6767/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json
    68 /LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json
     68/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typedef-union.json
    6969/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typedef.json
    7070/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/web/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/w3c-import.log

    r215164 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
  • trunk/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/w3c-import.log

    r216354 r217225  
    3636/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/slotchange-event.html
    3737/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/slotchange.html
     38/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/slots-fallback-in-document.html
    3839/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/slots-fallback.html
    3940/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/slots.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward-expected.txt

    r216035 r217225  
    1 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    2 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    3 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    4 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    5 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    6 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    7 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    8 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    9 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    10 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    11 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    12 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    131CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    142CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
     
    186Harness Error (FAIL), message = cancel() called on a reader owned by no readable stream
    197
    20 FAIL Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    21 FAIL Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    22 FAIL Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    23 FAIL Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    24 FAIL Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    25 FAIL Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    26 FAIL Closing must be propagated forward: starts closed; preventClose = -0 (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    27 FAIL Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    28 FAIL Closing must be propagated forward: starts closed; preventClose =  (falsy); fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
     8FAIL Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     9FAIL Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     10FAIL Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     11FAIL Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     12FAIL Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     13FAIL Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     14FAIL Closing must be propagated forward: starts closed; preventClose = -0 (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     15FAIL Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     16FAIL Closing must be propagated forward: starts closed; preventClose =  (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
    2917PASS Closing must be propagated forward: starts closed; preventClose = true (truthy)
    3018PASS Closing must be propagated forward: starts closed; preventClose = a (truthy)
     
    3422PASS Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true
    3523PASS Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true
    36 FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    37 FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
     24FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     25FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
    3826PASS Closing must be propagated forward: becomes closed asynchronously; preventClose = true
    39 FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    40 FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
     27FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     28FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
    4129PASS Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true
    42 FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    43 FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
     30FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
     31FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
    4432PASS Closing must be propagated forward: becomes closed after one chunk; preventClose = true
    45 FAIL Closing must be propagated forward: shutdown must not occur until the final write completes assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
     33PASS Closing must be propagated forward: shutdown must not occur until the final write completes
    4634PASS Closing must be propagated forward: shutdown must not occur until the final write completes; preventClose = true
    4735
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control-expected.txt

    r216035 r217225  
    1 CONSOLE MESSAGE: Unhandled Promise Rejection: Error: assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    2 
    3 Harness Error (FAIL), message = assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
    41
    52FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks promise_test: Unhandled rejection with value: object "TypeError: ws.controller.error is not a function. (In 'ws.controller.error(error1)', 'ws.controller.error' is undefined)"
     
    74FAIL Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
    85FAIL Piping from a ReadableStream to a WritableStream that desires more chunks before finishing with previous ones ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
    9 FAIL Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream assert_array_equals: at t = 225 ms, the desiredSize at the last enqueue (200 ms) must have been 0 property 1, expected 0 but got 1
     6FAIL Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream assert_array_equals: at step 4, the desiredSize at the last enqueue (step 3) must have been 0 property 1, expected 0 but got 1
    107
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.js

    r215164 r217225  
    171171}, 'Piping from a ReadableStream to a WritableStream that desires more chunks before finishing with previous ones');
    172172
     173class StepTracker {
     174  constructor() {
     175    this.waiters = [];
     176    this.wakers = [];
     177  }
     178
     179  // Returns promise which resolves when step `n` is reached. Also schedules step n + 1 to happen shortly after the
     180  // promise is resolved.
     181  waitThenAdvance(n) {
     182    if (this.waiters[n] === undefined) {
     183      this.waiters[n] = new Promise(resolve => {
     184        this.wakers[n] = resolve;
     185      });
     186      this.waiters[n]
     187          .then(() => flushAsyncEvents())
     188          .then(() => {
     189            if (this.wakers[n + 1] !== undefined) {
     190              this.wakers[n + 1]();
     191            }
     192          });
     193    }
     194    if (n == 0) {
     195      this.wakers[0]();
     196    }
     197    return this.waiters[n];
     198  }
     199}
     200
    173201promise_test(() => {
    174 
     202  const steps = new StepTracker();
    175203  const desiredSizes = [];
    176204  const rs = recordingReadableStream({
    177205    start(controller) {
    178       delay(100).then(() => enqueue('a'));
    179       delay(200).then(() => enqueue('b'));
    180       delay(300).then(() => enqueue('c'));
    181       delay(400).then(() => enqueue('d'));
    182       delay(500).then(() => controller.close());
     206      steps.waitThenAdvance(1).then(() => enqueue('a'));
     207      steps.waitThenAdvance(3).then(() => enqueue('b'));
     208      steps.waitThenAdvance(5).then(() => enqueue('c'));
     209      steps.waitThenAdvance(7).then(() => enqueue('d'));
     210      steps.waitThenAdvance(11).then(() => controller.close());
    183211
    184212      function enqueue(chunk) {
     
    191219  const chunksFinishedWriting = [];
    192220  const writableStartPromise = Promise.resolve();
     221  let writeCalled = false;
    193222  const ws = recordingWritableStream({
    194223    start() {
     
    196225    },
    197226    write(chunk) {
    198       return delay(350).then(() => {
     227      const waitForStep = writeCalled ? 12 : 9;
     228      writeCalled = true;
     229      return steps.waitThenAdvance(waitForStep).then(() => {
    199230        chunksFinishedWriting.push(chunk);
    200231      });
     
    203234
    204235  return writableStartPromise.then(() => {
     236    const pipePromise = rs.pipeTo(ws);
     237    steps.waitThenAdvance(0);
     238
    205239    return Promise.all([
    206       rs.pipeTo(ws).then(() => {
    207         assert_array_equals(desiredSizes, [1, 0, -1, -2], 'backpressure must have been exerted at the source');
    208         assert_array_equals(chunksFinishedWriting, ['a', 'b', 'c', 'd'], 'all chunks started writing');
    209 
    210         assert_array_equals(rs.eventsWithoutPulls, [], 'nothing unexpected should happen to the ReadableStream');
    211         assert_array_equals(ws.events, ['write', 'a', 'write', 'b', 'write', 'c', 'write', 'd', 'close'],
    212           'all chunks were written (and the WritableStream closed)');
    213       }),
    214 
    215       delay(125).then(() => {
    216         assert_array_equals(chunksFinishedWriting, [], 'at t = 125 ms, zero chunks must have finished writing');
    217         assert_array_equals(ws.events, ['write', 'a'], 'at t = 125 ms, one chunk must have been written');
     240      steps.waitThenAdvance(2).then(() => {
     241        assert_array_equals(chunksFinishedWriting, [], 'at step 2, zero chunks must have finished writing');
     242        assert_array_equals(ws.events, ['write', 'a'], 'at step 2, one chunk must have been written');
    218243
    219244        // When 'a' (the very first chunk) was enqueued, it was immediately used to fulfill the outstanding read request
    220245        // promise, leaving the queue empty.
    221246        assert_array_equals(desiredSizes, [1],
    222           'at t = 125 ms, the desiredSize at the last enqueue (100 ms) must have been 1');
    223         assert_equals(rs.controller.desiredSize, 1, 'at t = 125 ms, the current desiredSize must be 1');
    224       }),
    225 
    226       delay(225).then(() => {
    227         assert_array_equals(chunksFinishedWriting, [], 'at t = 225 ms, zero chunks must have finished writing');
    228         assert_array_equals(ws.events, ['write', 'a'], 'at t = 225 ms, one chunk must have been written');
    229 
    230         // When 'b' was enqueued at 200 ms, the queue was also empty, since immediately after enqueuing 'a' at
    231         // t = 100 ms, it was dequeued in order to fulfill the read() call that was made at time t = 0. Thus the queue
     247                            'at step 2, the desiredSize at the last enqueue (step 1) must have been 1');
     248        assert_equals(rs.controller.desiredSize, 1, 'at step 2, the current desiredSize must be 1');
     249      }),
     250
     251      steps.waitThenAdvance(4).then(() => {
     252        assert_array_equals(chunksFinishedWriting, [], 'at step 4, zero chunks must have finished writing');
     253        assert_array_equals(ws.events, ['write', 'a'], 'at step 4, one chunk must have been written');
     254
     255        // When 'b' was enqueued at step 3, the queue was also empty, since immediately after enqueuing 'a' at
     256        // step 1, it was dequeued in order to fulfill the read() call that was made at step 0. Thus the queue
    232257        // had size 1 (thus desiredSize of 0).
    233258        assert_array_equals(desiredSizes, [1, 0],
    234           'at t = 225 ms, the desiredSize at the last enqueue (200 ms) must have been 0');
    235         assert_equals(rs.controller.desiredSize, 0, 'at t = 225 ms, the current desiredSize must be 0');
    236       }),
    237 
    238       delay(325).then(() => {
    239         assert_array_equals(chunksFinishedWriting, [], 'at t = 325 ms, zero chunks must have finished writing');
    240         assert_array_equals(ws.events, ['write', 'a'], 'at t = 325 ms, one chunk must have been written');
    241 
    242         // When 'c' was enqueued at 300 ms, the queue was not empty; it had 'b' in it, since 'b' will not be read until
    243         // the first write completes at 450 ms. Thus, the queue size is 2 after enqueuing 'c', giving a desiredSize of
     259                            'at step 4, the desiredSize at the last enqueue (step 3) must have been 0');
     260        assert_equals(rs.controller.desiredSize, 0, 'at step 4, the current desiredSize must be 0');
     261      }),
     262
     263      steps.waitThenAdvance(6).then(() => {
     264        assert_array_equals(chunksFinishedWriting, [], 'at step 6, zero chunks must have finished writing');
     265        assert_array_equals(ws.events, ['write', 'a'], 'at step 6, one chunk must have been written');
     266
     267        // When 'c' was enqueued at step 5, the queue was not empty; it had 'b' in it, since 'b' will not be read until
     268        // the first write completes at step 9. Thus, the queue size is 2 after enqueuing 'c', giving a desiredSize of
    244269        // -1.
    245270        assert_array_equals(desiredSizes, [1, 0, -1],
    246           'at t = 325 ms, the desiredSize at the last enqueue (300 ms) must have been -1');
    247         assert_equals(rs.controller.desiredSize, -1, 'at t = 325 ms, the current desiredSize must be -1');
    248       }),
    249 
    250       delay(425).then(() => {
    251         assert_array_equals(chunksFinishedWriting, [], 'at t = 425 ms, zero chunks must have finished writing');
    252         assert_array_equals(ws.events, ['write', 'a'], 'at t = 425 ms, one chunk must have been written');
    253 
    254         // When 'd' was enqueued at 400 ms, the situation is the same as before, leading to a queue containing 'b', 'c',
    255         // and 'd'. (Remember the first write will only finish at 100 ms + 350 ms = 450 ms.)
     271                            'at step 6, the desiredSize at the last enqueue (step 5) must have been -1');
     272        assert_equals(rs.controller.desiredSize, -1, 'at step 6, the current desiredSize must be -1');
     273      }),
     274
     275      steps.waitThenAdvance(8).then(() => {
     276        assert_array_equals(chunksFinishedWriting, [], 'at step 8, zero chunks must have finished writing');
     277        assert_array_equals(ws.events, ['write', 'a'], 'at step 8, one chunk must have been written');
     278
     279        // When 'd' was enqueued at step 7, the situation is the same as before, leading to a queue containing 'b', 'c',
     280        // and 'd'.
    256281        assert_array_equals(desiredSizes, [1, 0, -1, -2],
    257           'at t = 425 ms, the desiredSize at the last enqueue (400 ms) must have been -2');
    258         assert_equals(rs.controller.desiredSize, -2, 'at t = 425 ms, the current desiredSize must be -2');
    259       }),
    260 
    261       delay(475).then(() => {
    262         assert_array_equals(chunksFinishedWriting, ['a'], 'at t = 475 ms, one chunk must have finished writing');
     282                            'at step 8, the desiredSize at the last enqueue (step 7) must have been -2');
     283        assert_equals(rs.controller.desiredSize, -2, 'at step 8, the current desiredSize must be -2');
     284      }),
     285
     286      steps.waitThenAdvance(10).then(() => {
     287        assert_array_equals(chunksFinishedWriting, ['a'], 'at step 10, one chunk must have finished writing');
    263288        assert_array_equals(ws.events, ['write', 'a', 'write', 'b'],
    264           'at t = 475 ms, two chunks must have been written');
    265 
    266         assert_equals(rs.controller.desiredSize, -1, 'at t = 475 ms, the current desiredSize must be -1');
     289                            'at step 10, two chunks must have been written');
     290
     291        assert_equals(rs.controller.desiredSize, -1, 'at step 10, the current desiredSize must be -1');
     292      }),
     293
     294      pipePromise.then(() => {
     295        assert_array_equals(desiredSizes, [1, 0, -1, -2], 'backpressure must have been exerted at the source');
     296        assert_array_equals(chunksFinishedWriting, ['a', 'b', 'c', 'd'], 'all chunks finished writing');
     297
     298        assert_array_equals(rs.eventsWithoutPulls, [], 'nothing unexpected should happen to the ReadableStream');
     299        assert_array_equals(ws.events, ['write', 'a', 'write', 'b', 'write', 'c', 'write', 'd', 'close'],
     300                            'all chunks were written (and the WritableStream closed)');
    267301      })
    268302    ]);
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general-expected.txt

    r217047 r217225  
    11CONSOLE MESSAGE: line 12: Unhandled Promise Rejection: TypeError: The WritableStream.ready getter can only be used on instances of WritableStream
    2 CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
    32CONSOLE MESSAGE: line 2765: TypeError: undefined is not an object (evaluating 'e.error')
    43CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
     
    2221FAIL pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
    2322FAIL Piping from a ReadableStream from which lots of chunks are synchronously readable promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
    24 FAIL Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo assert_array_equals: close must always be called with the controller lengths differ, expected 1 got 0
     23PASS Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo
    2524PASS an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true
    2625PASS an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through-expected.txt

    r215164 r217225  
    66PASS pipeThrough can handle calling a pipeTo that returns a non-promise thenable object
    77PASS pipeThrough should mark a real promise from a fake readable as handled
     8PASS pipeThrough should not be fooled by an object whose instanceof Promise returns true
    89
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt

    r215164 r217225  
    66PASS pipeThrough can handle calling a pipeTo that returns a non-promise thenable object
    77PASS pipeThrough should mark a real promise from a fake readable as handled
     8PASS pipeThrough should not be fooled by an object whose instanceof Promise returns true
    89
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.js

    r215164 r217225  
    119119}, 'pipeThrough should mark a real promise from a fake readable as handled');
    120120
     121test(() => {
     122  let thenCalled = false
     123  let catchCalled = false;
     124  const dummy = {
     125    pipeTo() {
     126      const fakePromise = Object.create(Promise.prototype);
     127      fakePromise.then = () => {
     128        thenCalled = true;
     129      };
     130      fakePromise.catch = () => {
     131        catchCalled = true;
     132      };
     133      assert_true(fakePromise instanceof Promise, 'fakePromise fools instanceof');
     134      return fakePromise;
     135    }
     136  };
     137
     138  // An incorrect implementation which uses an internal method to mark the promise as handled will throw or crash here.
     139  ReadableStream.prototype.pipeThrough.call(dummy, { });
     140
     141  // An incorrect implementation that tries to mark the promise as handled by calling .then() or .catch() on the object
     142  // will fail these tests.
     143  assert_false(thenCalled, 'then should not be called');
     144  assert_false(catchCalled, 'catch should not be called');
     145}, 'pipeThrough should not be fooled by an object whose instanceof Promise returns true');
     146
    121147done();
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt

    r217044 r217225  
    6767FAIL ReadableStream with byte source: Throwing in pull in response to read(view) function must error the stream ReadableStreamBYOBReader read() is not implemented
    6868FAIL ReadableStream with byte source: Throwing in pull in response to read(view) must be ignored if the stream is errored in it ReadableStreamBYOBReader read() is not implemented
     69PASS ReadableStream with byte source: default reader + autoAllocateChunkSize + byobRequest interaction
    6970PASS ReadableStreamBYOBReader can be constructed directly
    7071PASS ReadableStreamBYOBReader constructor requires a ReadableStream argument
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.js

    r215164 r217225  
    18981898   'errored in it');
    18991899
     1900promise_test(() => {
     1901  // Tests https://github.com/whatwg/streams/issues/686
     1902
     1903  let controller;
     1904  const rs = new ReadableStream({
     1905    autoAllocateChunkSize: 128,
     1906    start(c) {
     1907      controller = c;
     1908    },
     1909    type: "bytes"
     1910  });
     1911
     1912  const readPromise = rs.getReader().read();
     1913
     1914  const br = controller.byobRequest;
     1915  controller.close();
     1916
     1917  br.respond(0);
     1918
     1919  return readPromise;
     1920}, 'ReadableStream with byte source: default reader + autoAllocateChunkSize + byobRequest interaction');
     1921
    19001922test(() => {
    19011923  const ReadableStreamBYOBReader = new ReadableStream({ type: 'bytes' }).getReader({ mode: 'byob' }).constructor;
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker-expected.txt

    r213882 r217225  
    1 
    2 Harness Error (TIMEOUT), message = null
    31
    42FAIL Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive) assert_equals: [[queueTotalSize]] must clamp to 0 if it becomes negative expected 0 but got 1
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/floating-point-total-queue-size.js

    r213882 r217225  
    118118  return { reader: rs.getReader(), controller };
    119119}
     120
     121done();
  • trunk/LayoutTests/imported/w3c/web-platform-tests/streams/resources/recording-streams.js

    r212202 r217225  
    5353      return undefined;
    5454    },
    55     write(chunk) {
     55    write(chunk, controller) {
    5656      stream.events.push('write', chunk);
    5757
    5858      if (extras.write) {
    59         return extras.write(chunk);
     59        return extras.write(chunk, controller);
    6060      }
    6161
    6262      return undefined;
    6363    },
    64     close(...args) {
    65       assert_array_equals(args, [controllerToCopyOver], 'close must always be called with the controller');
    66 
     64    close() {
    6765      stream.events.push('close');
    6866
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/serializer/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/serializer/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/serializer/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/serializer/htmlserializer.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/serializer/htmlserializer.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/_base.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/_base.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/dom.py
    2220/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treebuilders/etree.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treewalkers/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treewalkers/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treewalkers/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treewalkers/_base.py
    2019/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/treewalkers/dom.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/_base.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/_base.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/datrie.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/datrie.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/py.py
    24 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/trie/py.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/constants.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/constants.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/html5parser.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/html5parser.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/ihatexml.py
    2421/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/inputstream.py
    25 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/inputstream.pyc
    2622/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/sanitizer.py
    2723/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/tokenizer.py
    28 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/tokenizer.pyc
    2924/LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/utils.py
    30 /LayoutTests/imported/w3c/web-platform-tests/tools/html5lib/html5lib/utils.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/XMLParser.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/XMLParser.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/__init__.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/__init__.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/item.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/item.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/log.py
    24 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/log.pyc
    2521/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/manifest.py
    26 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/manifest.pyc
    2722/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/sourcefile.py
    28 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/sourcefile.pyc
    2923/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/update.py
    30 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/update.pyc
    3124/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/utils.py
    32 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/utils.pyc
    3325/LayoutTests/imported/w3c/web-platform-tests/tools/manifest/vcs.py
    34 /LayoutTests/imported/w3c/web-platform-tests/tools/manifest/vcs.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/pytest/.github/w3c-import.log

    r215515 r217225  
    11The tests in this directory were imported from the W3C repository.
    22Do NOT modify these tests directly in WebKit.
    3 Instead, create a pull request on the W3C CSS or WPT github:
    4         https://github.com/w3c/csswg-test
     3Instead, create a pull request on the WPT github:
    54        https://github.com/w3c/web-platform-tests
    65
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/_base.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/_base.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/hybi.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/hybi.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/hybi00.py
    24 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/hybi00.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/_stream_base.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/_stream_base.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/_stream_hixie75.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/_stream_hixie75.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/_stream_hybi.py
    24 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/_stream_hybi.pyc
    2521/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/common.py
    26 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/common.pyc
    2722/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/dispatch.py
    28 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/dispatch.pyc
    2923/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/extensions.py
    30 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/extensions.pyc
    3124/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/fast_masking.i
    3225/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/headerparserhandler.py
    3326/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/http_header_util.py
    34 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/http_header_util.pyc
    3527/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/memorizingfile.py
    36 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/memorizingfile.pyc
    3728/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/msgutil.py
    38 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/msgutil.pyc
    3929/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/mux.py
    40 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/mux.pyc
    4130/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/standalone.py
    42 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/standalone.pyc
    4331/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/stream.py
    44 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/stream.pyc
    4532/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/util.py
    46 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/util.pyc
    4733/LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/xhr_benchmark_handler.py
    48 /LayoutTests/imported/w3c/web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/xhr_benchmark_handler.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/serve/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/serve/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/serve/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/serve/serve.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/serve/serve.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/six/w3c-import.log

    r217047 r217225  
    2323/LayoutTests/imported/w3c/web-platform-tests/tools/six/setup.py
    2424/LayoutTests/imported/w3c/web-platform-tests/tools/six/six.py
    25 /LayoutTests/imported/w3c/web-platform-tests/tools/six/six.pyc
    2625/LayoutTests/imported/w3c/web-platform-tests/tools/six/test_six.py
    2726/LayoutTests/imported/w3c/web-platform-tests/tools/six/tox.ini
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/base.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/base.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/openssl.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/openssl.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/pregenerated.py
    24 /LayoutTests/imported/w3c/web-platform-tests/tools/sslutils/pregenerated.pyc
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/appveyor.yml
    2019/LayoutTests/imported/w3c/web-platform-tests/tools/conftest.py
    2120/LayoutTests/imported/w3c/web-platform-tests/tools/localpaths.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/localpaths.pyc
    2321/LayoutTests/imported/w3c/web-platform-tests/tools/pytest.ini
    2422/LayoutTests/imported/w3c/web-platform-tests/tools/tox.ini
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/webdriver/webdriver/client.py

    r217047 r217225  
    121121    def _pointer_action(self, subtype, button):
    122122        self._actions.append({"type": subtype, "button": button})
     123
     124    def pause(self, duration):
     125        self._actions.append({"type": "pause", "duration": duration})
     126        return self
    123127
    124128    def pointer_move(self, x, y, duration=None, origin=None):
     
    144148        return self
    145149
    146     def pointer_up(self, button):
     150    def pointer_up(self, button=0):
    147151        """Queue a pointerUp action for `button`.
    148152
    149153        :param button: Pointer button to perform action with.
     154                       Default: 0, which represents main device button.
    150155        """
    151156        self._pointer_action("pointerUp", button)
    152157        return self
    153158
    154     def pointer_down(self, button):
     159    def pointer_down(self, button=0):
    155160        """Queue a pointerDown action for `button`.
    156161
    157162        :param button: Pointer button to perform action with.
     163                       Default: 0, which represents main device button.
    158164        """
    159165        self._pointer_action("pointerDown", button)
    160166        return self
     167
     168    def click(self, element=None, button=0):
     169        """Queue a click with the specified button.
     170
     171        If an element is given, move the pointer to that element first,
     172        otherwise click current pointer coordinates.
     173
     174        :param element: Optional element to click.
     175        :param button: Integer representing pointer button to perform action
     176                       with. Default: 0, which represents main device button.
     177        """
     178        if element:
     179            self.pointer_move(0, 0, origin=element)
     180        return self.pointer_down(button).pointer_up(button)
    161181
    162182    def key_up(self, value):
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/webdriver/webdriver/transport.py

    r215515 r217225  
    4141
    4242        return cls(status, body)
     43
    4344
    4445class HTTPWireProtocol(object):
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/requirements_firefox.txt

    r217047 r217225  
    44mozcrash >= 0.13
    55mozrunner >= 6.7
     6mozleak >= 0.1
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/base.py

    r217047 r217225  
    8484        pass
    8585
     86    def settings(self, test):
     87        return {}
     88
    8689    @abstractmethod
    87     def start(self):
     90    def start(self, **kwargs):
    8891        """Launch the browser object and get it into a state where is is ready to run tests"""
    8992        pass
     
    127130        super(NullBrowser, self).__init__(logger)
    128131
    129     def start(self):
     132    def start(self, **kwargs):
    130133        """No-op browser to use in scenarios where the TestRunnerManager shouldn't
    131134        actually own the browser process (e.g. Servo where we start one browser
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py

    r217047 r217225  
    2121
    2222
    23 def browser_kwargs(**kwargs):
     23def browser_kwargs(test_type, run_info_data, **kwargs):
    2424    return {"binary": kwargs["binary"],
    2525            "webdriver_binary": kwargs["webdriver_binary"],
     
    7373                                         args=webdriver_args)
    7474
    75     def start(self):
     75    def start(self, **kwargs):
    7676        self.server.start(block=False)
    7777
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/edge.py

    r217047 r217225  
    5252        self.webdriver_port = self.server.port
    5353
    54     def start(self):
     54    def start(self, **kwargs):
    5555        print self.server.url
    5656        self.server.start()
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py

    r217047 r217225  
    66
    77import mozinfo
     8import mozleak
    89from mozprocess import ProcessHandler
    910from mozprofile import FirefoxProfile, Preferences
     
    4243
    4344
     45def get_timeout_multiplier(test_type, run_info_data, **kwargs):
     46    if kwargs["timeout_multiplier"] is not None:
     47        return kwargs["timeout_multiplier"]
     48    if test_type == "reftest":
     49        if run_info_data["debug"] or run_info_data.get("asan"):
     50            return 4
     51        else:
     52            return 2
     53    elif run_info_data["debug"] or run_info_data.get("asan"):
     54        return 3
     55    return 1
     56
     57
    4458def check_args(**kwargs):
    4559    require_arg(kwargs, "binary")
     
    4862
    4963
    50 def browser_kwargs(**kwargs):
     64def browser_kwargs(test_type, run_info_data, **kwargs):
    5165    return {"binary": kwargs["binary"],
    5266            "prefs_root": kwargs["prefs_root"],
     
    5973            "e10s": kwargs["gecko_e10s"],
    6074            "stackfix_dir": kwargs["stackfix_dir"],
    61             "binary_args": kwargs["binary_args"]}
     75            "binary_args": kwargs["binary_args"],
     76            "timeout_multiplier": get_timeout_multiplier(test_type,
     77                                                         run_info_data,
     78                                                         **kwargs),
     79            "leak_check": kwargs["leak_check"]}
    6280
    6381
     
    6785                                           cache_manager, **kwargs)
    6886    executor_kwargs["close_after_done"] = test_type != "reftest"
    69     if kwargs["timeout_multiplier"] is None:
    70         if test_type == "reftest":
    71             if run_info_data["debug"] or run_info_data.get("asan"):
    72                 executor_kwargs["timeout_multiplier"] = 4
    73             else:
    74                 executor_kwargs["timeout_multiplier"] = 2
    75         elif run_info_data["debug"] or run_info_data.get("asan"):
    76             executor_kwargs["timeout_multiplier"] = 3
     87    executor_kwargs["timeout_multiplier"] = get_timeout_multiplier(test_type,
     88                                                                   run_info_data,
     89                                                                   **kwargs)
    7790    if test_type == "wdspec":
    7891        executor_kwargs["binary"] = kwargs["binary"]
     
    120133                 symbols_path=None, stackwalk_binary=None, certutil_binary=None,
    121134                 ca_certificate_path=None, e10s=False, stackfix_dir=None,
    122                  binary_args=None):
     135                 binary_args=None, timeout_multiplier=None, leak_check=False):
    123136        Browser.__init__(self, logger)
    124137        self.binary = binary
     
    141154            self.stack_fixer = None
    142155
    143     def start(self):
    144         self.marionette_port = get_free_port(2828, exclude=self.used_ports)
    145         self.used_ports.add(self.marionette_port)
     156        if timeout_multiplier:
     157            self.init_timeout = self.init_timeout * timeout_multiplier
     158
     159        self.leak_report_file = None
     160        self.leak_check = leak_check
     161
     162    def settings(self, test):
     163        return {"check_leaks": self.leak_check and not test.leaks}
     164
     165    def start(self, **kwargs):
     166        if self.marionette_port is None:
     167            self.marionette_port = get_free_port(2828, exclude=self.used_ports)
     168            self.used_ports.add(self.marionette_port)
    146169
    147170        env = os.environ.copy()
     
    154177        self.profile = FirefoxProfile(locations=locations,
    155178                                      preferences=preferences)
    156         self.profile.set_preferences({"marionette.enabled": True,
    157                                       "marionette.port": self.marionette_port,
     179        self.profile.set_preferences({"marionette.port": self.marionette_port,
    158180                                      "dom.disable_open_during_load": False,
    159181                                      "network.dns.localDomains": ",".join(hostnames),
     
    162184        if self.e10s:
    163185            self.profile.set_preferences({"browser.tabs.remote.autostart": True})
     186
     187        if self.leak_check and kwargs.get("check_leaks", True):
     188            self.leak_report_file = os.path.join(self.profile.profile, "runtests_leaks.log")
     189            if os.path.exists(self.leak_report_file):
     190                os.remove(self.leak_report_file)
     191            env["XPCOM_MEM_BLOAT_LOG"] = self.leak_report_file
     192        else:
     193            self.leak_report_file = None
    164194
    165195        # Bug 1262954: winxp + e10s, disable hwaccel
     
    218248                # This can happen on Windows if the process is already dead
    219249                pass
     250        self.logger.debug("stopped")
     251
     252    def process_leaks(self):
     253        self.logger.debug("PROCESS LEAKS %s" % self.leak_report_file)
     254        if self.leak_report_file is None:
     255            return
     256        mozleak.process_leak_log(
     257            self.leak_report_file,
     258            leak_thresholds={
     259                "default": 0,
     260                "tab": 10000,  # See dependencies of bug 1051230.
     261                # GMP rarely gets a log, but when it does, it leaks a little.
     262                "geckomediaplugin": 20000,
     263            },
     264            ignore_missing_leaks=["geckomediaplugin"],
     265            log=self.logger,
     266            stack_fixer=self.stack_fixer
     267        )
    220268
    221269    def pid(self):
     
    244292    def cleanup(self):
    245293        self.stop()
     294        self.process_leaks()
    246295
    247296    def executor_browser(self):
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce.py

    r217047 r217225  
    9393
    9494
    95 def browser_kwargs(**kwargs):
     95def browser_kwargs(test_type, run_info_data, **kwargs):
    9696    sauce_config = get_sauce_config(**kwargs)
    9797
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/servo.py

    r217047 r217225  
    2828
    2929
    30 def browser_kwargs(**kwargs):
     30def browser_kwargs(test_type, run_info_data, **kwargs):
    3131    return {
    3232        "binary": kwargs["binary"],
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py

    r217047 r217225  
    4040
    4141
    42 def browser_kwargs(**kwargs):
     42def browser_kwargs(test_type, run_info_data, **kwargs):
    4343    return {
    4444        "binary": kwargs["binary"],
     
    9292        self.user_stylesheets = user_stylesheets if user_stylesheets else []
    9393
    94     def start(self):
     94    def start(self, **kwargs):
    9595        self.webdriver_port = get_free_port(4444, exclude=self.used_ports)
    9696        self.used_ports.add(self.webdriver_port)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py

    r217047 r217225  
    4949
    5050class MarionetteProtocol(Protocol):
    51     def __init__(self, executor, browser):
     51    def __init__(self, executor, browser, timeout_multiplier=1):
    5252        do_delayed_imports()
    5353
     
    5555        self.marionette = None
    5656        self.marionette_port = browser.marionette_port
     57        self.timeout_multiplier = timeout_multiplier
    5758        self.timeout = None
    5859        self.runner_handle = None
     
    6364
    6465        self.logger.debug("Connecting to Marionette on port %i" % self.marionette_port)
     66        startup_timeout = marionette.Marionette.DEFAULT_STARTUP_TIMEOUT * self.timeout_multiplier
    6567        self.marionette = marionette.Marionette(host='localhost',
    6668                                                port=self.marionette_port,
    67                                                 socket_timeout=None)
     69                                                socket_timeout=None,
     70                                                startup_timeout=startup_timeout)
    6871
    6972        # XXX Move this timeout somewhere
    7073        self.logger.debug("Waiting for Marionette connection")
    7174        while True:
    72             success = self.marionette.wait_for_port(60)
     75            success = self.marionette.wait_for_port(60 * self.timeout_multiplier)
    7376            #When running in a debugger wait indefinitely for firefox to start
    7477            if success or self.executor.debug_info is None:
     
    408411                                     debug_info=debug_info)
    409412
    410         self.protocol = MarionetteProtocol(self, browser)
     413        self.protocol = MarionetteProtocol(self, browser, timeout_multiplier)
    411414        self.script = open(os.path.join(here, "testharness_marionette.js")).read()
    412415        self.close_after_done = close_after_done
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py

    r217047 r217225  
    113113
    114114    @property
     115    def leaks(self):
     116        return bool_prop("leaks", self)
     117
     118    @property
    115119    def tags(self):
    116120        return tags(self)
     
    129133    def restart_after(self):
    130134        return bool_prop("restart-after", self)
     135
     136    @property
     137    def leaks(self):
     138        return bool_prop("leaks", self)
    131139
    132140    @property
     
    176184
    177185    @property
     186    def leaks(self):
     187        return bool_prop("leaks", self)
     188
     189    @property
    178190    def tags(self):
    179191        return tags(self)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/testloader.py

    r217047 r217225  
    9393
    9494            data = by_dir[test_dir]
    95             time = sum(wpttest.DEFAULT_TIMEOUT if test.timeout !=
    96                        "long" else wpttest.LONG_TIMEOUT for test in tests)
     95            time = sum(test.default_timeout if test.timeout !=
     96                       "long" else test.long_timeout for test in tests)
    9797            data.time += time
    9898            total_time += time
     
    628628            except Empty:
    629629                return None
    630 
    631630        return self.current_queue
    632631
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py

    r217047 r217225  
    154154        self.browser = browser
    155155        self.no_timeout = no_timeout
     156        self.browser_settings = None
    156157
    157158        self.started = False
    158159
    159160        self.init_timer = None
     161
     162    def update_settings(self, test):
     163        browser_settings = self.browser.settings(test)
     164        restart_required = ((self.browser_settings is not None and
     165                             self.browser_settings != browser_settings) or
     166                            test.expected() == "CRASH")
     167        self.browser_settings = browser_settings
     168        return restart_required
    160169
    161170    def init(self):
     
    179188                if self.init_timer is not None:
    180189                    self.init_timer.start()
    181                 self.browser.start()
     190                self.logger.debug("Starting browser with settings %r" % self.browser_settings)
     191                self.browser.start(**self.browser_settings)
    182192                self.browser_pid = self.browser.pid()
    183193            except:
     
    438448            return RunnerManagerState.error()
    439449
     450        self.browser.update_settings(self.state.test)
     451
    440452        result = self.browser.init()
    441453        if result is Stop:
     
    496508            try:
    497509                # Need to block here just to allow for contention with other processes
    498                 test = test_queue.get(block=True, timeout=1)
     510                test = test_queue.get(block=True, timeout=2)
    499511            except Empty:
    500                 pass
     512                if test_queue.empty():
     513                    test_queue = None
    501514        return test, test_queue
    502515
     
    504517        assert isinstance(self.state, RunnerManagerState.running)
    505518        assert self.state.test is not None
     519
     520        if self.browser.update_settings(self.state.test):
     521            self.logger.info("Restarting browser for new test environment")
     522            return RunnerManagerState.restarting(self.state.test,
     523                                                 self.state.test_queue)
    506524
    507525        self.logger.test_start(self.state.test.id)
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/tests/test_chunker.py

    r217047 r217225  
    1313
    1414class MockTest(object):
     15    default_timeout = 10
     16
    1517    def __init__(self, id, timeout=10):
    1618        self.id = id
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/update/sync.py

    r217047 r217225  
     1import fnmatch
    12import os
     3import re
    24import shutil
    35import sys
     
    4345
    4446
    45 def copy_wpt_tree(tree, dest):
     47def copy_wpt_tree(tree, dest, excludes=None, includes=None):
    4648    """Copy the working copy of a Tree to a destination directory.
    4749
     
    5254
    5355    shutil.rmtree(dest)
     56
    5457    os.mkdir(dest)
    5558
     59    if excludes is None:
     60        excludes = []
     61
     62    excludes = [re.compile(fnmatch.translate(item)) for item in excludes]
     63
     64    if includes is None:
     65        includes = []
     66
     67    includes = [re.compile(fnmatch.translate(item)) for item in includes]
     68
    5669    for tree_path in tree.paths():
     70        if (any(item.match(tree_path) for item in excludes) and
     71            not any(item.match(tree_path) for item in includes)):
     72            continue
     73
    5774        source_path = os.path.join(tree.root, tree_path)
    5875        dest_path = os.path.join(dest, tree_path)
     
    7996    with open(os.path.join(dest, "LICENSE"), "w") as f:
    8097        f.write(bsd_license)
     98
    8199
    82100class UpdateCheckout(Step):
     
    143161    def create(self, state):
    144162        copy_wpt_tree(state.sync_tree,
    145                       state.tests_path)
     163                      state.tests_path,
     164                      excludes=state.path_excludes,
     165                      includes=state.path_includes)
    146166
    147167
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/update/tree.py

    r217047 r217225  
    313313        for repo_path in repo_paths:
    314314            paths = vcs.git("ls-tree", "-r", "--name-only", "HEAD", repo=repo_path).split("\n")
    315             rel_path = os.path.relpath(repo_path, self.root)
    316             rv.extend(os.path.join(rel_path, item.strip()) for item in paths if item.strip())
    317 
     315            rv.extend(os.path.relpath(os.path.join(repo_path, item), self.root) for item in paths
     316                      if item.strip())
    318317        return rv
    319318
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/update/update.py

    r217047 r217225  
    7474            state.no_patch = kwargs["no_patch"]
    7575            state.suite_name = kwargs["suite_name"]
     76            state.path_excludes = kwargs["exclude"]
     77            state.path_includes = kwargs["include"]
    7678            runner = SyncFromUpstreamRunner(self.logger, state)
    7779            runner.run()
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py

    r217047 r217225  
    178178                             default=[], metavar="PREF=VALUE",
    179179                             help="Defines an extra user preference (overrides those in prefs_root)")
     180    gecko_group.add_argument("--leak-check", dest="leak_check", action="store_true",
     181                             help="Enable leak checking")
    180182
    181183    servo_group = parser.add_argument_group("Servo-specific")
     
    425427    parser.add_argument("--continue", action="store_true", help="Continue a previously started run of the update script")
    426428    parser.add_argument("--abort", action="store_true", help="Clear state from a previous incomplete run of the update script")
     429    parser.add_argument("--exclude", action="store", nargs="*",
     430                        help="List of glob-style paths to exclude when syncing tests")
     431    parser.add_argument("--include", action="store", nargs="*",
     432                        help="List of glob-style paths to include which would otherwise be excluded when syncing tests")
    427433    # Should make this required iff run=logfile
    428434    parser.add_argument("run_log", nargs="*", type=abs_path,
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/wptrunner.py

    r217047 r217225  
    159159                raise
    160160
    161             browser_kwargs = get_browser_kwargs(ssl_env=ssl_env, **kwargs)
    162 
    163161            repeat = kwargs["repeat"]
    164162            repeat_count = 0
     
    187185                        browser_cls = target_browser_cls
    188186
    189                     for test in test_loader.disabled_tests[test_type]:
    190                         logger.test_start(test.id)
    191                         logger.test_end(test.id, status="SKIP")
     187                    browser_kwargs = get_browser_kwargs(test_type,
     188                                                        run_info,
     189                                                        ssl_env=ssl_env,
     190                                                        **kwargs)
     191
    192192
    193193                    executor_cls = executor_classes.get(test_type)
     
    203203                        continue
    204204
     205                    for test in test_loader.disabled_tests[test_type]:
     206                        logger.test_start(test.id)
     207                        logger.test_end(test.id, status="SKIP")
    205208
    206209                    with ManagerGroup("web-platform-tests",
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py

    r217047 r217225  
    1 DEFAULT_TIMEOUT = 10  # seconds
    2 LONG_TIMEOUT = 60  # seconds
    3 
    41import os
    52
     
    9693
    9794class Test(object):
     95
    9896    result_cls = None
    9997    subtest_result_cls = None
    10098    test_type = None
    10199
     100    default_timeout = 10  # seconds
     101    long_timeout = 60  # seconds
     102
    102103    def __init__(self, tests_root, url, inherit_metadata, test_metadata,
    103                  timeout=DEFAULT_TIMEOUT, path=None, protocol="http"):
     104                 timeout=None, path=None, protocol="http"):
    104105        self.tests_root = tests_root
    105106        self.url = url
    106107        self._inherit_metadata = inherit_metadata
    107108        self._test_metadata = test_metadata
    108         self.timeout = timeout
     109        self.timeout = timeout if timeout is not None else self.default_timeout
    109110        self.path = path
    110111        self.environment = {"protocol": protocol, "prefs": self.prefs}
     
    115116    @classmethod
    116117    def from_manifest(cls, manifest_item, inherit_metadata, test_metadata):
    117         timeout = LONG_TIMEOUT if manifest_item.timeout == "long" else DEFAULT_TIMEOUT
     118        timeout = cls.long_timeout if manifest_item.timeout == "long" else cls.default_timeout
    118119        protocol = "https" if hasattr(manifest_item, "https") and manifest_item.https else "http"
    119120        return cls(manifest_item.source_file.tests_root,
     
    167168            if restart_after is not None:
    168169                return True
     170        return False
     171
     172    @property
     173    def leaks(self):
     174        for meta in self.itermeta(None):
     175            leaks = meta.leaks
     176            if leaks is not None:
     177                return leaks
    169178        return False
    170179
     
    238247
    239248    def __init__(self, tests_root, url, inherit_metadata, test_metadata, references,
    240                  timeout=DEFAULT_TIMEOUT, path=None, viewport_size=None,
    241                  dpi=None, protocol="http"):
     249                 timeout=None, path=None, viewport_size=None, dpi=None, protocol="http"):
    242250        Test.__init__(self, tests_root, url, inherit_metadata, test_metadata, timeout,
    243251                      path, protocol)
     
    259267                      references_seen=None):
    260268
    261         timeout = LONG_TIMEOUT if manifest_test.timeout == "long" else DEFAULT_TIMEOUT
     269        timeout = cls.long_timeout if manifest_test.timeout == "long" else cls.default_timeout
    262270
    263271        if nodes is None:
     
    323331
    324332class WdspecTest(Test):
     333
    325334    result_cls = WdspecResult
    326335    subtest_result_cls = WdspecSubtestResult
    327336    test_type = "wdspec"
     337
     338    default_timeout = 25
     339    long_timeout = 120
    328340
    329341
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/w3c-import.log

    r217047 r217225  
    1616List of files:
    1717/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/__init__.py
    18 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/__init__.pyc
    1918/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/constants.py
    20 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/constants.pyc
    2119/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/handlers.py
    22 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/handlers.pyc
    2320/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/logger.py
    24 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/logger.pyc
    2521/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/pipes.py
    26 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/pipes.pyc
    2722/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/ranges.py
    28 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/ranges.pyc
    2923/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/request.py
    30 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/request.pyc
    3124/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/response.py
    32 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/response.pyc
    3325/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/router.py
    34 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/router.pyc
    3526/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/routes.py
    36 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/routes.pyc
    3727/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/server.py
    38 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/server.pyc
    3928/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/stash.py
    40 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/stash.pyc
    4129/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/utils.py
    42 /LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/utils.pyc
    4330/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/wptserve.py
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure.html

    r215164 r217225  
    99        <script src="/resources/testharness.js"></script>
    1010        <script src="/resources/testharnessreport.js"></script>
     11        <script src="/common/performance-timeline-utils.js"></script>
    1112        <script src="resources/webperftestharness.js"></script>
    1213
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_navigation_timing.html

    r215164 r217225  
    1010        <script src="/resources/testharness.js"></script>
    1111        <script src="/resources/testharnessreport.js"></script>
     12        <script src="/common/performance-timeline-utils.js"></script>
    1213        <script src="resources/webperftestharness.js"></script>
    1314
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/resources/webperftestharness.js

    r215164 r217225  
    1313//
    1414
    15 var performanceNamespace = self.performance;
    1615var timingAttributes = [
    1716    "navigationStart",
     
    3837];
    3938
    40 var namespace_check = false;
    41 
    4239function has_required_interfaces()
    4340{
     
    5350
    5451    return true;
    55 }
    56 
    57 //
    58 // All test() functions in the WebPerf test suite should use wp_test() instead.
    59 //
    60 // wp_test() validates the window.performance namespace exists prior to running tests and
    61 // immediately shows a single failure if it does not.
    62 //
    63 
    64 function wp_test(func, msg, properties)
    65 {
    66     // only run the namespace check once
    67     if (!namespace_check)
    68     {
    69         namespace_check = true;
    70 
    71         if (performanceNamespace === undefined || performanceNamespace == null)
    72         {
    73             // show a single error that window.performance is undefined
    74             test(function() { assert_true(performanceNamespace !== undefined && performanceNamespace != null, "window.performance is defined and not null"); }, "window.performance is defined and not null.", {author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "});
    75         }
    76     }
    77 
    78     test(func, msg, properties);
    7952}
    8053
     
    146119//
    147120
    148 function test_true(value, msg, properties)
    149 {
    150     wp_test(function () { assert_true(value, msg); }, msg, properties);
    151 }
    152 
    153 function test_equals(value, equals, msg, properties)
    154 {
    155     wp_test(function () { assert_equals(value, equals, msg); }, msg, properties);
    156 }
    157 
    158121function test_greater_than(value, greater_than, msg, properties)
    159122{
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_clear_marks-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    78After creating each mark, performance.clearMarks() is called three times. First, it is provided with a name of "markUndefined", a non-existent mark, which shouldn't change the state of the Performance Timeline. Next, it is provided with a name of "mark2", after which, this mark should no longer be present in the Performance Timeline. Finally, performance.clearMarks() is called without any name provided. After this call, no marks should be present in the Performance Timeline. The state of the Performance Timeline is tested with the performance.getEntriesByType() and performance.getEntries() methods.
    89
    9 PASS window.performance is defined
    10 PASS Two marks have been created for this test.
    11 PASS After a call to window.performance.clearMarks("markUndefined"), where "markUndefined" is a non-existent mark, window.performance.getEntriesByName("mark1") returns an object containing the "mark1" mark.
    12 PASS After a call to window.performance.clearMarks("markUndefined"), where "markUndefined" is a non-existent mark, window.performance.getEntriesByName("mark2") returns an object containing the "mark2" mark.
    13 PASS After a call to window.performance.clearMarks("mark1"), window.performance.getEntriesByName("mark1") returns an empty object.
    14 PASS After a call to window.performance.clearMarks("mark1"), window.performance.getEntriesByName("mark2") returns an object containing the "mark2" mark.
    15 PASS After a call to window.performance.clearMarks(), window.performance.getEntriesByType("mark") returns an empty object.
     10FAIL window.performance User Timing clearMarks() method is working properly ReferenceError: Can't find variable: wp_test
    1611
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_clear_measures-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    78After creating each measure, performance.clearMeasures() is called three times. First, it is provided with a name of "measureUndefined", a non-existent measure, which shouldn't change the state of the Performance Timeline. Next, it is provided with a name of "measure2", after which, this measure should no longer be present in the Performance Timeline. Finally, performance.clearMeasures() is called without any name provided. After this call, no measures should be present in the Performance Timeline. The state of the Performance Timeline is tested with the performance.getEntriesByType() and performance.getEntries() methods.
    89
    9 PASS window.performance is defined
    10 PASS Two measures have been created for this test.
    11 PASS After a call to window.performance.clearMeasures("measureUndefined"), where "measureUndefined" is a non-existent measure, window.performance.getEntriesByName("measure1") returns an object containing the "measure1" measure.
    12 PASS After a call to window.performance.clearMeasures("measureUndefined"), where "measureUndefined" is a non-existent measure, window.performance.getEntriesByName("measure2") returns an object containing the "measure2" measure.
    13 PASS After a call to window.performance.clearMeasures("measure1"), window.performance.getEntriesByName("measure1") returns an empty object.
    14 PASS After a call to window.performance.clearMeasures("measure1"), window.performance.getEntriesByName("measure2") returns an object containing the "measure2" measure.
    15 PASS After a call to window.performance.clearMeasures(), window.performance.getEntriesByType("measure") returns an empty object.
     10FAIL window.performance User Timing clearMeasures() method is working properly ReferenceError: Can't find variable: wp_test
    1611
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_entry_type-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 25: ReferenceError: Can't find variable: test_equals
    12Description
    23
     
    45
    56
    6 PASS Class name of mark entry should be PerformanceMark.
    7 PASS Class name of measure entry should be PerformanceMeasure.
     7FAIL user timing entry type ReferenceError: Can't find variable: test_equals
    88
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_exists-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    45
    56
    6 PASS window.performance is defined
    7 PASS window.performance.mark is defined.
    8 PASS window.performance.clearMarks is defined.
    9 PASS window.performance.measure is defined.
    10 PASS window.performance.clearMeasures is defined.
     7FAIL window.performance User Timing exists ReferenceError: Can't find variable: wp_test
    118
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_mark-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    78After creating each mark, the existence of these marks is validated by calling performance.getEntriesByName() (both with and without the entryType parameter provided), performance.getEntriesByType(), and performance.getEntries()
    89
    9 PASS window.performance is defined
    10 PASS window.performance.getEntriesByName("mark1")[0].name == "mark1"
    11 PASS window.performance.getEntriesByName("mark1")[0].startTime is approximately correct (up to 20ms difference allowed)
    12 PASS window.performance.getEntriesByName("mark1")[0].entryType == "mark"
    13 PASS window.performance.getEntriesByName("mark1")[0].duration == 0
    14 PASS window.performance.getEntriesByName("mark1")[1].name == "mark1"
    15 PASS window.performance.getEntriesByName("mark1")[1].startTime is approximately correct (up to 20ms difference allowed)
    16 PASS window.performance.getEntriesByName("mark1")[1].entryType == "mark"
    17 PASS window.performance.getEntriesByName("mark1")[1].duration == 0
    18 PASS window.performance.getEntriesByName("mark1", "mark") returns an object containing the "mark1" mark in the correct order
    19 PASS window.performance.getEntriesByName("mark1", "mark") returns an object containing the duplicate "mark1" mark in the correct order
    20 PASS The "mark1" mark returned by window.performance.getEntriesByName("mark1", "mark") matches the the "mark1" mark returned by window.performance.getEntriesByName("mark1")
    21 PASS The duplicate "mark1" mark returned by window.performance.getEntriesByName("mark1", "mark") matches the the duplicate "mark1" mark returned by window.performance.getEntriesByName("mark1")
    22 PASS window.performance.getEntries() returns an object containing the original "mark1" mark in the correct order
    23 PASS window.performance.getEntries() returns an object containing the duplicate "mark1" mark in the correct order
    24 PASS The "mark1" mark returned by window.performance.getEntries() matches the the "mark1" mark returned by window.performance.getEntriesByName("mark1")
    25 PASS The "mark1" mark returned by window.performance.getEntries() matches the the duplicate "mark1" mark returned by window.performance.getEntriesByName("mark1")
    26 PASS window.performance.getEntriesByType("mark") returns an object containing the original "mark1" mark in the correct order
    27 PASS window.performance.getEntriesByType("mark") returns an object containing the duplicate "mark1" mark in the correct order
    28 PASS The "mark1" mark returned by window.performance.getEntriesByType("mark") matches the the "mark1" mark returned by window.performance.getEntriesByName("mark1")
    29 PASS The "mark1" mark returned by window.performance.getEntriesByType("mark") matches the the duplicate "mark1" mark returned by window.performance.getEntriesByName("mark1")
     10FAIL window.performance User Timing mark() method is working properly ReferenceError: Can't find variable: wp_test
    3011
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_with_timing_attributes-expected.txt

    r211930 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    45
    56
    6 PASS window.performance is defined
    7 FAIL performance.mark and performance.measure should throw if used with timing attribute values assert_throws: function "function () { window.performance.measure(timingAttributes[i]); }" did not throw
    8 PASS performance.mark and performance.measure should not throw if used with timing attribute values in workers
     7FAIL exception test of performance.mark and performance.measure ReferenceError: Can't find variable: wp_test
    98
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_without_parameter-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
     2CONSOLE MESSAGE: line 25: ReferenceError: Can't find variable: test_true
    13Description
    24
     
    46
    57
    6 PASS window.performance is defined
    7 PASS window.performance.mark() threw an exception when invoke without a parameter.
    8 PASS window.performance.mark() threw a TYPE_ERR exception when invoke without a parameter.
    9 PASS window.performance.measure() threw an exception when invoke without a parameter.
    10 PASS window.performance.measure() threw a TYPE_ERR exception when invoke without a parameter.
     8FAIL exception test of performance.mark and performance.measure ReferenceError: Can't find variable: wp_test
    119
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt

    r215164 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
     2CONSOLE MESSAGE: line 52: ReferenceError: Can't find variable: test_true
    13Description
    24
     
    46
    57
    6 PASS window.performance is defined
    7 PASS window.performance.mark("navigationStart") threw an exception.
    8 PASS window.performance.mark("navigationStart") threw a SYNTAX_ERR exception.
    9 PASS window.performance.mark("unloadEventStart") threw an exception.
    10 PASS window.performance.mark("unloadEventStart") threw a SYNTAX_ERR exception.
    11 PASS window.performance.mark("unloadEventEnd") threw an exception.
    12 PASS window.performance.mark("unloadEventEnd") threw a SYNTAX_ERR exception.
    13 PASS window.performance.mark("redirectStart") threw an exception.
    14 PASS window.performance.mark("redirectStart") threw a SYNTAX_ERR exception.
    15 PASS window.performance.mark("redirectEnd") threw an exception.
    16 PASS window.performance.mark("redirectEnd") threw a SYNTAX_ERR exception.
    17 PASS window.performance.mark("fetchStart") threw an exception.
    18 PASS window.performance.mark("fetchStart") threw a SYNTAX_ERR exception.
    19 PASS window.performance.mark("domainLookupStart") threw an exception.
    20 PASS window.performance.mark("domainLookupStart") threw a SYNTAX_ERR exception.
    21 PASS window.performance.mark("domainLookupEnd") threw an exception.
    22 PASS window.performance.mark("domainLookupEnd") threw a SYNTAX_ERR exception.
    23 PASS window.performance.mark("connectStart") threw an exception.
    24 PASS window.performance.mark("connectStart") threw a SYNTAX_ERR exception.
    25 PASS window.performance.mark("connectEnd") threw an exception.
    26 PASS window.performance.mark("connectEnd") threw a SYNTAX_ERR exception.
    27 PASS window.performance.mark("secureConnectionStart") threw an exception.
    28 PASS window.performance.mark("secureConnectionStart") threw a SYNTAX_ERR exception.
    29 PASS window.performance.mark("requestStart") threw an exception.
    30 PASS window.performance.mark("requestStart") threw a SYNTAX_ERR exception.
    31 PASS window.performance.mark("responseStart") threw an exception.
    32 PASS window.performance.mark("responseStart") threw a SYNTAX_ERR exception.
    33 PASS window.performance.mark("responseEnd") threw an exception.
    34 PASS window.performance.mark("responseEnd") threw a SYNTAX_ERR exception.
    35 PASS window.performance.mark("domLoading") threw an exception.
    36 PASS window.performance.mark("domLoading") threw a SYNTAX_ERR exception.
    37 PASS window.performance.mark("domInteractive") threw an exception.
    38 PASS window.performance.mark("domInteractive") threw a SYNTAX_ERR exception.
    39 PASS window.performance.mark("domContentLoadedEventStart") threw an exception.
    40 PASS window.performance.mark("domContentLoadedEventStart") threw a SYNTAX_ERR exception.
    41 PASS window.performance.mark("domContentLoadedEventEnd") threw an exception.
    42 PASS window.performance.mark("domContentLoadedEventEnd") threw a SYNTAX_ERR exception.
    43 PASS window.performance.mark("domComplete") threw an exception.
    44 PASS window.performance.mark("domComplete") threw a SYNTAX_ERR exception.
    45 PASS window.performance.mark("loadEventStart") threw an exception.
    46 PASS window.performance.mark("loadEventStart") threw a SYNTAX_ERR exception.
    47 PASS window.performance.mark("loadEventEnd") threw an exception.
    48 PASS window.performance.mark("loadEventEnd") threw a SYNTAX_ERR exception.
     8FAIL window.performance User Timing mark() method is throwing the proper exceptions ReferenceError: Can't find variable: wp_test
    499
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_mark_with_name_of_navigation_timing_optional_attribute-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
     2CONSOLE MESSAGE: line 30: ReferenceError: Can't find variable: test_true
    13Description
    24
     
    46
    57
    6 PASS window.performance is defined
    7 PASS window.performance.mark("secureConnectionStart") threw an exception when secureConnectionStart attribute of Navigation Timing is supported.
    8 PASS window.performance.mark("secureConnectionStart") threw a SYNTAX_ERR when secureConnectionStart attribute of Navigation Timing is supported.
     8FAIL exception test of performance.mark ReferenceError: Can't find variable: wp_test
    99
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_measure-expected.txt

    r211333 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    910After creating each measure, the existence of these measures is validated by calling performance.getEntriesByName() (both with and without the entryType parameter provided), performance.getEntriesByType(), and performance.getEntries()
    1011
    11 PASS window.performance is defined
    12 PASS window.performance.getEntriesByName("measure_no_start_no_end")[0].name == "measure_no_start_no_end"
    13 PASS window.performance.getEntriesByName("measure_no_start_no_end")[0].startTime is correct
    14 PASS window.performance.getEntriesByName("measure_no_start_no_end")[0].entryType == "measure"
    15 PASS window.performance.getEntriesByName("measure_no_start_no_end")[0].duration is approximately correct (up to 20ms difference allowed)
    16 PASS window.performance.getEntriesByName("measure_start_no_end")[0].name == "measure_start_no_end"
    17 PASS window.performance.getEntriesByName("measure_start_no_end")[0].startTime is correct
    18 PASS window.performance.getEntriesByName("measure_start_no_end")[0].entryType == "measure"
    19 PASS window.performance.getEntriesByName("measure_start_no_end")[0].duration is approximately correct (up to 20ms difference allowed)
    20 PASS window.performance.getEntriesByName("measure_start_end")[0].name == "measure_start_end"
    21 PASS window.performance.getEntriesByName("measure_start_end")[0].startTime is correct
    22 PASS window.performance.getEntriesByName("measure_start_end")[0].entryType == "measure"
    23 PASS window.performance.getEntriesByName("measure_start_end")[0].duration is approximately correct (up to 20ms difference allowed)
    24 PASS window.performance.getEntriesByName("measure_no_start_no_end")[1].name == "measure_no_start_no_end"
    25 PASS window.performance.getEntriesByName("measure_no_start_no_end")[1].startTime is correct
    26 PASS window.performance.getEntriesByName("measure_no_start_no_end")[1].entryType == "measure"
    27 PASS window.performance.getEntriesByName("measure_no_start_no_end")[1].duration is approximately correct (up to 20ms difference allowed)
    28 PASS window.performance.getEntriesByName("measure_no_start_no_end", "measure")[0] returns an object containing the "measure_no_start_no_end" measure in the correct order, and its value matches the "measure_no_start_no_end" measure returned by window.performance.getEntriesByName("measure_no_start_no_end")
    29 PASS window.performance.getEntriesByName("measure_start_no_end", "measure")[0] returns an object containing the "measure_start_no_end" measure in the correct order, and its value matches the "measure_start_no_end" measure returned by window.performance.getEntriesByName("measure_start_no_end")
    30 PASS window.performance.getEntriesByName("measure_start_end", "measure")[0] returns an object containing the "measure_start_end" measure in the correct order, and its value matches the "measure_start_end" measure returned by window.performance.getEntriesByName("measure_start_end")
    31 PASS window.performance.getEntriesByName("measure_no_start_no_end", "measure")[1] returns an object containing the "measure_no_start_no_end" measure in the correct order, and its value matches the "measure_no_start_no_end" measure returned by window.performance.getEntriesByName("measure_no_start_no_end")
    32 PASS window.performance.getEntries() returns an object containing the "measure_no_start_no_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_no_start_no_end")[0].
    33 PASS window.performance.getEntries() returns an object containing the "measure_start_no_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_start_no_end")[0].
    34 PASS window.performance.getEntries() returns an object containing the "measure_start_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_start_end")[0].
    35 PASS window.performance.getEntries() returns an object containing the "measure_no_start_no_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_no_start_no_end")[1].
    36 PASS window.performance.getEntries() returns an object containing all test measures in order.
    37 PASS window.performance.getEntriesByType("measure") returns an object containing the "measure_no_start_no_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_no_start_no_end")[0].
    38 PASS window.performance.getEntriesByType("measure") returns an object containing the "measure_start_no_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_start_no_end")[0].
    39 PASS window.performance.getEntriesByType("measure") returns an object containing the "measure_start_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_start_end")[0].
    40 PASS window.performance.getEntriesByType("measure") returns an object containing the "measure_no_start_no_end" measure, and it's value matches the measure returned by window.performance.getEntriesByName("measure_no_start_no_end")[1].
    41 PASS window.performance.getEntriesByType("measure") returns an object containing all test measures in order.
     12FAIL window.performance User Timing measure() method is working properly ReferenceError: Can't find variable: wp_test
    4213
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt

    r215164 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
     2CONSOLE MESSAGE: line 51: ReferenceError: Can't find variable: test_true
    13Description
    24
     
    46
    57
    6 PASS window.performance is defined
    7 PASS window.performance.measure("measure", "mark"), where "mark" is a non-existent mark,  threw an exception.
    8 PASS window.performance.measure("measure", "mark"), where "mark" is a non-existent mark, threw a SYNTAX_ERR exception.
    9 PASS window.performance.measure("measure", "mark", "responseEnd"), where "mark" is a non-existent mark, threw an exception.
    10 PASS window.performance.measure("measure", "mark", "responseEnd"), where "mark" is a non-existent mark, threw a SYNTAX_ERR exception.
    11 PASS window.performance.measure("measure", "navigationStart", "mark"), where "mark" is a non-existent mark, threw an exception.
    12 PASS window.performance.measure("measure", "navigationStart", "mark"), where "mark" is a non-existent mark, threw a SYNTAX_ERR exception.
    13 PASS window.performance.measure("measure", "mark", "mark"), where "mark" is a non-existent mark, threw an exception.
    14 PASS window.performance.measure("measure", "mark", "mark"), where "mark" is a non-existent mark, threw a SYNTAX_ERR exception.
    15 PASS window.performance.measure("measure", "loadEventEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an exception.
    16 PASS window.performance.measure("measure", "loadEventEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an INVALID_ACCESS_ERR exception.
    17 PASS window.performance.measure("measure", "loadEventEnd", "responseEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an exception.
    18 PASS window.performance.measure("measure", "loadEventEnd", "responseEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an INVALID_ACCESS_ERR exception.
    19 PASS window.performance.measure("measure", "navigationStart", "loadEventEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an exception.
    20 PASS window.performance.measure("measure", "navigationStart", "loadEventEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an INVALID_ACCESS_ERR exception.
    21 PASS window.performance.measure("measure", "loadEventEnd", "loadEventEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an exception.
    22 PASS window.performance.measure("measure", "loadEventEnd", "loadEventEnd"), where "loadEventEnd" is a navigation timing attribute with a value of 0, threw an INVALID_ACCESS_ERR exception.
     8FAIL window.performance User Timing measure() method is throwing the proper exceptions ReferenceError: Can't find variable: wp_test
    239
  • trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt

    r212202 r217225  
     1CONSOLE MESSAGE: line 58: ReferenceError: Can't find variable: wp_test
    12Description
    23
     
    910After creating each measure, the existence of these measures is validated by calling performance.getEntriesByName() with each measure name
    1011
    11 PASS window.performance is defined
    12 PASS window.performance.getEntriesByName("measure_nav_start_no_end")[0].name == "measure_nav_start_no_end"
    13 PASS window.performance.getEntriesByName("measure_nav_start_no_end")[0].startTime is correct
    14 PASS window.performance.getEntriesByName("measure_nav_start_no_end")[0].entryType == "measure"
    15 PASS window.performance.getEntriesByName("measure_nav_start_no_end")[0].duration is approximately correct (up to 20ms difference allowed)
    16 PASS window.performance.getEntriesByName("measure_nav_start_mark_end")[0].name == "measure_nav_start_mark_end"
    17 PASS window.performance.getEntriesByName("measure_nav_start_mark_end")[0].startTime is correct
    18 PASS window.performance.getEntriesByName("measure_nav_start_mark_end")[0].entryType == "measure"
    19 PASS window.performance.getEntriesByName("measure_nav_start_mark_end")[0].duration is approximately correct (up to 20ms difference allowed)
    20 PASS window.performance.getEntriesByName("measure_mark_start_nav_end")[0].name == "measure_mark_start_nav_end"
    21 PASS window.performance.getEntriesByName("measure_mark_start_nav_end")[0].startTime is correct
    22 PASS window.performance.getEntriesByName("measure_mark_start_nav_end")[0].entryType == "measure"
    23 PASS window.performance.getEntriesByName("measure_mark_start_nav_end")[0].duration is approximately correct (up to 20ms difference allowed)
    24 PASS window.performance.getEntriesByName("measure_nav_start_nav_end")[0].name == "measure_nav_start_nav_end"
    25 PASS window.performance.getEntriesByName("measure_nav_start_nav_end")[0].startTime is correct
    26 PASS window.performance.getEntriesByName("measure_nav_start_nav_end")[0].entryType == "measure"
    27 PASS window.performance.getEntriesByName("measure_nav_start_nav_end")[0].duration is approximately correct (up to 20ms difference allowed)
     12FAIL window.performance User Timing clearMeasures() method is working properly with navigation timing
     13               attributes ReferenceError: Can't find variable: wp_test
    2814
  • trunk/LayoutTests/imported/w3c/web-platform-tests/w3c-import.log

    r216354 r217225  
    1818/LayoutTests/imported/w3c/web-platform-tests/LICENSE.md
    1919/LayoutTests/imported/w3c/web-platform-tests/README.md
     20/LayoutTests/imported/w3c/web-platform-tests/check_stability.ini
    2021/LayoutTests/imported/w3c/web-platform-tests/check_stability.py
    2122/LayoutTests/imported/w3c/web-platform-tests/ci_built_diff.sh
    2223/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh
    2324/LayoutTests/imported/w3c/web-platform-tests/ci_stability.sh
     25/LayoutTests/imported/w3c/web-platform-tests/ci_unittest.sh
    2426/LayoutTests/imported/w3c/web-platform-tests/config.default.json
    25 /LayoutTests/imported/w3c/web-platform-tests/config.json
    2627/LayoutTests/imported/w3c/web-platform-tests/lint
    2728/LayoutTests/imported/w3c/web-platform-tests/lint.whitelist
     
    2930/LayoutTests/imported/w3c/web-platform-tests/serve
    3031/LayoutTests/imported/w3c/web-platform-tests/serve.py
    31 /LayoutTests/imported/w3c/web-platform-tests/serve.pyc
    3232/LayoutTests/imported/w3c/web-platform-tests/server-side.md
    3333/LayoutTests/imported/w3c/web-platform-tests/update-built-tests.sh
     34/LayoutTests/imported/w3c/web-platform-tests/wptrun
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/OWNERS

    r216537 r217225  
    66@henbos
    77@phoglund
     8@rwaldron
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize-expected.txt

    r216537 r217225  
    11
    2 PASS Setting iceCandidatePoolSize to a valid value: 10
    3 PASS Setting iceCandidatePoolSize to a valid value: 0
    4 PASS Setting iceCandidatePoolSize to a valid value: null
    5 PASS Setting iceCandidatePoolSize to a valid value: undefined
    6 PASS Setting iceCandidatePoolSize to an invalid value: -1
    7 PASS Setting iceCandidatePoolSize to an invalid value: 1000
    8 PASS Setting iceCandidatePoolSize to an invalid value: string
     2PASS Initialize a new RTCPeerConnection with no iceCandidatePoolSize
     3PASS Initialize a new RTCPeerConnection with iceCandidatePoolSize: 0
     4PASS Initialize a new RTCPeerConnection with iceCandidatePoolSize: 255
     5PASS Initialize a new RTCPeerConnection with iceCandidatePoolSize: -1 (Out Of Range)
     6PASS Initialize a new RTCPeerConnection with iceCandidatePoolSize: 256 (Out Of Range)
     7PASS Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 0
     8PASS Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 255
     9PASS Reconfigure RTCPeerConnection instance iceCandidatePoolSize to -1 (Out Of Range)
     10PASS Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 256 (Out Of Range)
    911
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html

    r216537 r217225  
    11<!doctype html>
    2 <html>
    3 <head>
    4 <title>This test checks that RTCConfiguration.iceCandidatePoolSize is set</title>
     2<meta charset="utf-8">
     3<!--
     44.2.1 RTCConfiguration Dictionary
     5
     6  The RTCConfiguration defines a set of parameters to configure how the peer to peer communication established via RTCPeerConnection is established or re-established.
     7
     8  ...
     9
     10  iceCandidatePoolSize of type octet, defaulting to 0
     11    Size of the prefetched ICE pool as defined in [JSEP] (section 3.5.4. and section 4.1.1.).
     12 -->
    513<script src="/resources/testharness.js"></script>
    614<script src="/resources/testharnessreport.js"></script>
    7 </head>
    8 <body>
    915<script>
    10 function testValidPoolSize(size, expectedSize)
    11 {
    12     test(function() {
    13         var pc = new RTCPeerConnection({iceCandidatePoolSize: size})
    14         assert_equals(pc.getConfiguration().iceCandidatePoolSize, expectedSize !== undefined ? expectedSize : size)
    15     }, "Setting iceCandidatePoolSize to a valid value: " + size)
    16 }
    1716
    18 function testInvalidPoolSize(size)
    19 {
    20     test(function() {
    21         assert_throws(new TypeError(), () => new RTCPeerConnection({iceCandidatePoolSize: size}))
    22     }, "Setting iceCandidatePoolSize to an invalid value: " + size)
    23 }
     17/*
    2418
    25 testValidPoolSize(10)
    26 testValidPoolSize(0)
    27 testValidPoolSize(null, 0)
    28 testValidPoolSize(undefined, 0)
     19dictionary RTCConfiguration {
     20    ...
     21    [EnforceRange]
     22    octet                    iceCandidatePoolSize = 0;
     23};
    2924
    30 testInvalidPoolSize(-1)
    31 testInvalidPoolSize(1000)
    32 testInvalidPoolSize("string")
     25... of type octet
     26*/
     27test(() => {
     28  const pc = new RTCPeerConnection();
     29  assert_equals(pc.getConfiguration().iceCandidatePoolSize, 0);
     30}, "Initialize a new RTCPeerConnection with no iceCandidatePoolSize");
     31
     32test(() => {
     33  const pc = new RTCPeerConnection({
     34    iceCandidatePoolSize: 0
     35  });
     36  assert_equals(pc.getConfiguration().iceCandidatePoolSize, 0);
     37}, "Initialize a new RTCPeerConnection with iceCandidatePoolSize: 0");
     38
     39test(() => {
     40  const pc = new RTCPeerConnection({
     41    iceCandidatePoolSize: 255
     42  });
     43  assert_equals(pc.getConfiguration().iceCandidatePoolSize, 255);
     44}, "Initialize a new RTCPeerConnection with iceCandidatePoolSize: 255");
     45
     46test(() => {
     47  assert_throws(new TypeError(), () => {
     48    new RTCPeerConnection({
     49      iceCandidatePoolSize: -1
     50    });
     51  });
     52}, "Initialize a new RTCPeerConnection with iceCandidatePoolSize: -1 (Out Of Range)");
     53
     54test(() => {
     55  assert_throws(new TypeError(), () => {
     56    new RTCPeerConnection({
     57      iceCandidatePoolSize: 256
     58    });
     59  });
     60}, "Initialize a new RTCPeerConnection with iceCandidatePoolSize: 256 (Out Of Range)");
     61
     62
     63/*
     64Reconfiguration
     65*/
     66const pc = new RTCPeerConnection({});
     67
     68test(() => {
     69  pc.setConfiguration({
     70    iceCandidatePoolSize: 0
     71  });
     72  assert_equals(pc.getConfiguration().iceCandidatePoolSize, 0);
     73}, "Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 0");
     74
     75test(() => {
     76  pc.setConfiguration({
     77    iceCandidatePoolSize: 255
     78  });
     79  assert_equals(pc.getConfiguration().iceCandidatePoolSize, 255);
     80}, "Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 255");
     81
     82/*
     83The following tests include an explicit assertion for the existence of a
     84setConfiguration function to prevent the assert_throws from catching the
     85TypeError object that will be thrown when attempting to call the
     86non-existent setConfiguration method (in cases where it has not yet
     87been implemented). Without this check, these tests will pass incorrectly.
     88*/
     89
     90test(() => {
     91  assert_equals(typeof pc.setConfiguration, "function", "RTCPeerConnection.prototype.setConfiguration is not implemented");
     92
     93  assert_throws(new TypeError(), () => {
     94    pc.setConfiguration({
     95      iceCandidatePoolSize: -1
     96    });
     97  });
     98}, "Reconfigure RTCPeerConnection instance iceCandidatePoolSize to -1 (Out Of Range)");
     99
     100test(() => {
     101  assert_equals(typeof pc.setConfiguration, "function", "RTCPeerConnection.prototype.setConfiguration is not implemented");
     102
     103  assert_throws(new TypeError(), () => {
     104    pc.setConfiguration({
     105      iceCandidatePoolSize: 256
     106    });
     107  });
     108}, "Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 256 (Out Of Range)");
    33109</script>
    34 </body>
    35 </html>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/getstats-expected.txt

    r216537 r217225  
    11
    2 FAIL Can get stats from a basic WebRTC call. assert_unreached: Error: assert_not_equals: Did not find peer-connection stats got disallowed value null:  Reached unreachable code
     2Harness Error (TIMEOUT), message = null
     3
     4TIMEOUT Can get stats from a basic WebRTC call. Test timed out
    35Retrieved stats info
    46
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/getstats.html

    r216537 r217225  
    6767        reportDictionary[stats.id] = stats;
    6868      }
     69      showStats.innerHTML = JSON.stringify(reportDictionary, null, 2);
    6970      // Check the stats properties.
    7071      assert_not_equals(report, null);
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/w3c-import.log

    r216537 r217225  
    1919/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCDataChannel-id.html
    2020/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCDataChannelEvent-constructor.html
     21/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCIceCandidate-constructor.html
     22/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html
    2123/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-canTrickleIceCandidates.html
    2224/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-constructor.html
  • trunk/LayoutTests/tests-options.json

    r216975 r217225  
    5151        "slow"
    5252    ],
     53    "imported/w3c/web-platform-tests/IndexedDB/request-abort-ordering.html": [
     54        "slow"
     55    ],
    5356    "imported/w3c/web-platform-tests/IndexedDB/writer-starvation.htm": [
    5457        "slow"
     
    5760        "slow"
    5861    ],
     62    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html": [
     63        "slow"
     64    ],
    5965    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html": [
    6066        "slow"
    6167    ],
     68    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html": [
     69        "slow"
     70    ],
    6271    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html": [
    6372        "slow"
    6473    ],
     74    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https.html": [
     75        "slow"
     76    ],
    6577    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html": [
    6678        "slow"
    6779    ],
     80    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html": [
     81        "slow"
     82    ],
     83    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html": [
     84        "slow"
     85    ],
     86    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html": [
     87        "slow"
     88    ],
     89    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html": [
     90        "slow"
     91    ],
     92    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html": [
     93        "slow"
     94    ],
     95    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html": [
     96        "slow"
     97    ],
     98    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html": [
     99        "slow"
     100    ],
     101    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html": [
     102        "slow"
     103    ],
     104    "imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html": [
     105        "slow"
     106    ],
    68107    "imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.html": [
    69108        "slow"
    70109    ],
     110    "imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.https.html": [
     111        "slow"
     112    ],
    71113    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html": [
    72114        "slow"
    73115    ],
     116    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https.html": [
     117        "slow"
     118    ],
    74119    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html": [
    75120        "slow"
    76121    ],
     122    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.https.html": [
     123        "slow"
     124    ],
    77125    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html": [
    78126        "slow"
    79127    ],
     128    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.https.html": [
     129        "slow"
     130    ],
    80131    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html": [
    81132        "slow"
    82133    ],
     134    "imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.https.html": [
     135        "slow"
     136    ],
    83137    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html": [
    84138        "slow"
    85139    ],
     140    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html": [
     141        "slow"
     142    ],
    86143    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html": [
    87144        "slow"
    88145    ],
     146    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html": [
     147        "slow"
     148    ],
    89149    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html": [
    90150        "slow"
    91151    ],
     152    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https.html": [
     153        "slow"
     154    ],
    92155    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html": [
    93156        "slow"
    94157    ],
     158    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html": [
     159        "slow"
     160    ],
    95161    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html": [
    96162        "slow"
    97163    ],
     164    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html": [
     165        "slow"
     166    ],
    98167    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html": [
    99168        "slow"
    100169    ],
     170    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html": [
     171        "slow"
     172    ],
    101173    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html": [
    102174        "slow"
    103175    ],
     176    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html": [
     177        "slow"
     178    ],
    104179    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html": [
    105180        "slow"
    106181    ],
     182    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html": [
     183        "slow"
     184    ],
    107185    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html": [
    108186        "slow"
    109187    ],
     188    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html": [
     189        "slow"
     190    ],
    110191    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html": [
    111192        "slow"
    112193    ],
     194    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html": [
     195        "slow"
     196    ],
    113197    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html": [
    114198        "slow"
    115199    ],
     200    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html": [
     201        "slow"
     202    ],
    116203    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html": [
    117204        "slow"
    118205    ],
     206    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html": [
     207        "slow"
     208    ],
    119209    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html": [
    120210        "slow"
    121211    ],
     212    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html": [
     213        "slow"
     214    ],
    122215    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html": [
    123216        "slow"
     
    126219        "slow"
    127220    ],
     221    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html": [
     222        "slow"
     223    ],
    128224    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html": [
    129225        "slow"
    130226    ],
     227    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html": [
     228        "slow"
     229    ],
    131230    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html": [
    132231        "slow"
    133232    ],
     233    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html": [
     234        "slow"
     235    ],
    134236    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html": [
    135237        "slow"
    136238    ],
     239    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html": [
     240        "slow"
     241    ],
    137242    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html": [
    138243        "slow"
    139244    ],
     245    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html": [
     246        "slow"
     247    ],
    140248    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html": [
    141249        "slow"
    142250    ],
     251    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html": [
     252        "slow"
     253    ],
    143254    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html": [
    144255        "slow"
    145256    ],
     257    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html": [
     258        "slow"
     259    ],
    146260    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html": [
    147261        "slow"
    148262    ],
     263    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html": [
     264        "slow"
     265    ],
    149266    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html": [
    150267        "slow"
    151268    ],
     269    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html": [
     270        "slow"
     271    ],
    152272    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html": [
    153273        "slow"
    154274    ],
     275    "imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html": [
     276        "slow"
     277    ],
    155278    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html": [
    156279        "slow"
    157280    ],
     281    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https.html": [
     282        "slow"
     283    ],
    158284    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html": [
    159285        "slow"
    160286    ],
     287    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.https.html": [
     288        "slow"
     289    ],
    161290    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html": [
    162291        "slow"
    163292    ],
     293    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https.html": [
     294        "slow"
     295    ],
    164296    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html": [
    165297        "slow"
    166298    ],
     299    "imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https.html": [
     300        "slow"
     301    ],
    167302    "imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html": [
    168303        "slow"
    169304    ],
     305    "imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html": [
     306        "slow"
     307    ],
    170308    "imported/w3c/web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip.htm": [
    171309        "slow"
     
    772910    ],
    773911    "imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_webkit02.html": [
     912        "slow"
     913    ],
     914    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm": [
     915        "slow"
     916    ],
     917    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm": [
     918        "slow"
     919    ],
     920    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm": [
     921        "slow"
     922    ],
     923    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm": [
     924        "slow"
     925    ],
     926    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm": [
     927        "slow"
     928    ],
     929    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm": [
     930        "slow"
     931    ],
     932    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm": [
     933        "slow"
     934    ],
     935    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm": [
     936        "slow"
     937    ],
     938    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm": [
     939        "slow"
     940    ],
     941    "imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm": [
    774942        "slow"
    775943    ],
  • trunk/Tools/ChangeLog

    r217222 r217225  
     12017-05-22  youenn fablet  <youenn@apple.com>
     2
     3        Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
     4        https://bugs.webkit.org/show_bug.cgi?id=172426
     5
     6        Reviewed by Chris Dumez.
     7
     8        * Scripts/webkitpy/w3c/test_importer.py:
     9        (TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.
     10
    1112017-05-22  Konstantin Tokarev  <annulen@yandex.ru>
    212
  • trunk/Tools/Scripts/webkitpy/w3c/test_importer.py

    r216900 r217225  
    562562            _log.info('Deleting file removed from the W3C repo: %s', deleted_file)
    563563            deleted_file = self.filesystem.join(self._webkit_root, deleted_file[1:])
     564            if not self.filesystem.exists(deleted_file):
     565                _log.warning('%s no longer exists', deleted_file)
     566                continue
    564567            self.filesystem.remove(deleted_file)
    565568
Note: See TracChangeset for help on using the changeset viewer.