summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-11-10 11:39:27 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-11-10 11:39:27 +0100
commit974a481d12bf430891725bd3662876358e57e11a (patch)
treecad011151456251fef2f1b8d02ef4b4e45fad61a /testing
parent6bd66b1728eeddb058066edda740aaeb2ceaec23 (diff)
parent736d25cbec4541186ed46c935c117ce4d1c7f3bb (diff)
downloaduxp-974a481d12bf430891725bd3662876358e57e11a.tar.gz
Merge branch 'master' into js-modules
# Conflicts: # modules/libpref/init/all.js
Diffstat (limited to 'testing')
-rw-r--r--testing/profiles/prefs_general.js22
-rw-r--r--testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json1
-rw-r--r--testing/runtimes/mochitest-browser-chrome.runtimes.json1
-rw-r--r--testing/talos/talos/config.py4
-rw-r--r--testing/talos/tests/test_talosconfig_browser_config.json2
-rw-r--r--testing/web-platform/meta/MANIFEST.json185
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-location-interface/location-stringifier.html13
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html14
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-location-interface/location-tojson.html13
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-location-interface/location-valueof.html15
-rw-r--r--testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-cr.html1
-rw-r--r--testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-crlf.html21
-rw-r--r--testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-ref.html15
-rw-r--r--testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder.html22
-rw-r--r--testing/web-platform/tests/html/form-elements/the-textarea-element/support/placeholder.css6
-rw-r--r--testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-cr.html1
-rw-r--r--testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-crlf.html19
-rw-r--r--testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-ref.html5
-rw-r--r--testing/web-platform/tests/html/input/the-placeholder-attribute/multiline.html19
-rw-r--r--testing/web-platform/tests/lint.whitelist4
-rw-r--r--testing/web-platform/tests/webstorage/storage_string_conversion.html6
-rwxr-xr-xtesting/xpcshell/selftest.py2
22 files changed, 356 insertions, 35 deletions
diff --git a/testing/profiles/prefs_general.js b/testing/profiles/prefs_general.js
index 515828d298..3ec41b385e 100644
--- a/testing/profiles/prefs_general.js
+++ b/testing/profiles/prefs_general.js
@@ -108,7 +108,6 @@ user_pref("extensions.update.background.url", "http://%(server)s/extensions-dumm
user_pref("extensions.blocklist.detailsURL", "http://%(server)s/extensions-dummy/blocklistDetailsURL");
user_pref("extensions.blocklist.itemURL", "http://%(server)s/extensions-dummy/blocklistItemURL");
user_pref("extensions.blocklist.url", "http://%(server)s/extensions-dummy/blocklistURL");
-user_pref("extensions.hotfix.url", "http://%(server)s/extensions-dummy/hotfixURL");
user_pref("extensions.systemAddon.update.url", "http://%(server)s/dummy-system-addons.xml");
// Turn off extension updates so they don't bother tests
user_pref("extensions.update.enabled", false);
@@ -258,21 +257,6 @@ user_pref('toolkit.telemetry.server', 'https://%(server)s/telemetry-dummy/');
user_pref('toolkit.telemetry.test.pref1', true);
user_pref('toolkit.telemetry.test.pref2', false);
-// We don't want to hit the real Firefox Accounts server for tests. We don't
-// actually need a functioning FxA server, so just set it to something that
-// resolves and accepts requests, even if they all fail.
-user_pref('identity.fxaccounts.auth.uri', 'https://%(server)s/fxa-dummy/');
-
-// Ditto for all the other Firefox accounts URIs used for about:accounts et al.:
-user_pref("identity.fxaccounts.remote.signup.uri", "https://%(server)s/fxa-signup");
-user_pref("identity.fxaccounts.remote.force_auth.uri", "https://%(server)s/fxa-force-auth");
-user_pref("identity.fxaccounts.remote.signin.uri", "https://%(server)s/fxa-signin");
-user_pref("identity.fxaccounts.settings.uri", "https://%(server)s/fxa-settings");
-user_pref('identity.fxaccounts.remote.webchannel.uri', 'https://%(server)s/');
-
-// We don't want browser tests to perform FxA device registration.
-user_pref('identity.fxaccounts.skipDeviceRegistration', true);
-
// Increase the APZ content response timeout in tests to 1 minute.
// This is to accommodate the fact that test environments tends to be slower
// than production environments (with the b2g emulator being the slowest of them
@@ -284,12 +268,6 @@ user_pref("apz.content_response_timeout", 60000);
// Make sure SSL Error reports don't hit the network
user_pref("security.ssl.errorReporting.url", "https://example.com/browser/browser/base/content/test/general/ssl_error_reports.sjs?succeed");
-// Make sure Translation won't hit the network.
-user_pref("browser.translation.bing.authURL", "http://%(server)s/browser/browser/components/translation/test/bing.sjs");
-user_pref("browser.translation.bing.translateArrayURL", "http://%(server)s/browser/browser/components/translation/test/bing.sjs");
-user_pref("browser.translation.yandex.translateURLOverride", "http://%(server)s/browser/browser/components/translation/test/yandex.sjs");
-user_pref("browser.translation.engine", "bing");
-
// Make sure we don't try to load snippets from the network.
user_pref("browser.aboutHomeSnippets.updateUrl", "nonexistent://test");
diff --git a/testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json b/testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json
index 211e98e053..8525931bd0 100644
--- a/testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json
+++ b/testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json
@@ -76,7 +76,6 @@
"browser/base/content/test/general/browser_fullscreen-window-open.js": 4312,
"browser/base/content/test/general/browser_fxa_oauth.js": 5410,
"browser/base/content/test/general/browser_fxa_web_channel.js": 4727,
- "browser/base/content/test/general/browser_fxaccounts.js": 2909,
"browser/base/content/test/general/browser_getshortcutoruri.js": 3083,
"browser/base/content/test/general/browser_identity_UI.js": 20930,
"browser/base/content/test/general/browser_insecureLoginForms.js": 4482,
diff --git a/testing/runtimes/mochitest-browser-chrome.runtimes.json b/testing/runtimes/mochitest-browser-chrome.runtimes.json
index 73b2437a2b..73efc2b261 100644
--- a/testing/runtimes/mochitest-browser-chrome.runtimes.json
+++ b/testing/runtimes/mochitest-browser-chrome.runtimes.json
@@ -82,7 +82,6 @@
"browser/base/content/test/general/browser_fullscreen-window-open.js": 2830,
"browser/base/content/test/general/browser_fxa_oauth.js": 4120,
"browser/base/content/test/general/browser_fxa_web_channel.js": 3535,
- "browser/base/content/test/general/browser_fxaccounts.js": 3175,
"browser/base/content/test/general/browser_getshortcutoruri.js": 3344,
"browser/base/content/test/general/browser_identity_UI.js": 19308,
"browser/base/content/test/general/browser_insecureLoginForms.js": 3538,
diff --git a/testing/talos/talos/config.py b/testing/talos/talos/config.py
index 59b6123d3f..872bb35433 100644
--- a/testing/talos/talos/config.py
+++ b/testing/talos/talos/config.py
@@ -123,8 +123,6 @@ DEFAULTS = dict(
'extensions.blocklist.enabled': False,
'extensions.blocklist.url':
'http://127.0.0.1/extensions-dummy/blocklistURL',
- 'extensions.hotfix.url':
- 'http://127.0.0.1/extensions-dummy/hotfixURL',
'extensions.update.enabled': False,
'extensions.webservice.discoverURL':
'http://127.0.0.1/extensions-dummy/discoveryURL',
@@ -153,7 +151,6 @@ DEFAULTS = dict(
'browser.contentHandlers.types.3.uri': 'http://127.0.0.1/rss?url=%s',
'browser.contentHandlers.types.4.uri': 'http://127.0.0.1/rss?url=%s',
'browser.contentHandlers.types.5.uri': 'http://127.0.0.1/rss?url=%s',
- 'identity.fxaccounts.auth.uri': 'https://127.0.0.1/fxa-dummy/',
'datareporting.healthreport.about.reportUrl':
'http://127.0.0.1/abouthealthreport/',
'datareporting.healthreport.documentServerURI':
@@ -176,7 +173,6 @@ DEFAULTS = dict(
'devtools.debugger.remote-enabled': False,
'devtools.theme': "light",
'devtools.timeline.enabled': False,
- 'identity.fxaccounts.migrateToDevEdition': False,
'media.libavcodec.allow-obsolete': True
}
)
diff --git a/testing/talos/tests/test_talosconfig_browser_config.json b/testing/talos/tests/test_talosconfig_browser_config.json
index 7e7226c9f4..b0ba17ad7c 100644
--- a/testing/talos/tests/test_talosconfig_browser_config.json
+++ b/testing/talos/tests/test_talosconfig_browser_config.json
@@ -1 +1 @@
-{'deviceroot': '', 'dirs': {}, 'repository': 'http://hg.mozilla.org/releases/mozilla-release', 'buildid': '20131205075310', 'results_log': 'pathtoresults_log', 'symbols_path': None, 'bcontroller_config': 'pathtobcontroller', 'host': '', 'browser_name': 'Firefox', 'sourcestamp': '39faf812aaec', 'remote': False, 'child_process': 'plugin-container', 'branch_name': '', 'browser_version': '26.0', 'extra_args': '', 'develop': True, 'preferences': {'browser.display.overlaynavbuttons': False, 'extensions.getAddons.get.url': 'http://127.0.0.1/extensions-dummy/repositoryGetURL', 'dom.max_chrome_script_run_time': 0, 'network.proxy.type': 1, 'extensions.update.background.url': 'http://127.0.0.1/extensions-dummy/updateBackgroundURL', 'network.proxy.http': 'localhost', 'plugins.update.url': 'http://127.0.0.1/plugins-dummy/updateCheckURL', 'dom.max_script_run_time': 0, 'extensions.update.enabled': False, 'browser.safebrowsing.keyURL': 'http://127.0.0.1/safebrowsing-dummy/newkey', 'media.navigator.permission.disabled': True, 'app.update.enabled': False, 'extensions.blocklist.url': 'http://127.0.0.1/extensions-dummy/blocklistURL', 'browser.EULA.override': True, 'extensions.checkCompatibility': False, 'talos.logfile': 'pathtofile', 'browser.safebrowsing.gethashURL': 'http://127.0.0.1/safebrowsing-dummy/gethash', 'extensions.hotfix.url': 'http://127.0.0.1/extensions-dummy/hotfixURL', 'dom.disable_window_move_resize': True, 'network.proxy.http_port': 80, 'browser.dom.window.dump.enabled': True, 'extensions.update.url': 'http://127.0.0.1/extensions-dummy/updateURL', 'browser.chrome.dynamictoolbar': False, 'browser.link.open_newwindow': 2, 'extensions.getAddons.search.url': 'http://127.0.0.1/extensions-dummy/repositorySearchURL', 'browser.cache.disk.smart_size.first_run': False, 'security.turn_off_all_security_so_that_viruses_can_take_over_this_computer': True, 'dom.disable_open_during_load': False, 'extensions.getAddons.search.browseURL': 'http://127.0.0.1/extensions-dummy/repositoryBrowseURL', 'browser.cache.disk.smart_size.enabled': False, 'extensions.getAddons.getWithPerformance.url': 'http://127.0.0.1/extensions-dummy/repositoryGetWithPerformanceURL', 'hangmonitor.timeout': 0, 'extensions.getAddons.maxResults': 0, 'dom.send_after_paint_to_content': True, 'security.fileuri.strict_origin_policy': False, 'media.capturestream_hints.enabled': True, 'extensions.update.notifyUser': False, 'extensions.blocklist.enabled': False, 'browser.bookmarks.max_backups': 0, 'browser.shell.checkDefaultBrowser': False, 'media.peerconnection.enabled': True, 'dom.disable_window_flip': True, 'security.enable_java': False, 'browser.warnOnQuit': False, 'media.navigator.enabled': True, 'browser.safebrowsing.updateURL': 'http://127.0.0.1/safebrowsing-dummy/update', 'dom.allow_scripts_to_close_windows': True, 'extensions.webservice.discoverURL': 'http://127.0.0.1/extensions-dummy/discoveryURL'}, 'test_timeout': 1200, 'title': 'qm-pxp01', 'error_filename': 'pathtoerrorfile', 'webserver': 'localhost:15707', 'browser_path':ffox_path, 'port': 20701, 'browser_log': 'browser_output.txt', 'process': 'firefox.exe', 'xperf_path': 'C:/Program Files/Microsoft Windows Performance Toolkit/xperf.exe', 'extensions': ['pathtopageloader'], 'fennecIDs': '', 'env': {'NO_EM_RESTART': '1'}, 'init_url': 'http://localhost:15707/getInfo.html', 'browser_wait': 5} \ No newline at end of file
+{'deviceroot': '', 'dirs': {}, 'repository': 'http://hg.mozilla.org/releases/mozilla-release', 'buildid': '20131205075310', 'results_log': 'pathtoresults_log', 'symbols_path': None, 'bcontroller_config': 'pathtobcontroller', 'host': '', 'browser_name': 'Firefox', 'sourcestamp': '39faf812aaec', 'remote': False, 'child_process': 'plugin-container', 'branch_name': '', 'browser_version': '26.0', 'extra_args': '', 'develop': True, 'preferences': {'browser.display.overlaynavbuttons': False, 'extensions.getAddons.get.url': 'http://127.0.0.1/extensions-dummy/repositoryGetURL', 'dom.max_chrome_script_run_time': 0, 'network.proxy.type': 1, 'extensions.update.background.url': 'http://127.0.0.1/extensions-dummy/updateBackgroundURL', 'network.proxy.http': 'localhost', 'plugins.update.url': 'http://127.0.0.1/plugins-dummy/updateCheckURL', 'dom.max_script_run_time': 0, 'extensions.update.enabled': False, 'browser.safebrowsing.keyURL': 'http://127.0.0.1/safebrowsing-dummy/newkey', 'media.navigator.permission.disabled': True, 'app.update.enabled': False, 'extensions.blocklist.url': 'http://127.0.0.1/extensions-dummy/blocklistURL', 'browser.EULA.override': True, 'extensions.checkCompatibility': False, 'talos.logfile': 'pathtofile', 'browser.safebrowsing.gethashURL': 'http://127.0.0.1/safebrowsing-dummy/gethash', 'dom.disable_window_move_resize': True, 'network.proxy.http_port': 80, 'browser.dom.window.dump.enabled': True, 'extensions.update.url': 'http://127.0.0.1/extensions-dummy/updateURL', 'browser.chrome.dynamictoolbar': False, 'browser.link.open_newwindow': 2, 'extensions.getAddons.search.url': 'http://127.0.0.1/extensions-dummy/repositorySearchURL', 'browser.cache.disk.smart_size.first_run': False, 'security.turn_off_all_security_so_that_viruses_can_take_over_this_computer': True, 'dom.disable_open_during_load': False, 'extensions.getAddons.search.browseURL': 'http://127.0.0.1/extensions-dummy/repositoryBrowseURL', 'browser.cache.disk.smart_size.enabled': False, 'extensions.getAddons.getWithPerformance.url': 'http://127.0.0.1/extensions-dummy/repositoryGetWithPerformanceURL', 'hangmonitor.timeout': 0, 'extensions.getAddons.maxResults': 0, 'dom.send_after_paint_to_content': True, 'security.fileuri.strict_origin_policy': False, 'media.capturestream_hints.enabled': True, 'extensions.update.notifyUser': False, 'extensions.blocklist.enabled': False, 'browser.bookmarks.max_backups': 0, 'browser.shell.checkDefaultBrowser': False, 'media.peerconnection.enabled': True, 'dom.disable_window_flip': True, 'security.enable_java': False, 'browser.warnOnQuit': False, 'media.navigator.enabled': True, 'browser.safebrowsing.updateURL': 'http://127.0.0.1/safebrowsing-dummy/update', 'dom.allow_scripts_to_close_windows': True, 'extensions.webservice.discoverURL': 'http://127.0.0.1/extensions-dummy/discoveryURL'}, 'test_timeout': 1200, 'title': 'qm-pxp01', 'error_filename': 'pathtoerrorfile', 'webserver': 'localhost:15707', 'browser_path':ffox_path, 'port': 20701, 'browser_log': 'browser_output.txt', 'process': 'firefox.exe', 'xperf_path': 'C:/Program Files/Microsoft Windows Performance Toolkit/xperf.exe', 'extensions': ['pathtopageloader'], 'fennecIDs': '', 'env': {'NO_EM_RESTART': '1'}, 'init_url': 'http://localhost:15707/getInfo.html', 'browser_wait': 5}
diff --git a/testing/web-platform/meta/MANIFEST.json b/testing/web-platform/meta/MANIFEST.json
index 496f8e3cb4..03dda4a1fe 100644
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -3944,6 +3944,16 @@
"url": "/2dcontext/drawing-images-to-the-canvas/drawimage_html_image_9.html"
},
{
+ "path": "2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1.html",
+ "references": [
+ [
+ "/2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1_ref.html",
+ "=="
+ ]
+ ],
+ "url": "/2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1.html"
+ },
+ {
"path": "2dcontext/line-styles/canvas_linestyles_linecap_001.htm",
"references": [
[
@@ -18156,6 +18166,18 @@
"url": "/html/browsers/history/the-location-interface/location-stringifier.html"
},
{
+ "path": "html/browsers/history/the-location-interface/location-symbol-toprimitive.html",
+ "url": "/html/browsers/history/the-location-interface/location-symbol-toprimitive.html"
+ },
+ {
+ "path": "html/browsers/history/the-location-interface/location-tojson.html",
+ "url": "/html/browsers/history/the-location-interface/location-tojson.html"
+ },
+ {
+ "path": "html/browsers/history/the-location-interface/location-valueof.html",
+ "url": "/html/browsers/history/the-location-interface/location-valueof.html"
+ },
+ {
"path": "html/browsers/history/the-location-interface/location_assign.html",
"url": "/html/browsers/history/the-location-interface/location_assign.html"
},
@@ -38443,8 +38465,23 @@
]
},
"local_changes": {
- "deleted": [],
- "deleted_reftests": {},
+ "deleted": [
+ "2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1.html"
+ ],
+ "deleted_reftests": {
+ "2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1.html": [
+ {
+ "path": "2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1.html",
+ "references": [
+ [
+ "/2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1_ref.html",
+ "=="
+ ]
+ ],
+ "url": "/2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1.html"
+ }
+ ]
+ },
"items": {
"manual": {
"html/browsers/windows/noreferrer-cross-origin-close-manual.sub.html": [
@@ -38461,6 +38498,78 @@
]
},
"reftest": {
+ "html/form-elements/the-textarea-element/multiline-placeholder-cr.html": [
+ {
+ "path": "html/form-elements/the-textarea-element/multiline-placeholder-cr.html",
+ "references": [
+ [
+ "/html/form-elements/the-textarea-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/form-elements/the-textarea-element/multiline-placeholder-cr.html"
+ }
+ ],
+ "html/form-elements/the-textarea-element/multiline-placeholder-crlf.html": [
+ {
+ "path": "html/form-elements/the-textarea-element/multiline-placeholder-crlf.html",
+ "references": [
+ [
+ "/html/form-elements/the-textarea-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/form-elements/the-textarea-element/multiline-placeholder-crlf.html"
+ }
+ ],
+ "html/form-elements/the-textarea-element/multiline-placeholder.html": [
+ {
+ "path": "html/form-elements/the-textarea-element/multiline-placeholder.html",
+ "references": [
+ [
+ "/html/form-elements/the-textarea-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/form-elements/the-textarea-element/multiline-placeholder.html"
+ }
+ ],
+ "html/input/the-placeholder-attribute/multiline-cr.html": [
+ {
+ "path": "html/input/the-placeholder-attribute/multiline-cr.html",
+ "references": [
+ [
+ "/html/input/the-placeholder-attribute/multiline-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/input/the-placeholder-attribute/multiline-cr.html"
+ }
+ ],
+ "html/input/the-placeholder-attribute/multiline-crlf.html": [
+ {
+ "path": "html/input/the-placeholder-attribute/multiline-crlf.html",
+ "references": [
+ [
+ "/html/input/the-placeholder-attribute/multiline-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/input/the-placeholder-attribute/multiline-crlf.html"
+ }
+ ],
+ "html/input/the-placeholder-attribute/multiline.html": [
+ {
+ "path": "html/input/the-placeholder-attribute/multiline.html",
+ "references": [
+ [
+ "/html/input/the-placeholder-attribute/multiline-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/input/the-placeholder-attribute/multiline.html"
+ }
+ ],
"html/semantics/grouping-content/the-ol-element/reversed-1e.html": [
{
"path": "html/semantics/grouping-content/the-ol-element/reversed-1e.html",
@@ -38797,6 +38906,78 @@
}
},
"reftest_nodes": {
+ "html/form-elements/the-textarea-element/multiline-placeholder-cr.html": [
+ {
+ "path": "html/form-elements/the-textarea-element/multiline-placeholder-cr.html",
+ "references": [
+ [
+ "/html/form-elements/the-textarea-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/form-elements/the-textarea-element/multiline-placeholder-cr.html"
+ }
+ ],
+ "html/form-elements/the-textarea-element/multiline-placeholder-crlf.html": [
+ {
+ "path": "html/form-elements/the-textarea-element/multiline-placeholder-crlf.html",
+ "references": [
+ [
+ "/html/form-elements/the-textarea-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/form-elements/the-textarea-element/multiline-placeholder-crlf.html"
+ }
+ ],
+ "html/form-elements/the-textarea-element/multiline-placeholder.html": [
+ {
+ "path": "html/form-elements/the-textarea-element/multiline-placeholder.html",
+ "references": [
+ [
+ "/html/form-elements/the-textarea-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/form-elements/the-textarea-element/multiline-placeholder.html"
+ }
+ ],
+ "html/input/the-placeholder-attribute/multiline-cr.html": [
+ {
+ "path": "html/input/the-placeholder-attribute/multiline-cr.html",
+ "references": [
+ [
+ "/html/input/the-placeholder-attribute/multiline-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/input/the-placeholder-attribute/multiline-cr.html"
+ }
+ ],
+ "html/input/the-placeholder-attribute/multiline-crlf.html": [
+ {
+ "path": "html/input/the-placeholder-attribute/multiline-crlf.html",
+ "references": [
+ [
+ "/html/input/the-placeholder-attribute/multiline-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/input/the-placeholder-attribute/multiline-crlf.html"
+ }
+ ],
+ "html/input/the-placeholder-attribute/multiline.html": [
+ {
+ "path": "html/input/the-placeholder-attribute/multiline.html",
+ "references": [
+ [
+ "/html/input/the-placeholder-attribute/multiline-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/html/input/the-placeholder-attribute/multiline.html"
+ }
+ ],
"html/semantics/grouping-content/the-ol-element/reversed-1e.html": [
{
"path": "html/semantics/grouping-content/the-ol-element/reversed-1e.html",
diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/location-stringifier.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-stringifier.html
index d23323b373..bde54b2666 100644
--- a/testing/web-platform/tests/html/browsers/history/the-location-interface/location-stringifier.html
+++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-stringifier.html
@@ -8,4 +8,17 @@
<div id=log></div>
<script>
test_stringifier_attribute(location, "href", true);
+
+test(function() {
+ const prop1 = Object.getOwnPropertyDescriptor(location, "toString"),
+ prop2 = Object.getOwnPropertyDescriptor(location, "href")
+
+ assert_true(prop1.enumerable)
+ assert_false(prop1.writable)
+ assert_false(prop1.configurable)
+
+ assert_true(prop2.enumerable)
+ assert_false(prop2.configurable)
+ assert_equals(typeof prop2.get, "function")
+})
</script>
diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html
new file mode 100644
index 0000000000..e666a3e703
--- /dev/null
+++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<title>Location Symbol.toPrimitive</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+test(() => {
+ assert_equals(location[Symbol.toPrimitive], undefined)
+ const prop = Object.getOwnPropertyDescriptor(location, Symbol.toPrimitive)
+ assert_false(prop.enumerable)
+ assert_false(prop.writable)
+ assert_false(prop.configurable)
+})
+</script>
diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/location-tojson.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-tojson.html
new file mode 100644
index 0000000000..5f20a6e15c
--- /dev/null
+++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-tojson.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<title>Location has no toJSON</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+test(() => {
+ assert_equals(location.toJSON, undefined)
+ assert_equals(Object.getOwnPropertyDescriptor(location, "toJSON"), undefined)
+ assert_false(location.hasOwnProperty("toJSON"))
+})
+</script>
+<!-- See https://github.com/whatwg/html/pull/2294 for context. (And the HTML Standard of course.) -->
diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/location-valueof.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-valueof.html
new file mode 100644
index 0000000000..978bbb63a0
--- /dev/null
+++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/location-valueof.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<title>Location valueOf</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+test(() => {
+ assert_equals(location.valueOf, Object.prototype.valueOf)
+ assert_equals(typeof location.valueOf.call(5), "object")
+ const prop = Object.getOwnPropertyDescriptor(location, "valueOf")
+ assert_false(prop.enumerable)
+ assert_false(prop.writable)
+ assert_false(prop.configurable)
+})
+</script>
diff --git a/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-cr.html b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-cr.html
new file mode 100644
index 0000000000..f4a5be35a1
--- /dev/null
+++ b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-cr.html
@@ -0,0 +1 @@
+<!doctype html> <html class="reftest-wait"> <meta charset="utf-8"> <title>textarea multiline placeholder (CR)</title> <link rel="help" href="https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-placeholder"> <meta name="assert" content="textarea element's placeholder preserves newlines (CR)"> <link rel="match" href="/html/form-elements/the-textarea-element/multiline-placeholder-ref.html"> <link rel="stylesheet" href="support/placeholder.css"> <textarea rows="5" placeholder="this is a multiline placeholder"></textarea> <textarea rows="5" placeholder="this is&#xd;a multiline&#xd;&#xd;placeholder"></textarea> <textarea rows="5" id="dynamic"></textarea> <script> document.querySelector("#dynamic") .setAttribute("placeholder", "this is\ra multiline\r\rplaceholder"); document.documentElement.classList.remove("reftest-wait"); </script> </html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-crlf.html b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-crlf.html
new file mode 100644
index 0000000000..0fb434fc64
--- /dev/null
+++ b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-crlf.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>textarea multiline placeholder (CRLF)</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-placeholder">
+<meta name="assert" content="textarea element's placeholder preserves newlines (CRLF)">
+<link rel="match" href="/html/form-elements/the-textarea-element/multiline-placeholder-ref.html">
+<link rel="stylesheet" href="support/placeholder.css">
+<textarea rows="5" placeholder="this is
+a multiline
+
+placeholder"></textarea>
+<textarea rows="5" placeholder="this is&#xd;&#xa;a multiline&#xd;&#xa;&#xd;&#xa;placeholder"></textarea>
+<textarea rows="5" id="dynamic"></textarea>
+<script>
+ document.querySelector("#dynamic")
+ .setAttribute("placeholder", "this is\r\na multiline\r\n\r\nplaceholder");
+ document.documentElement.classList.remove("reftest-wait");
+</script>
+</html>
+
diff --git a/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-ref.html b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-ref.html
new file mode 100644
index 0000000000..0234ed64c9
--- /dev/null
+++ b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder-ref.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<meta charset="utf-8">
+<link rel="stylesheet" href="support/placeholder.css">
+<textarea rows="5" class="placeholder">this is
+a multiline
+
+placeholder</textarea>
+<textarea rows="5" class="placeholder">this is
+a multiline
+
+placeholder</textarea>
+<textarea rows="5" class="placeholder">this is
+a multiline
+
+placeholder</textarea>
diff --git a/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder.html b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder.html
new file mode 100644
index 0000000000..00bb9696d1
--- /dev/null
+++ b/testing/web-platform/tests/html/form-elements/the-textarea-element/multiline-placeholder.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>textarea multiline placeholder</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-placeholder">
+<meta name="assert" content="textarea element's placeholder preserves newlines">
+<link rel="match" href="/html/form-elements/the-textarea-element/multiline-placeholder-ref.html">
+<link rel="stylesheet" href="support/placeholder.css">
+<textarea rows="5" placeholder="this is
+a multiline
+
+placeholder"></textarea>
+<textarea rows="5" placeholder="this is&#xa;a multiline&#xa;&#xa;placeholder"></textarea>
+<textarea rows="5" id="dynamic"></textarea>
+<script>
+ document.querySelector("#dynamic")
+ .setAttribute("placeholder", "this is\na multiline\n\nplaceholder");
+ document.documentElement.classList.remove("reftest-wait");
+</script>
+</html>
+
+
diff --git a/testing/web-platform/tests/html/form-elements/the-textarea-element/support/placeholder.css b/testing/web-platform/tests/html/form-elements/the-textarea-element/support/placeholder.css
new file mode 100644
index 0000000000..9aaed05c86
--- /dev/null
+++ b/testing/web-platform/tests/html/form-elements/the-textarea-element/support/placeholder.css
@@ -0,0 +1,6 @@
+textarea.placeholder,
+textarea::placeholder {
+ /* revert browser styling of the placeholder */
+ color: GrayText; /* blink/webkit use colour */
+ opacity: 1.0; /* gecko uses opacity */
+}
diff --git a/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-cr.html b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-cr.html
new file mode 100644
index 0000000000..f3150f25d6
--- /dev/null
+++ b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-cr.html
@@ -0,0 +1 @@
+<!doctype html> <html class="reftest-wait"> <meta charset="utf-8"> <title>input multiline placeholder (CRLF)</title> <link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute"> <meta name="assert" content="input element's placeholder strips newlines (CRLF)"> <link rel="match" href="/html/input/the-placeholder-attribute/multiline-ref.html"> <input placeholder="this is a multiline placeholder"> <input placeholder="this is&#xd;a multiline&#xd;&#xd;placeholder"> <input id="dynamic"> <script> document.querySelector("#dynamic") .setAttribute("placeholder", "this is\ra multiline\r\rplaceholder"); document.documentElement.classList.remove("reftest-wait"); </script> </html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-crlf.html b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-crlf.html
new file mode 100644
index 0000000000..dd581629da
--- /dev/null
+++ b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-crlf.html
@@ -0,0 +1,19 @@
+<!doctype html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>input multiline placeholder (CRLF)</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute">
+<meta name="assert" content="input element's placeholder strips newlines (CRLF)">
+<link rel="match" href="/html/input/the-placeholder-attribute/multiline-ref.html">
+<input placeholder="this is
+a multiline
+
+placeholder">
+<input placeholder="this is&#xd;&#xa;a multiline&#xd;&#xa;&#xd;&#xa;placeholder">
+<input id="dynamic">
+<script>
+ document.querySelector("#dynamic")
+ .setAttribute("placeholder", "this is\r\na multiline\r\n\r\nplaceholder");
+ document.documentElement.classList.remove("reftest-wait");
+</script>
+</html>
diff --git a/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-ref.html b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-ref.html
new file mode 100644
index 0000000000..2812f86e1e
--- /dev/null
+++ b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline-ref.html
@@ -0,0 +1,5 @@
+<!doctype html>
+<meta charset=utf-8>
+<input placeholder="this isa multilineplaceholder">
+<input placeholder="this isa multilineplaceholder">
+<input placeholder="this isa multilineplaceholder">
diff --git a/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline.html b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline.html
new file mode 100644
index 0000000000..2d7102bd4a
--- /dev/null
+++ b/testing/web-platform/tests/html/input/the-placeholder-attribute/multiline.html
@@ -0,0 +1,19 @@
+<!doctype html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>input multiline placeholder</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute">
+<meta name="assert" content="input element's placeholder strips newlines">
+<link rel="match" href="/html/input/the-placeholder-attribute/multiline-ref.html">
+<input placeholder="this is
+a multiline
+
+placeholder">
+<input placeholder="this is&#xa;a multiline&#xa;&#xa;placeholder">
+<input id="dynamic">
+<script>
+ document.querySelector("#dynamic")
+ .setAttribute("placeholder", "this is\na multiline\n\nplaceholder");
+ document.documentElement.classList.remove("reftest-wait");
+</script>
+</html>
diff --git a/testing/web-platform/tests/lint.whitelist b/testing/web-platform/tests/lint.whitelist
index 9b358b0db1..01832c3fee 100644
--- a/testing/web-platform/tests/lint.whitelist
+++ b/testing/web-platform/tests/lint.whitelist
@@ -85,6 +85,10 @@ PRINT STATEMENT:*/tools/*
CR AT EOL:WebIDL/valid/idl/documentation-dos.widl
CR AT EOL:cors/resources/cors-headers.asis
+CR AT EOL: html/form-elements/the-textarea-element/multiline-placefolder-cr.html
+CR AT EOL: html/form-elements/the-textarea-element/multiline-placefolder-crlf.html
+CR AT EOL: html/input/the-placeholder-attribute/multiline-cr.html
+CR AT EOL: html/input/the-placeholder-attribute/multiline-crlf.html
CR AT EOL:html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html
INDENT TABS:html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html
CR AT EOL:webvtt/webvtt-file-format-parsing/webvtt-file-parsing/support/newlines.vtt
diff --git a/testing/web-platform/tests/webstorage/storage_string_conversion.html b/testing/web-platform/tests/webstorage/storage_string_conversion.html
index 518b27521c..c76eddfec3 100644
--- a/testing/web-platform/tests/webstorage/storage_string_conversion.html
+++ b/testing/web-platform/tests/webstorage/storage_string_conversion.html
@@ -22,21 +22,21 @@
storage.b = 0;
assert_equals(storage.b, "0");
storage.c = function(){};
- assert_equals(storage.c, "function (){}");
+ assert_equals(storage.c, "function(){}");
storage.setItem('d', null);
assert_equals(storage.d, "null");
storage.setItem('e', 0);
assert_equals(storage.e, "0");
storage.setItem('f', function(){});
- assert_equals(storage.f, "function (){}");
+ assert_equals(storage.f, "function(){}");
storage['g'] = null;
assert_equals(storage.g, "null");
storage['h'] = 0;
assert_equals(storage.h, "0");
storage['i'] = function(){};
- assert_equals(storage.f, "function (){}");
+ assert_equals(storage.f, "function(){}");
}, name + " only stores strings");
});
diff --git a/testing/xpcshell/selftest.py b/testing/xpcshell/selftest.py
index 856f505fc1..071ab5eda6 100755
--- a/testing/xpcshell/selftest.py
+++ b/testing/xpcshell/selftest.py
@@ -1162,7 +1162,7 @@ add_test({
self.assertTestResult(False)
self.assertInLog(TEST_FAIL_STRING)
- self.assertInLog("TypeError: generator function run_test returns a value at")
+ self.assertInLog("TypeError: generator function can't return a value at")
self.assertInLog("test_error.js:4")
self.assertNotInLog(TEST_PASS_STRING)