mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Update web-platform-tests to revision 0d318188757a9c996e20b82db201fd04de5aa255
This commit is contained in:
parent
b2a5225831
commit
1a81b18b9f
12321 changed files with 544385 additions and 6 deletions
|
@ -0,0 +1,145 @@
|
|||
//
|
||||
// Helper Functions for NavigationTiming W3C tests
|
||||
//
|
||||
|
||||
var performanceNamespace = window.performance;
|
||||
var timingAttributes = [
|
||||
'connectEnd',
|
||||
'connectStart',
|
||||
'domComplete',
|
||||
'domContentLoadedEventEnd',
|
||||
'domContentLoadedEventStart',
|
||||
'domInteractive',
|
||||
'domLoading',
|
||||
'domainLookupEnd',
|
||||
'domainLookupStart',
|
||||
'fetchStart',
|
||||
'loadEventEnd',
|
||||
'loadEventStart',
|
||||
'navigationStart',
|
||||
'redirectEnd',
|
||||
'redirectStart',
|
||||
'requestStart',
|
||||
'responseEnd',
|
||||
'responseStart',
|
||||
'unloadEventEnd',
|
||||
'unloadEventStart'
|
||||
];
|
||||
|
||||
var namespace_check = false;
|
||||
|
||||
//
|
||||
// All test() functions in the WebPerf test suite should use wp_test() instead.
|
||||
//
|
||||
// wp_test() validates the window.performance namespace exists prior to running tests and
|
||||
// immediately shows a single failure if it does not.
|
||||
//
|
||||
|
||||
function wp_test(func, msg, properties)
|
||||
{
|
||||
// only run the namespace check once
|
||||
if (!namespace_check)
|
||||
{
|
||||
namespace_check = true;
|
||||
|
||||
if (performanceNamespace === undefined || performanceNamespace == null)
|
||||
{
|
||||
// show a single error that window.performance is undefined
|
||||
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. "});
|
||||
}
|
||||
}
|
||||
|
||||
test(func, msg, properties);
|
||||
}
|
||||
|
||||
function test_namespace(child_name, skip_root)
|
||||
{
|
||||
if (skip_root === undefined) {
|
||||
var msg = 'window.performance is defined';
|
||||
wp_test(function () { assert_true(performanceNamespace !== undefined, msg); }, msg,{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. "});
|
||||
}
|
||||
|
||||
if (child_name !== undefined) {
|
||||
var msg2 = 'window.performance.' + child_name + ' is defined';
|
||||
wp_test(function() { assert_true(performanceNamespace[child_name] !== undefined, msg2); }, msg2,{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. "});
|
||||
}
|
||||
}
|
||||
|
||||
function test_attribute_exists(parent_name, attribute_name, properties)
|
||||
{
|
||||
var msg = 'window.performance.' + parent_name + '.' + attribute_name + ' is defined.';
|
||||
wp_test(function() { assert_true(performanceNamespace[parent_name][attribute_name] !== undefined, msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_enum(parent_name, enum_name, value, properties)
|
||||
{
|
||||
var msg = 'window.performance.' + parent_name + '.' + enum_name + ' is defined.';
|
||||
wp_test(function() { assert_true(performanceNamespace[parent_name][enum_name] !== undefined, msg); }, msg, properties);
|
||||
|
||||
msg = 'window.performance.' + parent_name + '.' + enum_name + ' = ' + value;
|
||||
wp_test(function() { assert_equals(performanceNamespace[parent_name][enum_name], value, msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_timing_order(attribute_name, greater_than_attribute, properties)
|
||||
{
|
||||
// ensure it's not 0 first
|
||||
var msg = "window.performance.timing." + attribute_name + " > 0";
|
||||
wp_test(function() { assert_true(performanceNamespace.timing[attribute_name] > 0, msg); }, msg, properties);
|
||||
|
||||
// ensure it's in the right order
|
||||
msg = "window.performance.timing." + attribute_name + " >= window.performance.timing." + greater_than_attribute;
|
||||
wp_test(function() { assert_true(performanceNamespace.timing[attribute_name] >= performanceNamespace.timing[greater_than_attribute], msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_timing_greater_than(attribute_name, greater_than, properties)
|
||||
{
|
||||
var msg = "window.performance.timing." + attribute_name + " > " + greater_than;
|
||||
test_greater_than(performanceNamespace.timing[attribute_name], greater_than, msg, properties);
|
||||
}
|
||||
|
||||
function test_timing_equals(attribute_name, equals, msg, properties)
|
||||
{
|
||||
var test_msg = msg || "window.performance.timing." + attribute_name + " == " + equals;
|
||||
test_equals(performanceNamespace.timing[attribute_name], equals, test_msg, properties);
|
||||
}
|
||||
|
||||
//
|
||||
// Non-test related helper functions
|
||||
//
|
||||
|
||||
function sleep_milliseconds(n)
|
||||
{
|
||||
var start = new Date().getTime();
|
||||
while (true) {
|
||||
if ((new Date().getTime() - start) >= n) break;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Common helper functions
|
||||
//
|
||||
|
||||
function test_true(value, msg, properties)
|
||||
{
|
||||
wp_test(function () { assert_true(value, msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_equals(value, equals, msg, properties)
|
||||
{
|
||||
wp_test(function () { assert_equals(value, equals, msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_greater_than(value, greater_than, msg, properties)
|
||||
{
|
||||
wp_test(function () { assert_true(value > greater_than, msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_greater_or_equals(value, greater_than, msg, properties)
|
||||
{
|
||||
wp_test(function () { assert_true(value >= greater_than, msg); }, msg, properties);
|
||||
}
|
||||
|
||||
function test_not_equals(value, notequals, msg, properties)
|
||||
{
|
||||
wp_test(function() { assert_true(value !== notequals, msg); }, msg, properties);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue