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

Unified Diff: LayoutTests/http/tests/w3c/webperf/approved/UserTiming/test_user_timing_measure_navigation_timing.htm

Issue 1191043004: Import hr-time and user-timing tests, remove redundant webperf copies (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add idlharness result Created 5 years, 6 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: LayoutTests/http/tests/w3c/webperf/approved/UserTiming/test_user_timing_measure_navigation_timing.htm
diff --git a/LayoutTests/http/tests/w3c/webperf/approved/UserTiming/test_user_timing_measure_navigation_timing.htm b/LayoutTests/http/tests/w3c/webperf/approved/UserTiming/test_user_timing_measure_navigation_timing.htm
deleted file mode 100644
index bc616d2326e5273d54046140f27bd780570275b1..0000000000000000000000000000000000000000
--- a/LayoutTests/http/tests/w3c/webperf/approved/UserTiming/test_user_timing_measure_navigation_timing.htm
+++ /dev/null
@@ -1,233 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="UTF-8" />
- <title>window.performance User Timing clearMeasures() method is working properly with navigation timing
- attributes</title>
- <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
- <link rel="help" href="http://127.0.0.1:8000/webperf/specs/UserTiming/#dom-performance-measure"/>
- <script src="/w3c/resources/testharness.js"></script>
- <script src="/w3c/resources/testharnessreport.js"></script>
- <script src="/w3c/webperf/resources/webperftestharness.js"></script>
-
- <script type="text/javascript">
- // navigation timing attributes
- var timingAttributes = [
- 'connectEnd',
- 'connectStart',
- 'domComplete',
- 'domContentLoadedEventEnd',
- 'domContentLoadedEventStart',
- 'domInteractive',
- 'domLoading',
- 'domainLookupEnd',
- 'domainLookupStart',
- 'fetchStart',
- 'loadEventEnd',
- 'loadEventStart',
- 'navigationStart',
- 'redirectEnd',
- 'redirectStart',
- 'requestStart',
- 'responseEnd',
- 'responseStart',
- 'unloadEventEnd',
- 'unloadEventStart'
- ];
-
- // test data
- var startMarkName = "mark_start";
- var startMarkValue;
- var endMarkName = "mark_end";
- var endMarkValue;
- var measures;
- var testThreshold = 20;
-
- // test measures
- measureTestDelay = 200;
- var TEST_MEASURES =
- [
- {
- name: "measure_nav_start_no_end",
- startMark: "navigationStart",
- endMark: undefined,
- exceptionTestMessage: "window.performance.measure(\"measure_nav_start_no_end\", " +
- "\"navigationStart\") ran without throwing any exceptions.",
- expectedStartTime: undefined,
- expectedDuration: undefined,
- entryMatch: undefined
- },
- {
- name: "measure_nav_start_mark_end",
- startMark: "navigationStart",
- endMark: "mark_end",
- exceptionTestMessage: "window.performance.measure(\"measure_nav_start_end\", \"navigationStart\", " +
- "\"mark_end\") ran without throwing any exceptions.",
- expectedStartTime: undefined,
- expectedDuration: undefined,
- entryMatch: undefined
- },
- {
- name: "measure_mark_start_nav_end",
- startMark: "mark_start",
- endMark: "responseEnd",
- exceptionTestMessage: "window.performance.measure(\"measure_start_nav_end\", \"mark_start\", " +
- "\"responseEnd\") ran without throwing any exceptions.",
- expectedStartTime: undefined,
- expectedDuration: undefined,
- entryMatch: undefined
- },
- {
- name: "measure_nav_start_nav_end",
- startMark: "navigationStart",
- endMark: "responseEnd",
- exceptionTestMessage: "window.performance.measure(\"measure_nav_start_nav_end\", " +
- "\"navigationStart\", \"responseEnd\") ran without throwing any exceptions.",
- expectedStartTime: undefined,
- expectedDuration: undefined,
- entryMatch: undefined
- }
- ];
-
- setup({timeout:1000, explicit_done: true});
-
- test_namespace();
-
- function onload_test()
- {
- // test for existance of User Timing and Performance Timeline interface
- if (window.performance.mark == undefined ||
- window.performance.clearMarks == undefined ||
- window.performance.measure == undefined ||
- window.performance.clearMeasures == undefined ||
- window.performance.getEntriesByName == undefined ||
- window.performance.getEntriesByType == undefined ||
- window.performance.getEntries == undefined)
- {
- test_true(false,
- "The User Timing and Performance Timeline interfaces, which are required for this test, " +
- "are defined.");
-
- done();
- }
- else
- {
- // create the start mark for the test measures
- window.performance.mark(startMarkName);
-
- // get the start mark's value
- startMarkValue = window.performance.getEntriesByName(startMarkName)[0].startTime;
-
- // create the test end mark using the test delay; this will allow for a significant difference between
- // the mark values that should be represented in the duration of measures using these marks
- setTimeout(measure_test_cb, measureTestDelay);
- }
- }
-
- function measure_test_cb()
- {
- // create the end mark for the test measures
- window.performance.mark(endMarkName);
-
- // get the end mark's value
- endMarkValue = window.performance.getEntriesByName(endMarkName)[0].startTime;
-
- // loop through measure scenarios
- for (var i in TEST_MEASURES)
- {
- var scenario = TEST_MEASURES[i];
-
- if (scenario.startMark != undefined && scenario.endMark == undefined)
- {
- // only startMark is defined, provide startMark and don't provide endMark
- window.performance.measure(scenario.name, scenario.startMark);
-
- // when startMark is provided to the measure() call, the value of the mark or navigation
- // timing attribute whose name is provided is used for the startMark
- scenario.expectedStartTime = (timingAttributes.indexOf(scenario.startMark) != -1 ?
- window.performance.timing[scenario.startMark] -
- window.performance.timing.navigationStart :
- startMarkValue);
-
- // when endMark isn't provided to the measure() call, a DOMHighResTimeStamp corresponding to
- // the current time with a timebase of the navigationStart attribute is used
- scenario.expectedDuration = ((new Date()) - window.performance.timing.navigationStart) -
- scenario.expectedStartTime;
- }
- else if (scenario.startMark != undefined && scenario.endMark != undefined)
- {
- // both startMark and endMark are defined, provide both parameters
- window.performance.measure(scenario.name, scenario.startMark, scenario.endMark);
-
- // when startMark is provided to the measure() call, the value of the mark or navigation
- // timing attribute whose name is provided is used for the startMark
- scenario.expectedStartTime = (timingAttributes.indexOf(scenario.startMark) != -1 ?
- window.performance.timing[scenario.startMark] -
- window.performance.timing.navigationStart :
- startMarkValue);
-
- // when endMark is provided to the measure() call, the value of the mark whose name is
- // provided is used for the startMark
- scenario.expectedDuration = (timingAttributes.indexOf(scenario.endMark) != -1 ?
- window.performance.timing[scenario.endMark] -
- window.performance.timing.navigationStart :
- endMarkValue) - scenario.expectedStartTime;
- }
- }
-
- // test the test measures are returned by getEntriesByName
- for (var i in TEST_MEASURES)
- {
- entries = window.performance.getEntriesByName(TEST_MEASURES[i].name);
- test_measure(entries[0],
- "window.performance.getEntriesByName(\"" + TEST_MEASURES[i].name + "\")[0]",
- TEST_MEASURES[i].name,
- TEST_MEASURES[i].expectedStartTime,
- TEST_MEASURES[i].expectedDuration);
- TEST_MEASURES[i].entryMatch = entries[0];
- }
-
- done();
- }
-
- function test_measure(measureEntry, measureEntryCommand, expectedName, expectedStartTime, expectedDuration)
- {
- // test name
- test_true(measureEntry.name == expectedName, measureEntryCommand + ".name == \"" + expectedName + "\"");
-
- // test startTime; since for a mark, the startTime is always equal to a mark's value or the value of a
- // navigation timing attribute, the actual startTime should match the expected value exactly
- test_true(Math.abs(measureEntry.startTime - expectedStartTime) == 0,
- measureEntryCommand + ".startTime == " );
-
- // test entryType
- test_true(measureEntry.entryType == "measure", measureEntryCommand + ".entryType == \"measure\"");
-
- // test duration, allow for an acceptable threshold in the difference between the actual duration and the
- // expected value for the duration
- test_true(Math.abs(measureEntry.duration - expectedDuration) <= testThreshold, measureEntryCommand +
- ".duration ~== " + " (up to " + testThreshold + "ms difference allowed)");
- }
- </script>
- </head>
- <body onload="onload_test();">
- <h1>Description</h1>
- <p>This test validates that the performance.measure() method is working properly when navigation timing
- attributes are used in place of mark names. This test creates the following measures to test this method:
- <ul>
- <li>"measure_nav_start_no_end": created using a measure() call with a navigation timing attribute
- provided as the startMark and nothing provided as the endMark</li>
- <li>"measure_nav_start_mark_end": created using a measure() call with a navigation timing attribute
- provided as the startMark and a mark name provided as the endMark</li>
- <li>"measure_mark_start_nav_end": created using a measure() call with a mark name provided as the
- startMark and a navigation timing attribute provided as the endMark</li>
- <li>"measure_nav_start_nav_end":created using a measure() call with a navigation timing attribute
- provided as both the startMark and endMark</li>
- </ul>
- After creating each measure, the existence of these measures is validated by calling
- performance.getEntriesByName() with each measure name
- </p>
-
- <div id="log"></div>
- </body>
-</html>

Powered by Google App Engine
This is Rietveld 408576698