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

Unified Diff: chrome/browser/resources/tracing/timeline_track_test.html

Issue 10543144: Remove old tracing code now that it has moved to third_party. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 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: chrome/browser/resources/tracing/timeline_track_test.html
diff --git a/chrome/browser/resources/tracing/timeline_track_test.html b/chrome/browser/resources/tracing/timeline_track_test.html
deleted file mode 100644
index 6fd42e7ceec01e555b668759547f94094967f4d0..0000000000000000000000000000000000000000
--- a/chrome/browser/resources/tracing/timeline_track_test.html
+++ /dev/null
@@ -1,515 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-Copyright (c) 2012 The Chromium Authors. All rights reserved.
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
--->
-<head i18n-values="dir:textdirection;">
-<title>TimelineTrack tests</title>
-<script
- src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js">
-</script>
-<script>
- goog.require('goog.testing.jsunit');
-</script>
-<style>
-* {
- box-sizing: border-box;
- -webkit-user-select: none;
-}
-
-.timeline-container {
- border: 1px solid red;
-}
-
-</style>
-<link rel="stylesheet" href="timeline.css">
-<script src="../shared/js/cr.js"></script>
-<script src="../shared/js/cr/event_target.js"></script>
-<script src="../shared/js/cr/ui.js"></script>
-<script src="../shared/js/util.js"></script>
-<script src="timeline_model.js"></script>
-<script src="sorted_array_utils.js"></script>
-<script src="measuring_stick.js"></script>
-<script src="timeline.js"></script>
-<script src="timeline_track.js"></script>
-<script src="fast_rect_renderer.js"></script>
-</head>
-<body>
-<script>
-</script>
-<script>
- 'use strict';
-
- var TimelineAsyncSlice = tracing.TimelineAsyncSlice;
- var TimelineAsyncSliceGroup = tracing.TimelineAsyncSliceGroup;
- var TimelineCounter = tracing.TimelineCounter;
- var TimelineCounterTrack = tracing.TimelineCounterTrack;
- var TimelineCpu = tracing.TimelineCpu;
- var TimelineCpuTrack = tracing.TimelineCpuTrack;
- var TimelineProcess = tracing.TimelineProcess;
- var TimelineSelection = tracing.TimelineSelection;
- var TimelineSliceTrack = tracing.TimelineSliceTrack;
- var TimelineSlice = tracing.TimelineSlice;
- var TimelineThread = tracing.TimelineThread;
- var TimelineThreadSlice = tracing.TimelineThreadSlice;
- var TimelineThreadTrack = tracing.TimelineThreadTrack;
- var TimelineViewport = tracing.TimelineViewport;
- var testDivs = {};
-
- // Helper function to create a slice.
- function newAsyncSlice(start, duration, startThread, endThread) {
- var s = new TimelineAsyncSlice('a', 0, start);
- s.duration = duration;
- s.startThread = startThread;
- s.endThread = endThread;
- return s;
- }
-
- function getTestDiv(name) {
- if (!testDivs[name]) {
- testDivs[name] = document.createElement('div');
- document.body.appendChild(testDivs[name]);
- }
- testDivs[name].textContent = '';
- return testDivs[name];
- }
-
- function testBasicSlices() {
- var testEl = getTestDiv('testBasicSlices');
- var track = TimelineSliceTrack();
- testEl.appendChild(track);
- track.heading = 'testBasicSlices';
- track.slices = [
- new TimelineSlice('a', 0, 1, {}, 1),
- new TimelineSlice('b', 1, 2.1, {}, 4.8),
- new TimelineSlice('b', 1, 7, {}, 0.5),
- new TimelineSlice('c', 2, 7.6, {}, 0.4)
- ];
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 8.8, track.clientWidth);
- }
-
- function testFindAllObjectsMatchingInSliceTrack() {
- var track = TimelineSliceTrack();
- track.slices = [
- new TimelineSlice('a', 0, 1, {}, 1),
- new TimelineSlice('b', 1, 2.1, {}, 4.8),
- new TimelineSlice('b', 1, 7, {}, 0.5),
- new TimelineSlice('c', 2, 7.6, {}, 0.4)
- ];
- var selection = new TimelineSelection();
- track.addAllObjectsMatchingFilterToSelection(
- new tracing.TimelineFilter("b"), selection);
-
- assertEquals(2, selection.length);
- assertEquals(track.slices[1], selection[0].slice);
- assertEquals(track.slices[2], selection[1].slice);
- }
-
- function testShrinkingSliceSizes() {
- var testEl = getTestDiv('testShrinkingSliceSizes');
- var track = TimelineSliceTrack();
- testEl.appendChild(track);
- track.heading = 'testShrinkingSliceSizes';
- var x = 0;
- var widths = [10, 5, 4, 3, 2, 1, 0.5, 0.4, 0.3, 0.2, 0.1, 0.05];
- var slices = [];
- for (var i = 0; i < widths.length; i++) {
- var s = new TimelineSlice('a', 1, x, {}, widths[i]);
- x += s.duration + 0.5;
- slices.push(s);
- }
- track.slices = slices;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 1.1 * x, track.clientWidth);
- }
-
- function testSelectionHitTesting() {
- var testEl = getTestDiv('testSelectionHitTesting');
- var track = new TimelineSliceTrack();
- testEl.appendChild(track);
- track.heading = 'testSelectionHitTesting';
- track.headingWidth = '100px';
- track.slices = [
- new TimelineSlice('a', 0, 1, {}, 1),
- new TimelineSlice('b', 1, 2.1, {}, 4.8)
- ];
- track.style.width = '500px';
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 7.6, track.clientWidth);
- var clientRect = track.getBoundingClientRect();
-
- var selection = new TimelineSelection();
- track.addIntersectingItemsToSelection(1.5, clientRect.top + 5, selection);
- assertEquals(track.slices[0], selection[0].slice);
-
- var selection = new TimelineSelection();
- track.addIntersectingItemsToSelection(2, clientRect.top + 5, selection);
- assertEquals(0, selection.length);
-
- var selection = new TimelineSelection();
- track.addIntersectingItemsToSelection(6.8, clientRect.top + 5, selection);
- assertEquals(track.slices[1], selection[0].slice);
-
- var selection = new TimelineSelection();
- track.addIntersectingItemsToSelection(6.9, clientRect.top + 5, selection);
- assertEquals(0, selection.length);
- }
-
- function testSelectionHitTestingWithTimelineThreadTrack() {
- var model = new tracing.TimelineModel();
- var p1 = model.getOrCreateProcess(1);
- var t1 = p1.getOrCreateThread(1);
- t1.subRows[0].push(new tracing.TimelineThreadSlice('a', 0, 1, {}, 5));
- t1.subRows[0].push(new tracing.TimelineThreadSlice('b', 0, 5.1, {}, 4));
-
- var testEl = getTestDiv('testSelectionHitTestingWithTimelineThreadTrack');
- var track = new tracing.TimelineThreadTrack();
- testEl.appendChild(track);
- track.heading = 'testSelectionHitTestingWithTimelineThreadTrack';
- track.headingWidth = '100px';
- track.thread = t1;
-
- track.style.width = '500px';
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 10, track.clientWidth);
- var clientRect = track.getBoundingClientRect();
-
- var selection = new TimelineSelection();
- track.addIntersectingItemsToSelection(1.5, clientRect.top + 5, selection);
- assertEquals(t1.subRows[0][0], selection[0].slice);
-
- var selection = new TimelineSelection();
- track.addIntersectingItemsInRangeToSelection(1.5, 1.8, clientRect.top + 5, clientRect.top + 7, selection);
- assertEquals(t1.subRows[0][0], selection[0].slice);
- }
-
- function testBasicCpu() {
- var testEl = getTestDiv('testBasicCpu');
-
- var cpu = new TimelineCpu(7);
- cpu.slices = [
- new TimelineSlice('a', 0, 1, {}, 1),
- new TimelineSlice('b', 1, 2.1, {}, 4.8)
- ];
- cpu.updateBounds();
-
- var track = TimelineCpuTrack();
- testEl.appendChild(track);
- track.heading = 'CPU ' + cpu.cpuNumber;
- track.cpu = cpu;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 11.1, track.clientWidth);
- }
-
- function testViewport() {
- var testEl = getTestDiv('testViewport');
-
- var track = tracing.TimelineViewportTrack();
- testEl.appendChild(track);
- track.viewport = new TimelineViewport(testEl);
- track.viewport.setPanAndScale(0,
- track.clientWidth / 1000);
- }
-
- function testBasicCounter() {
- var testEl = getTestDiv('testBasicCounter');
-
- var ctr = new TimelineCounter(undefined,
- 'testBasicCounter', 'testBasicCounter');
- ctr.seriesNames = ['value1', 'value2'];
- ctr.seriesColors = [tracing.getStringColorId('testBasicCounter.value1'),
- tracing.getStringColorId('testBasicCounter.value2')];
- ctr.timestamps = [0, 1, 2, 3, 4, 5, 6, 7];
- ctr.samples = [0, 5,
- 3, 3,
- 1, 1,
- 2, 1.1,
- 3, 0,
- 1, 7,
- 3, 0,
- 3.1, 0.5];
- ctr.updateBounds();
-
- var track = new TimelineCounterTrack();
- testEl.appendChild(track);
- track.heading = ctr.name;
- track.counter = ctr;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 7.7, track.clientWidth);
- }
-
- function runOffscreenCounterTest(timestamps, samples, testFn) {
- var testEl = document.createElement('div');
- var ctr = new TimelineCounter(undefined,
- 'foo', 'foo');
- var n = samples.length / timestamps.length;
- ctr.timestamps = timestamps;
- ctr.samples = samples;
- ctr.seriesNames = []
- ctr.seriesColors = []
- for (var i = 0; i < n; ++i) {
- ctr.seriesNames.push('value' + i);
- ctr.seriesColors.push(tracing.getStringColorId(ctr.seriesNames[i]));
- }
- ctr.updateBounds();
-
- var track = new TimelineCounterTrack();
- testEl.appendChild(track);
- document.body.appendChild(testEl);
-
- track.heading = ctr.name;
- track.counter = ctr;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 10, track.clientWidth);
-
- try {
- testFn(ctr, track);
- } finally {
- document.body.removeChild(testEl);
- }
- }
-
- function testBasicCounterXPointPicking() {
- var timestamps = [0, 1, 2, 3, 4, 5, 6, 7];
- var samples = [0, 5,
- 3, 3,
- 1, 1,
- 2, 1.1,
- 3, 0,
- 1, 7,
- 3, 0,
- 3.1, 0.5];
- runOffscreenCounterTest(timestamps, samples, function(ctr, track) {
- var clientRect = track.getBoundingClientRect();
- var y75 = clientRect.top + 0.75 * clientRect.height;
- var sel;
-
- // In bounds.
- sel = new tracing.TimelineSelection();
- track.addIntersectingItemsToSelection(1.5, y75, sel);
- assertEquals(1, sel.length);
- assertEquals(track, sel[0].track);
- assertEquals(ctr, sel[0].counter);
- assertEquals(1, sel[0].sampleIndex);
-
- // Outside bouds.
- sel = new tracing.TimelineSelection();
- track.addIntersectingItemsToSelection(-1, y75, sel);
- assertEquals(0, sel.length);
-
- sel = new tracing.TimelineSelection();
- track.addIntersectingItemsToSelection(8, y75, sel);
- assertEquals(0, sel.length);
- });
- }
-
- /* You'll need visual inspection to test eliding with this one. */
- function testElideVisualInspection() {
- var optDicts = [{ trackName: 'elideOff', elide: false },
- { trackName: 'elideOn', elide: true }];
- for (var dictIndex in optDicts) {
- var dict = optDicts[dictIndex];
- var testEl = getTestDiv(dict.trackName);
- var track = new TimelineSliceTrack();
- if (dict.elide) {
- track.SHOULD_ELIDE_TEXT = true;
- } else {
- track.SHOULD_ELIDE_TEXT = false;
- }
- var tooLongTitle = 'Unless eliding this SHOULD NOT BE DISPLAYED. ';
- var bigTitle = 'Very big title name that goes on longer ' +
- 'than you may expect';
- testEl.appendChild(track);
- track.heading = 'Visual: ' + dict.trackName;
- track.slices = [
- // title, colorId, start, args, opt_duration
- new TimelineSlice('a ' + tooLongTitle + bigTitle, 0, 1, {}, 1),
- new TimelineSlice(bigTitle, 1, 2.1, {}, 4.8),
- new TimelineSlice('cccc cccc cccc', 1, 7, {}, 0.5),
- new TimelineSlice('d', 2, 7.6, {}, 1.0)
- ];
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 9.5, track.clientWidth);
- }
- }
-
- function testElide() {
- var testEl = getTestDiv('testElide');
- var track = new TimelineSliceTrack();
- testEl.appendChild(track);
- var bigtitle = 'Super duper long long title ' +
- 'holy moly when did you get so verbose?';
- var smalltitle = 'small';
- track.viewport = new TimelineViewport(testEl);
- track.heading = 'testElide';
- track.slices = [
- // title, colorId, start, args, opt_duration
- new TimelineSlice(bigtitle, 0, 1, {}, 1),
- new TimelineSlice(smalltitle, 1, 2, {}, 1)
- ];
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 3.3, track.clientWidth);
- var stringWidthPair = undefined;
- var pixWidth = track.viewport_.xViewVectorToWorld(1);
-
- // Small titles on big slices are not elided.
- stringWidthPair = track.elidedTitleCache.get(track, pixWidth, smalltitle,
- track.labelWidth(smalltitle), 1);
- assertEquals(smalltitle, stringWidthPair.string);
- // Keep shrinking the slice until eliding starts.
- var elidedWhenSmallEnough = false;
- for (var sliceLength = 1; sliceLength >= 0.00001; sliceLength /= 2.0) {
- stringWidthPair = track.elidedTitleCache.get(track, pixWidth, smalltitle,
- track.labelWidth(smalltitle), sliceLength);
- if (stringWidthPair.string.length < smalltitle.length) {
- elidedWhenSmallEnough = true;
- break;
- }
- }
- assertTrue(elidedWhenSmallEnough);
-
- // Big titles are elided immediately.
- var superBigTitle = '';
- for (var x = 0; x < 10; x++) {
- superBigTitle += bigtitle;
- }
- stringWidthPair = track.elidedTitleCache.get(track, pixWidth,
- superBigTitle, track.labelWidth(superBigTitle), 1);
- assertTrue(stringWidthPair.string.length < superBigTitle.length);
- // And elided text ends with ...
- var len = stringWidthPair.string.length;
- assertEquals('...', stringWidthPair.string.substring(len - 3, len));
- }
-
- function testTimelineThreadTrackWithRegularSlices() {
- var testEl = getTestDiv('testTimelineThreadTrackWithRegularSlices');
- var track = TimelineThreadTrack();
- testEl.appendChild(track);
- track.heading = 'testTimelineThreadTrackWithRegularSlices';
- var thread = new TimelineThread(new TimelineProcess(7), 1);
- thread.subRows = [
- [
- new TimelineThreadSlice('a', 0, 1, {}, 1),
- new TimelineThreadSlice('b', 1, 2.1, {}, 4.8),
- new TimelineThreadSlice('b', 1, 7, {}, 0.5),
- new TimelineThreadSlice('c', 2, 7.6, {}, 0.4)
- ],
- [
- new TimelineThreadSlice('d', 3, 1.1, {}, 0.8),
- new TimelineThreadSlice('e', 4, 7.1, {}, 0.3)
- ]
- ];
- thread.updateBounds();
- track.heading = 'thread regular';
- track.headingWidth = '150px';
- track.toolTip = thread.userFriendlyDetails + ':';
- track.thread = thread;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 8.2, track.clientWidth);
- }
-
- function testTimelineThreadTrackWithTallSlices() {
- var testEl = getTestDiv('testTimelineThreadTrackWithTallSlices');
- var track = TimelineThreadTrack();
- testEl.appendChild(track);
- track.heading = 'testTimelineThreadTrackWithTallSlices';
- var thread = new TimelineThread(new TimelineProcess(7), 1);
- thread.subRows = [
- [new TimelineThreadSlice('a', 1, 0, {}, 1)],
- [new TimelineThreadSlice('b', 2, 0.1, {}, 0.8)],
- [new TimelineThreadSlice('c', 3, 0.15, {}, 0.70)],
- [new TimelineThreadSlice('d', 4, 0.20, {}, 0.50)],
- [new TimelineThreadSlice('e', 5, 0.30, {}, 0.28)],
- [new TimelineThreadSlice('e', 6, 0.35, {}, 0.20)],
- [new TimelineThreadSlice('f', 7, 0.40, {}, 0.10)]
- ];
- thread.updateBounds();
- track.heading = 'thread tall';
- track.headingWidth = '150px';
- track.toolTip = thread.userFriendlyDetails + ':';
- track.thread = thread;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 1.1, track.clientWidth);
- }
-
- function testTimelineThreadTrackWithRegularAndAsyncSlices() {
- var testEl = getTestDiv('testTimelineThreadTrackWithAsyncSlices');
- var track = TimelineThreadTrack();
- testEl.appendChild(track);
- var thread = new TimelineThread(new TimelineProcess(7), 1);
- thread.subRows = [
- [
- new TimelineThreadSlice('a', 0, 1, {}, 1),
- new TimelineThreadSlice('b', 1, 2.1, {}, 4.8),
- new TimelineThreadSlice('b', 1, 7, {}, 0.5),
- new TimelineThreadSlice('c', 2, 7.6, {}, 0.4)
- ],
- [
- new TimelineThreadSlice('d', 3, 1.1, {}, 0.8),
- new TimelineThreadSlice('e', 4, 7.1, {}, 0.3)
- ]
- ];
- thread.asyncSlices.push(newAsyncSlice(1.2, 7.2 - 1.2, thread, thread));
- thread.asyncSlices.push(newAsyncSlice(1.3, 7.3 - 1.3, thread, thread));
- thread.updateBounds();
- track.heading = 'thread regular + async';
- track.headingWidth = '150px';
- track.toolTip = thread.userFriendlyDetails + ':';
- track.thread = thread;
- track.viewport = new TimelineViewport(testEl);
- track.viewport.xSetWorldRange(0, 8.15, track.clientWidth);
- }
-
- function testTimelineSliceTrackAddItemNearToProvidedHit() {
- var track = new TimelineSliceTrack();
- track.slices = [
- new TimelineSlice('a', 0, 1, {}, 1),
- new TimelineSlice('b', 1, 2.1, {}, 4.8),
- new TimelineSlice('b', 1, 7, {}, 0.5),
- new TimelineSlice('c', 2, 7.6, {}, 0.4)
- ];
- var sel = new tracing.TimelineSelection();
- track.addAllObjectsMatchingFilterToSelection(new tracing.TimelineFilter("b"), sel);
- var ret;
-
- // Select to the right of B.
- var selRight = new tracing.TimelineSelection();
- ret = track.addItemNearToProvidedHitToSelection(sel[0], 1, selRight);
- assertTrue(ret);
- assertEquals(track.slices[2], selRight[0].slice);
-
- // Select to the right of the 2nd b.
- var selRight2 = new tracing.TimelineSelection();
- ret = track.addItemNearToProvidedHitToSelection(sel[0], 2, selRight2);
- assertTrue(ret);
- assertEquals(track.slices[3], selRight2[0].slice);
-
- // Select to 2 to the right of the 2nd b.
- var selRightOfRight = new tracing.TimelineSelection();
- ret = track.addItemNearToProvidedHitToSelection(selRight[0], 1, selRightOfRight);
- assertTrue(ret);
- assertEquals(track.slices[3], selRightOfRight[0].slice);
-
- // Select to the right of the rightmost slice.
- var selNone = new tracing.TimelineSelection();
- ret = track.addItemNearToProvidedHitToSelection(selRightOfRight[0], 1, selNone);
- assertFalse(ret);
- assertEquals(0, selNone.length);
-
- // Select A and then select left.
- var sel = new tracing.TimelineSelection();
- track.addAllObjectsMatchingFilterToSelection(new tracing.TimelineFilter("a"), sel);
- var ret;
-
- selNone = new tracing.TimelineSelection();
- ret = track.addItemNearToProvidedHitToSelection(sel[0], -1, selNone);
- assertFalse(ret);
- assertEquals(0, selNone.length);
-
- }
-</script>
-</body>
-</html>
« no previous file with comments | « chrome/browser/resources/tracing/timeline_track.js ('k') | chrome/browser/resources/tracing/timeline_view.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698