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 |
+ */ |
panicker
2017/04/06 22:48:19
Could you provide some context on this test helper
cvazac
2017/04/06 23:50:00
Yes, I added the 4th copy of `wp_test()` :), here
panicker
2017/04/07 23:01:32
Please let's not add the 4th copy :)
You could eit
|
+ |
+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' |
+ })) |
+ }) |
+} |