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

Unified Diff: third_party/WebKit/LayoutTests/fast/dom/webtiming.html

Issue 2667393002: Stop using script-tests in fast/dom/. (Closed)
Patch Set: . Created 3 years, 11 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/fast/dom/webtiming.html
diff --git a/third_party/WebKit/LayoutTests/fast/dom/webtiming.html b/third_party/WebKit/LayoutTests/fast/dom/webtiming.html
index d347c2372a9d31c8a3689bbacdd189e0350f0638..9ba0b711e130cc05419e220263ca699dc4c1ebd1 100644
--- a/third_party/WebKit/LayoutTests/fast/dom/webtiming.html
+++ b/third_party/WebKit/LayoutTests/fast/dom/webtiming.html
@@ -4,7 +4,235 @@
<script src="../../resources/js-test.js"></script>
</head>
<body>
-<script src="script-tests/webtiming.js"></script>
-<script src="script-tests/webtiming-defer.js" defer></script>
+<script>
+description("This test checks that all of the <a href='http://dev.w3.org/2006/webapi/WebTiming/'>Web Timing</a> attributes are available and have reasonable values in the right order.");
+
+window.performance = window.performance || {};
+var navigation = performance.navigation || {};
+var timing = performance.timing || {};
+
+// Get the order of magnitude correct without a chance for flakiness.
+var oneHourMilliseconds = 60 * 60 * 1000;
+var currentUTC = 0; // FIXME: Use performance.now() when available.
+var oneHourAgoUTC = currentUTC - oneHourMilliseconds;
+
+function sleepFiftyMilliseconds() {
+ var endTime = (new Date()).getTime() + 50;
+ while ((new Date().getTime() < endTime)) { }
+}
+window.addEventListener("load", sleepFiftyMilliseconds, false);
+
+function checkTimingBeforeLoad()
+{
+ shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+ shouldBe("timing.redirectStart", "0");
+ shouldBe("timing.redirectEnd", "0");
+ shouldBe("navigation.redirectCount", "0");
+
+ shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+ shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+ shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+ shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+ shouldBe("timing.secureConnectionStart", "0");
+
+ shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+
+ shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
+
+ shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+ shouldBe("timing.domInteractive", "0");
+ shouldBe("timing.domContentLoadedEventStart", "0");
+ shouldBe("timing.domContentLoadedEventEnd", "0");
+ shouldBe("timing.domComplete", "0");
+
+ shouldBe("timing.loadEventStart", "0");
+ shouldBe("timing.loadEventEnd", "0");
+}
+
+function checkTimingWhileDeferred()
+{
+ shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+ shouldBe("timing.redirectStart", "0");
+ shouldBe("timing.redirectEnd", "0");
+ shouldBe("navigation.redirectCount", "0");
+
+ shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+ shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+ shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+ shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+ shouldBe("timing.secureConnectionStart", "0");
+
+ shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+
+ shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
+
+ shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.domLoading");
+ shouldBe("timing.domContentLoadedEventStart", "0");
+ shouldBe("timing.domContentLoadedEventEnd", "0");
+ shouldBe("timing.domComplete", "0");
+
+ shouldBe("timing.loadEventStart", "0");
+ shouldBe("timing.loadEventEnd", "0");
+
+ window.addEventListener("DOMContentLoaded", checkWebTimingOnDOMContentLoaded, false);
+}
+
+function checkWebTimingOnDOMContentLoaded() {
+ shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+ shouldBe("timing.redirectStart", "0");
+ shouldBe("timing.redirectEnd", "0");
+ shouldBe("navigation.redirectCount", "0");
+
+ shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+ shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+ shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+ shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+ shouldBe("timing.secureConnectionStart", "0");
+
+ shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+
+ shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
+
+ shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.domLoading");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domInteractive");
+ shouldBe("timing.domContentLoadedEventEnd", "0");
+ shouldBe("timing.domComplete", "0");
+
+ shouldBe("timing.loadEventStart", "0");
+ shouldBe("timing.loadEventEnd", "0");
+
+ var body = document.getElementsByTagName("body")[0];
+ var script = document.createElement("script");
+ script.async = true;
+ script.type = "text/javascript";
+ script.src = "resources/webtiming-async.js";
+ body.appendChild(script);
+}
+
+function checkWebTimingWhileAsync()
+{
+ shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+ shouldBe("timing.redirectStart", "0");
+ shouldBe("timing.redirectEnd", "0");
+ shouldBe("navigation.redirectCount", "0");
+
+ shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+ shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+ shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+ shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+ shouldBe("timing.secureConnectionStart", "0");
+
+ shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+
+ shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
+
+ shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domInteractive");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventEnd", "timing.domContentLoadedEventStart");
+ shouldBe("timing.domComplete", "0");
+
+ shouldBe("timing.loadEventStart", "0");
+ shouldBe("timing.loadEventEnd", "0");
+
+ window.addEventListener("load", checkWebTimingOnLoad, false);
+}
+
+function checkWebTimingOnLoad()
+{
+ shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+ shouldBe("timing.redirectStart", "0");
+ shouldBe("timing.redirectEnd", "0");
+ shouldBe("navigation.redirectCount", "0");
+
+ shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+ shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+ shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+ shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+ shouldBe("timing.secureConnectionStart", "0");
+
+ shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+
+ shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
+ shouldBeGreaterThanOrEqual("timing.responseEnd", "timing.responseStart");
+
+ shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domInteractive");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventEnd", "timing.domContentLoadedEventStart");
+ shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoadedEventEnd");
+
+ shouldBeGreaterThanOrEqual("timing.loadEventStart", "timing.responseEnd");
+ shouldBe("timing.loadEventEnd", "0");
+
+ setTimeout("checkWebTimingAfterLoad()", 0);
+}
+
+function checkWebTimingAfterLoad()
+{
+ shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+ shouldBe("timing.redirectStart", "0");
+ shouldBe("timing.redirectEnd", "0");
+ shouldBe("navigation.redirectCount", "0");
+
+ shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+ shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+ shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+ shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+ shouldBe("timing.secureConnectionStart", "0");
+
+ shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+
+ shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
+ shouldBeGreaterThanOrEqual("timing.responseEnd", "timing.responseStart");
+
+ shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+ shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domInteractive");
+ shouldBeGreaterThanOrEqual("timing.domContentLoadedEventEnd", "timing.domContentLoadedEventStart");
+ shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoadedEventEnd");
+
+ shouldBeGreaterThanOrEqual("timing.loadEventStart", "timing.responseEnd");
+ shouldBeGreaterThanOrEqual("timing.loadEventEnd", "timing.loadEventStart + 50");
+
+ finishJSTest();
+}
+
+jsTestIsAsync = true;
+checkTimingBeforeLoad();
+</script>
+<script src="resources/webtiming-defer.js" defer></script>
</body>
</html>

Powered by Google App Engine
This is Rietveld 408576698