mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision e8bfc205e36ad699601212cd50083870bad9a75d
This commit is contained in:
parent
65dd6d4340
commit
ccdb0a3458
1428 changed files with 118036 additions and 9786 deletions
|
@ -21,13 +21,60 @@
|
|||
}
|
||||
}
|
||||
|
||||
function getNextEvent(arr) {
|
||||
var eventStr = arr.shift();
|
||||
|
||||
// we can only handle strings, numbers (readystates) and undefined
|
||||
if (eventStr === undefined) {
|
||||
return event;
|
||||
}
|
||||
if (typeof eventStr !== "string") {
|
||||
if (Number.isInteger(eventStr)) {
|
||||
eventStr = "readystatechange(" + eventStr + ")";
|
||||
} else {
|
||||
throw "Test error: unexpected event type " + eventStr;
|
||||
}
|
||||
}
|
||||
|
||||
// parse out the general type, loaded and total values
|
||||
var type = eventStr.type = eventStr.split("(")[0].split(".").pop();
|
||||
eventStr.mayFollowOptionalProgressEvents = type == "progress" ||
|
||||
type == "load" || type == "abort" || type == "error";
|
||||
var loadedAndTotal = eventStr.match(/\((\d)+,(\d)+/);
|
||||
if (loadedAndTotal) {
|
||||
eventStr.loaded = parseInt(loadedAndTotal[0]);
|
||||
eventStr.total = parseInt(loadedAndTotal[1]);
|
||||
}
|
||||
|
||||
return eventStr;
|
||||
}
|
||||
|
||||
global.assert_xhr_event_order_matches = function(expected) {
|
||||
try {
|
||||
assert_array_equals(recorded_xhr_events, expected);
|
||||
} catch(e) {
|
||||
e.message += "\nRecorded events were:" + recorded_xhr_events.join(", ");
|
||||
e.message += "\nExpected events were:" + expected.join(", ");
|
||||
throw e;
|
||||
var recorded = recorded_xhr_events;
|
||||
var lastRecordedLoaded = -1;
|
||||
|
||||
while(expected.length && recorded.length) {
|
||||
var currentExpected = getNextEvent(expected),
|
||||
currentRecorded = getNextEvent(recorded);
|
||||
|
||||
// skip to the last progress event if we've hit one
|
||||
while (recorded.length && currentRecorded.type == "progress") {
|
||||
assert_greater(currentRecorded.loaded, lastRecordedLoaded,
|
||||
"progress event 'loaded' values must only increase");
|
||||
lastRecordedLoaded = currentRecorded.loaded;
|
||||
currentRecorded = getNextEvent(recorded);
|
||||
}
|
||||
if (currentRecorded.type == "loadstart") {
|
||||
lastRecordedLoaded = -1;
|
||||
}
|
||||
|
||||
assert_equals(currentRecorded, currentExpected);
|
||||
}
|
||||
if (recorded.length) {
|
||||
throw "\nUnexpected extra events: " + recorded.join(", ");
|
||||
}
|
||||
if (expected.length) {
|
||||
throw "\nExpected more events: " + expected.join(", ");
|
||||
}
|
||||
}
|
||||
}(this));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue