| Index: third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/webperftestharness.js
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/webperftestharness.js b/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/webperftestharness.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2676ef42471cc28688e9a4774d275883cd7ec5f1
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/webperftestharness.js
|
| @@ -0,0 +1,53 @@
|
| +/*
|
| +Distributed under both the W3C Test Suite License [1] and the W3C
|
| +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
|
| +policies and contribution forms [3].
|
| +
|
| +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
|
| +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
|
| +[3] http://www.w3.org/2004/10/27-testcases
|
| + */
|
| +
|
| +var namespace_check = false
|
| +function wp_test(func, msg, properties) {
|
| + if (!namespace_check) {
|
| + namespace_check = true
|
| + var performanceNamespace = window.performance
|
| + 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_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)
|
| +}
|
| +
|
| +// assert for every entry in `expectedEntries`, there is a matching entry _somewhere_ in `actualEntries`
|
| +function test_entries(actualEntries, expectedEntries) {
|
| + test_equals(actualEntries.length, expectedEntries.length)
|
| + expectedEntries.forEach(function (expectedEntry) {
|
| + test_true(!!actualEntries.find(function (actualEntry) {
|
| + return typeof Object.keys(expectedEntry).find(function (key) {
|
| + return actualEntry[key] !== expectedEntry[key]
|
| + }) === 'undefined'
|
| + }))
|
| + })
|
| +}
|
|
|