Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(723)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/webperftestharness.js

Issue 2799093004: Enable ServerTiming support
Patch Set: update code formatting and comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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'
+ }))
+ })
+}

Powered by Google App Engine
This is Rietveld 408576698