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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/webtiming.html

Issue 2667393002: Stop using script-tests in fast/dom/. (Closed)
Patch Set: . Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../resources/js-test.js"></script> 4 <script src="../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <script src="script-tests/webtiming.js"></script> 7 <script>
8 <script src="script-tests/webtiming-defer.js" defer></script> 8 description("This test checks that all of the <a href='http://dev.w3.org/2006/we bapi/WebTiming/'>Web Timing</a> attributes are available and have reasonable val ues in the right order.");
9
10 window.performance = window.performance || {};
11 var navigation = performance.navigation || {};
12 var timing = performance.timing || {};
13
14 // Get the order of magnitude correct without a chance for flakiness.
15 var oneHourMilliseconds = 60 * 60 * 1000;
16 var currentUTC = 0; // FIXME: Use performance.now() when available.
17 var oneHourAgoUTC = currentUTC - oneHourMilliseconds;
18
19 function sleepFiftyMilliseconds() {
20 var endTime = (new Date()).getTime() + 50;
21 while ((new Date().getTime() < endTime)) { }
22 }
23 window.addEventListener("load", sleepFiftyMilliseconds, false);
24
25 function checkTimingBeforeLoad()
26 {
27 shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
28
29 shouldBe("timing.redirectStart", "0");
30 shouldBe("timing.redirectEnd", "0");
31 shouldBe("navigation.redirectCount", "0");
32
33 shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
34
35 shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
36 shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupSta rt");
37
38 shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
39 shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
40
41 shouldBe("timing.secureConnectionStart", "0");
42
43 shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
44
45 shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
46
47 shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
48 shouldBe("timing.domInteractive", "0");
49 shouldBe("timing.domContentLoadedEventStart", "0");
50 shouldBe("timing.domContentLoadedEventEnd", "0");
51 shouldBe("timing.domComplete", "0");
52
53 shouldBe("timing.loadEventStart", "0");
54 shouldBe("timing.loadEventEnd", "0");
55 }
56
57 function checkTimingWhileDeferred()
58 {
59 shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
60
61 shouldBe("timing.redirectStart", "0");
62 shouldBe("timing.redirectEnd", "0");
63 shouldBe("navigation.redirectCount", "0");
64
65 shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
66
67 shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
68 shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupSta rt");
69
70 shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
71 shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
72
73 shouldBe("timing.secureConnectionStart", "0");
74
75 shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
76
77 shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
78
79 shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
80 shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.domLoading");
81 shouldBe("timing.domContentLoadedEventStart", "0");
82 shouldBe("timing.domContentLoadedEventEnd", "0");
83 shouldBe("timing.domComplete", "0");
84
85 shouldBe("timing.loadEventStart", "0");
86 shouldBe("timing.loadEventEnd", "0");
87
88 window.addEventListener("DOMContentLoaded", checkWebTimingOnDOMContentLoaded , false);
89 }
90
91 function checkWebTimingOnDOMContentLoaded() {
92 shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
93
94 shouldBe("timing.redirectStart", "0");
95 shouldBe("timing.redirectEnd", "0");
96 shouldBe("navigation.redirectCount", "0");
97
98 shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
99
100 shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
101 shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupSta rt");
102
103 shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
104 shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
105
106 shouldBe("timing.secureConnectionStart", "0");
107
108 shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
109
110 shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
111
112 shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
113 shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.domLoading");
114 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domI nteractive");
115 shouldBe("timing.domContentLoadedEventEnd", "0");
116 shouldBe("timing.domComplete", "0");
117
118 shouldBe("timing.loadEventStart", "0");
119 shouldBe("timing.loadEventEnd", "0");
120
121 var body = document.getElementsByTagName("body")[0];
122 var script = document.createElement("script");
123 script.async = true;
124 script.type = "text/javascript";
125 script.src = "resources/webtiming-async.js";
126 body.appendChild(script);
127 }
128
129 function checkWebTimingWhileAsync()
130 {
131 shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
132
133 shouldBe("timing.redirectStart", "0");
134 shouldBe("timing.redirectEnd", "0");
135 shouldBe("navigation.redirectCount", "0");
136
137 shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
138
139 shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
140 shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupSta rt");
141
142 shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
143 shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
144
145 shouldBe("timing.secureConnectionStart", "0");
146
147 shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
148
149 shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
150
151 shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
152 shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
153 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domI nteractive");
154 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventEnd", "timing.domCon tentLoadedEventStart");
155 shouldBe("timing.domComplete", "0");
156
157 shouldBe("timing.loadEventStart", "0");
158 shouldBe("timing.loadEventEnd", "0");
159
160 window.addEventListener("load", checkWebTimingOnLoad, false);
161 }
162
163 function checkWebTimingOnLoad()
164 {
165 shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
166
167 shouldBe("timing.redirectStart", "0");
168 shouldBe("timing.redirectEnd", "0");
169 shouldBe("navigation.redirectCount", "0");
170
171 shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
172
173 shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
174 shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupSta rt");
175
176 shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
177 shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
178
179 shouldBe("timing.secureConnectionStart", "0");
180
181 shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
182
183 shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
184 shouldBeGreaterThanOrEqual("timing.responseEnd", "timing.responseStart");
185
186 shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
187 shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
188 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domI nteractive");
189 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventEnd", "timing.domCon tentLoadedEventStart");
190 shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoadedEve ntEnd");
191
192 shouldBeGreaterThanOrEqual("timing.loadEventStart", "timing.responseEnd");
193 shouldBe("timing.loadEventEnd", "0");
194
195 setTimeout("checkWebTimingAfterLoad()", 0);
196 }
197
198 function checkWebTimingAfterLoad()
199 {
200 shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
201
202 shouldBe("timing.redirectStart", "0");
203 shouldBe("timing.redirectEnd", "0");
204 shouldBe("navigation.redirectCount", "0");
205
206 shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
207
208 shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
209 shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupSta rt");
210
211 shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
212 shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
213
214 shouldBe("timing.secureConnectionStart", "0");
215
216 shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
217
218 shouldBeGreaterThanOrEqual("timing.responseStart", "timing.requestStart");
219 shouldBeGreaterThanOrEqual("timing.responseEnd", "timing.responseStart");
220
221 shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
222 shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
223 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventStart", "timing.domI nteractive");
224 shouldBeGreaterThanOrEqual("timing.domContentLoadedEventEnd", "timing.domCon tentLoadedEventStart");
225 shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoadedEve ntEnd");
226
227 shouldBeGreaterThanOrEqual("timing.loadEventStart", "timing.responseEnd");
228 shouldBeGreaterThanOrEqual("timing.loadEventEnd", "timing.loadEventStart + 5 0");
229
230 finishJSTest();
231 }
232
233 jsTestIsAsync = true;
234 checkTimingBeforeLoad();
235 </script>
236 <script src="resources/webtiming-defer.js" defer></script>
9 </body> 237 </body>
10 </html> 238 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698