Update web-platform-tests to revision b0d2d2da21dfd03e86c5d710c926ae7df3b9f0d0

This commit is contained in:
WPT Sync Bot 2018-10-07 21:25:52 -04:00
parent d048aa9c51
commit 1c9e136e8e
16 changed files with 402 additions and 91 deletions

View file

@ -312266,6 +312266,11 @@
{}
]
],
"tools/wptrunner/wptrunner/executors/runner.js": [
[
{}
]
],
"tools/wptrunner/wptrunner/executors/testharness_servodriver.js": [
[
{}
@ -657253,7 +657258,7 @@
"support"
],
"tools/wptrunner/docs/design.rst": [
"bf108a0087da0c6ec123169c71586f6ce3bfba72",
"056c0d8663292b0de3fee6e430ca011d08965731",
"support"
],
"tools/wptrunner/docs/expectation.rst": [
@ -657541,7 +657546,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/executormarionette.py": [
"8aea59cc8f6ceb9adc57ca42a91cefea6f321b5c",
"4ab7bf3dde9c76fe160597bccc2df772199750a0",
"support"
],
"tools/wptrunner/wptrunner/executors/executoropera.py": [
@ -657553,7 +657558,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/executorselenium.py": [
"0792774d65cfc4cd27dedcd6c2eb63bab8bfce07",
"c1d66b5706eb7a6803707c51253f8f5874690dbe",
"support"
],
"tools/wptrunner/wptrunner/executors/executorservo.py": [
@ -657565,7 +657570,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/executorwebdriver.py": [
"be6ed8d9d070bb717bca1c6fae82225957b10cff",
"879bd68d522f949426d5b8d4a6599c2e40efe3e8",
"support"
],
"tools/wptrunner/wptrunner/executors/executorwebkit.py": [
@ -657600,16 +657605,20 @@
"5bd5c609cbd5e799787c93bac673fb8e392a7c30",
"support"
],
"tools/wptrunner/wptrunner/executors/runner.js": [
"8b800036756d016d8c020d53e02c5709fb03043f",
"support"
],
"tools/wptrunner/wptrunner/executors/testharness_servodriver.js": [
"d731cc04d7011759ce63079fbd1242fd6426603b",
"support"
],
"tools/wptrunner/wptrunner/executors/testharness_webdriver.js": [
"7f00050fa7ed6daf89ce6af7a0e610d0e5ddc42b",
"9e2e6049bdc3c01987ec989b6783fdcdc267ed74",
"support"
],
"tools/wptrunner/wptrunner/executors/testharness_webdriver_resume.js": [
"7a2df98ed4e73bf4618b169aa297f0c075ff8a19",
"4692e4931ccab292a12dd5fba28fc88f3b569a45",
"support"
],
"tools/wptrunner/wptrunner/expected.py": [

View file

@ -65,9 +65,9 @@
[left intermediate]
expected: FAIL
[bottom intermediate]
expected: FAIL
[text-indent intermediate]
expected: FAIL
[border-top-width end]
expected: FAIL

View file

@ -1,4 +1,5 @@
[fetch-in-iframe.html]
expected: CRASH
[Untitled]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,4 @@
[DOMContentLoaded-defer.html]
[The end: DOMContentLoaded and defer scripts]
expected: FAIL

View file

@ -0,0 +1,283 @@
[limited-quirks.html]
[top: -\\31 .5]
expected: FAIL
[bottom: -1A]
expected: FAIL
[bottom: -1a]
expected: FAIL
[top: @1]
expected: FAIL
[top: "1a"]
expected: FAIL
[top: @a]
expected: FAIL
[bottom: "1"]
expected: FAIL
[bottom: -/**/1]
expected: FAIL
[top: +/**/1]
expected: FAIL
[bottom: @1a]
expected: FAIL
[top: 1\\31 ]
expected: FAIL
[top: url('1')]
expected: FAIL
[bottom: -\\31 ]
expected: FAIL
[top: calc(1)]
expected: FAIL
[top: \\31 ]
expected: FAIL
[bottom: +1\\31 ]
expected: FAIL
[bottom: 1\\31 .5]
expected: FAIL
[bottom: #0001]
expected: FAIL
[top: calc(2 * 2px)]
expected: FAIL
[bottom: 1a]
expected: FAIL
[bottom: A]
expected: FAIL
[bottom: #01]
expected: FAIL
[top: +\\31 .5]
expected: FAIL
[bottom: #1]
expected: FAIL
[top: -/**/1]
expected: FAIL
[bottom: +\\31 .5]
expected: FAIL
[bottom: \\31 ]
expected: FAIL
[bottom: calc(1)]
expected: FAIL
[top: #001]
expected: FAIL
[top: +\\31 ]
expected: FAIL
[bottom: +\\31 ]
expected: FAIL
[top: +1.5]
expected: FAIL
[top: +1\\31 ]
expected: FAIL
[bottom: @a]
expected: FAIL
[bottom: @1]
expected: FAIL
[top: #1]
expected: FAIL
[top: 1a]
expected: FAIL
[bottom: +1a]
expected: FAIL
[bottom: +1A]
expected: FAIL
[bottom: "a"]
expected: FAIL
[top: #00001]
expected: FAIL
[bottom: -1\\31 .5]
expected: FAIL
[top: "1"]
expected: FAIL
[bottom: 1.5]
expected: FAIL
[bottom: -\\31 .5]
expected: FAIL
[bottom: url('1')]
expected: FAIL
[bottom: -1.5]
expected: FAIL
[top: \\31 .5]
expected: FAIL
[bottom: "1a"]
expected: FAIL
[bottom: calc(2 * 2px)]
expected: FAIL
[bottom: +1\\31 .5]
expected: FAIL
[bottom: 1\\31 ]
expected: FAIL
[bottom: +/**/1]
expected: FAIL
[bottom: #00001]
expected: FAIL
[top: url(1)]
expected: FAIL
[bottom: #001]
expected: FAIL
[top: +1\\31 .5]
expected: FAIL
[top: -1a]
expected: FAIL
[top: -1A]
expected: FAIL
[bottom: url(1)]
expected: FAIL
[top: a]
expected: FAIL
[top: A]
expected: FAIL
[top: #000001]
expected: FAIL
[top: 1]
expected: FAIL
[top: 1\\31 .5]
expected: FAIL
[bottom: a]
expected: FAIL
[bottom: 1]
expected: FAIL
[bottom: +1]
expected: FAIL
[bottom: #000001]
expected: FAIL
[bottom: +a]
expected: FAIL
[bottom: +A]
expected: FAIL
[top: 1.5]
expected: FAIL
[top: +A]
expected: FAIL
[top: +a]
expected: FAIL
[top: +1]
expected: FAIL
[top: -1.5]
expected: FAIL
[top: -1\\31 .5]
expected: FAIL
[top: +1a]
expected: FAIL
[top: +1A]
expected: FAIL
[top: @1a]
expected: FAIL
[bottom: \\31 .5]
expected: FAIL
[top: "a"]
expected: FAIL
[top: #01]
expected: FAIL
[bottom: +1.5]
expected: FAIL
[bottom: -A]
expected: FAIL
[bottom: -a]
expected: FAIL
[bottom: -1\\31 ]
expected: FAIL
[top: #0001]
expected: FAIL
[bottom: -1]
expected: FAIL
[top: -\\31 ]
expected: FAIL
[top: -A]
expected: FAIL
[top: -a]
expected: FAIL
[top: -1]
expected: FAIL
[top: -1\\31 ]
expected: FAIL

View file

@ -2,9 +2,6 @@
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: a&b&c]
expected: FAIL
[response.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
@ -14,13 +11,10 @@
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[response.formData() with input: a=b&c=d&]
[request.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: a=b&c=d]
expected: FAIL
[request.formData() with input: a=b&c=d&]
[response.formData() with input: a=b&c=d]
expected: FAIL
@ -28,15 +22,15 @@
[request.formData() with input: a&b&c]
expected: FAIL
[response.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[response.formData() with input: a=b&c=d&]
expected: FAIL
[response.formData() with input: a=b&c=d]
expected: FAIL
[request.formData() with input: a=b&c=d&]
expected: FAIL
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL

View file

@ -1,4 +1,5 @@
[import-in-moduleworker.html]
expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL

View file

@ -15,7 +15,7 @@ requirements:
of an ``iframe`` test container.
* It must be possible to deal with all kinds of behaviour of the
browser runder test, for example, crashing, hanging, etc.
browser under test, for example, crashing, hanging, etc.
* It should be possible to add support for new platforms and browsers
with minimal code changes.

View file

@ -109,6 +109,8 @@ class MarionetteTestharnessProtocolPart(TestharnessProtocolPart):
def __init__(self, parent):
super(MarionetteTestharnessProtocolPart, self).__init__(parent)
self.runner_handle = None
with open(os.path.join(here, "runner.js")) as f:
self.runner_script = f.read()
def setup(self):
self.marionette = self.parent.marionette
@ -129,8 +131,8 @@ class MarionetteTestharnessProtocolPart(TestharnessProtocolPart):
"that your firewall rules or network setup does not "
"prevent access.\e%s" % (url, traceback.format_exc(e)))
raise
self.parent.base.execute_script(
"document.title = '%s'" % threading.current_thread().name.replace("'", '"'))
format_map = {"title": threading.current_thread().name.replace("'", '"')}
self.parent.base.execute_script(self.runner_script % format_map)
def close_old_windows(self, url_protocol):
handles = self.marionette.window_handles

View file

@ -72,14 +72,16 @@ class SeleniumBaseProtocolPart(BaseProtocolPart):
class SeleniumTestharnessProtocolPart(TestharnessProtocolPart):
def setup(self):
self.webdriver = self.parent.webdriver
with open(os.path.join(here, "runner.js")) as f:
self.runner_script = f.read()
def load_runner(self, url_protocol):
url = urlparse.urljoin(self.parent.executor.server_url(url_protocol),
"/testharness_runner.html")
self.logger.debug("Loading %s" % url)
self.webdriver.get(url)
self.webdriver.execute_script("document.title = '%s'" %
threading.current_thread().name.replace("'", '"'))
format_map = {"title": threading.current_thread().name.replace("'", '"')}
self.parent.base.execute_script(self.runner_script % format_map)
def close_old_windows(self):
exclude = self.webdriver.current_window_handle

View file

@ -52,7 +52,7 @@ class WebDriverBaseProtocolPart(BaseProtocolPart):
while True:
try:
self.webdriver.execute_async_script("")
except client.TimeoutException:
except (client.TimeoutException, client.ScriptTimeoutException):
pass
except (socket.timeout, client.NoSuchWindowException,
client.UnknownErrorException, IOError):
@ -65,6 +65,8 @@ class WebDriverBaseProtocolPart(BaseProtocolPart):
class WebDriverTestharnessProtocolPart(TestharnessProtocolPart):
def setup(self):
self.webdriver = self.parent.webdriver
with open(os.path.join(here, "runner.js")) as f:
self.runner_script = f.read()
def load_runner(self, url_protocol):
url = urlparse.urljoin(self.parent.executor.server_url(url_protocol),
@ -72,8 +74,8 @@ class WebDriverTestharnessProtocolPart(TestharnessProtocolPart):
self.logger.debug("Loading %s" % url)
self.webdriver.url = url
self.webdriver.execute_script("document.title = '%s'" %
threading.current_thread().name.replace("'", '"'))
format_map = {"title": threading.current_thread().name.replace("'", '"')}
self.parent.base.execute_script(self.runner_script % format_map)
def close_old_windows(self):
exclude = self.webdriver.window_handle
@ -125,6 +127,7 @@ class WebDriverClickProtocolPart(ClickProtocolPart):
self.webdriver = self.parent.webdriver
def element(self, element):
self.logger.info("click " + repr(element))
return element.click()

View file

@ -0,0 +1,59 @@
document.title = '%(title)s';
window.addEventListener(
"message",
function(event) {
window.message_queue.push(event);
window.process_next_event();
},
false
);
window.process_next_event = function() {
/* This function handles the next testdriver event. The presence of
window.testdriver_callback is used as a switch; when that function
is present we are able to handle the next event and when is is not
present we must wait. Therefore to drive the event processing, this
function must be called in two circumstances:
* Every time there is a new event that we may be able to handle
* Every time we set the callback function
This function unsets the callback, so no further testdriver actions
will be run until it is reset, which wptrunner does after it has
completed handling the current action.
*/
if (!window.testdriver_callback) {
return;
}
var event = window.message_queue.shift();
if (!event) {
return;
}
var data = event.data;
var payload = undefined;
switch(data.type) {
case "complete":
var tests = event.data.tests;
var status = event.data.status;
var subtest_results = tests.map(function(x) {
return [x.name, x.status, x.message, x.stack];
});
payload = [status.status,
status.message,
status.stack,
subtest_results];
clearTimeout(window.timer);
break;
case "action":
payload = data;
break;
default:
return;
}
var callback = window.testdriver_callback;
window.testdriver_callback = null;
callback([window.url, data.type, payload]);
};

View file

@ -1,21 +1,9 @@
window.timeout_multiplier = %(timeout_multiplier)d;
window.url = "%(url)s";
window.win = window.open("%(abs_url)s", "%(window_id)s");
window.message_queue = [];
window.setMessageListener = function(func) {
window.current_listener = func;
window.addEventListener(
"message",
func,
false
);
};
window.setMessageListener(function(event) {
window.message_queue.push(event);
});
window.win = window.open("%(abs_url)s", "%(window_id)s");
window.testdriver_callback = null;
if (%(timeout)s != null) {
window.timer = setTimeout(function() {

View file

@ -1,46 +1,3 @@
var callback = arguments[arguments.length - 1];
function process_event(event) {
var data = event.data;
var payload = undefined;
switch(data.type) {
case "complete":
var tests = event.data.tests;
var status = event.data.status;
var subtest_results = tests.map(function(x) {
return [x.name, x.status, x.message, x.stack];
});
payload = [status.status,
status.message,
status.stack,
subtest_results];
clearTimeout(window.timer);
break;
case "action":
window.setMessageListener(function(event) {
window.message_queue.push(event);
});
payload = data;
break;
default:
return;
}
callback(["%(url)s", data.type, payload]);
}
window.removeEventListener("message", window.current_listener);
if (window.message_queue.length) {
var next = window.message_queue.shift();
process_event(next);
} else {
window.addEventListener(
"message", function f(event) {
window.removeEventListener("message", f);
process_event(event);
}, false);
}
window.testdriver_callback = callback;
window.process_next_event();