diff options
Diffstat (limited to 'chromium/third_party/catapult/tracing/tracing/ui/tracks/async_slice_group_track_test.html')
-rw-r--r-- | chromium/third_party/catapult/tracing/tracing/ui/tracks/async_slice_group_track_test.html | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/chromium/third_party/catapult/tracing/tracing/ui/tracks/async_slice_group_track_test.html b/chromium/third_party/catapult/tracing/tracing/ui/tracks/async_slice_group_track_test.html deleted file mode 100644 index cb924f42113..00000000000 --- a/chromium/third_party/catapult/tracing/tracing/ui/tracks/async_slice_group_track_test.html +++ /dev/null @@ -1,252 +0,0 @@ -<!DOCTYPE html> -<!-- -Copyright (c) 2013 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. ---> - -<link rel="import" href="/tracing/core/test_utils.html"> -<link rel="import" href="/tracing/ui/timeline_track_view.html"> -<link rel="import" href="/tracing/model/model.html"> - -<script> -'use strict'; - -tr.b.unittest.testSuite(function() { - var AsyncSliceGroup = tr.model.AsyncSliceGroup; - var AsyncSliceGroupTrack = tr.ui.tracks.AsyncSliceGroupTrack; - var Process = tr.model.Process; - var ProcessTrack = tr.ui.tracks.ProcessTrack; - var Thread = tr.model.Thread; - var ThreadTrack = tr.ui.tracks.ThreadTrack; - var newAsyncSlice = tr.c.TestUtils.newAsyncSlice; - var newAsyncSliceNamed = tr.c.TestUtils.newAsyncSliceNamed; - - test('filterSubRows', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - g.push(newAsyncSlice(0, 1, t1, t1)); - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - - assert.equal(track.children.length, 1); - assert.isTrue(track.hasVisibleContent); - }); - - test('rebuildSubRows_twoNonOverlappingSlices', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - var s1 = newAsyncSlice(0, 1, t1, t1); - var subs1 = newAsyncSliceNamed('b', 0, 1, t1, t1); - s1.subSlices = [subs1]; - g.push(s1); - g.push(newAsyncSlice(1, 1, t1, t1)); - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - var subRows = track.subRows; - assert.equal(subRows.length, 2); - assert.equal(subRows[0].length, 2); - assert.equal(subRows[1].length, 1); - assert.equal(subRows[1][0], g.slices[0].subSlices[0]); - assert.sameMembers(g.slices[1].subSlices, []); - }); - - test('rebuildSubRows_twoOverlappingSlices', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - - var s1 = newAsyncSlice(0, 1, t1, t1); - var subs1 = newAsyncSliceNamed('b', 0, 1, t1, t1); - s1.subSlices = [subs1]; - var s2 = newAsyncSlice(0, 1.5, t1, t1); - var subs2 = newAsyncSliceNamed('b', 0, 1, t1, t1); - s2.subSlices = [subs2]; - g.push(s1); - g.push(s2); - - g.updateBounds(); - - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - - var subRows = track.subRows; - - assert.equal(subRows.length, 4); - assert.equal(subRows[0].length, 1); - assert.equal(subRows[1].length, 1); - assert.equal(subRows[2].length, 1); - assert.equal(subRows[3].length, 1); - assert.equal(subRows[1][0], g.slices[0].subSlices[0]); - assert.equal(subRows[3][0], g.slices[1].subSlices[0]); - }); - - test('rebuildSubRows_threePartlyOverlappingSlices', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - g.push(newAsyncSlice(0, 1, t1, t1)); - g.push(newAsyncSlice(0, 1.5, t1, t1)); - g.push(newAsyncSlice(1, 1.5, t1, t1)); - g.updateBounds(); - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - var subRows = track.subRows; - - assert.equal(subRows.length, 2); - assert.equal(subRows[0].length, 2); - assert.equal(subRows[0][0], g.slices[0]); - assert.equal(subRows[0][1], g.slices[2]); - assert.equal(subRows[1][0], g.slices[1]); - assert.equal(subRows[1].length, 1); - assert.sameMembers(g.slices[0].subSlices, []); - assert.sameMembers(g.slices[1].subSlices, []); - assert.sameMembers(g.slices[2].subSlices, []); - }); - - test('rebuildSubRows_threeOverlappingSlices', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - - g.push(newAsyncSlice(0, 1, t1, t1)); - g.push(newAsyncSlice(0, 1.5, t1, t1)); - g.push(newAsyncSlice(2, 1, t1, t1)); - g.updateBounds(); - - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - - var subRows = track.subRows; - assert.equal(subRows.length, 2); - assert.equal(subRows[0].length, 2); - assert.equal(subRows[1].length, 1); - assert.equal(subRows[0][0], g.slices[0]); - assert.equal(subRows[1][0], g.slices[1]); - assert.equal(subRows[0][1], g.slices[2]); - }); - - // Tests that no slices and their sub slices overlap. - test('rebuildSubRows_NonOverlappingSubSlices', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - - var slice1 = newAsyncSlice(0, 5, t1, t1); - var slice1Child = newAsyncSlice(1, 2, t1, t1); - slice1.subSlices = [slice1Child]; - var slice2 = newAsyncSlice(3, 5, t1, t1); - var slice3 = newAsyncSlice(5, 4, t1, t1); - var slice3Child = newAsyncSlice(6, 2, t1, t1); - slice3.subSlices = [slice3Child]; - g.push(slice1); - g.push(slice2); - g.push(slice3); - g.updateBounds(); - - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - - var subRows = track.subRows; - // Checks each sub row to see that we don't have any overlapping slices. - for (var i = 0; i < subRows.length; i++) { - var row = subRows[i]; - for (var j = 0; j < row.length; j++) { - for (var k = j + 1; k < row.length; k++) { - assert.isTrue(row[j].end <= row[k].start); - } - } - } - }); - - test('rebuildSubRows_NonOverlappingSubSlicesThreeNestedLevels', function() { - var model = new tr.Model(); - var p1 = new Process(model, 1); - var t1 = new Thread(p1, 1); - var g = new AsyncSliceGroup(t1); - - var slice1 = newAsyncSlice(0, 4, t1, t1); - var slice1Child = newAsyncSlice(1, 2, t1, t1); - slice1.subSlices = [slice1Child]; - var slice2 = newAsyncSlice(2, 7, t1, t1); - var slice3 = newAsyncSlice(5, 5, t1, t1); - var slice3Child = newAsyncSlice(6, 3, t1, t1); - var slice3Child2 = newAsyncSlice(7, 1, t1, t1); - slice3.subSlices = [slice3Child]; - slice3Child.subSlices = [slice3Child2]; - g.push(slice1); - g.push(slice2); - g.push(slice3); - g.updateBounds(); - - var track = new AsyncSliceGroupTrack(new tr.ui.TimelineViewport()); - track.group = g; - - var subRows = track.subRows; - // Checks each sub row to see that we don't have any overlapping slices. - for (var i = 0; i < subRows.length; i++) { - var row = subRows[i]; - for (var j = 0; j < row.length; j++) { - for (var k = j + 1; k < row.length; k++) { - assert.isTrue(row[j].end <= row[k].start); - } - } - } - }); - - test('asyncSliceGroupContainerMap', function() { - var vp = new tr.ui.TimelineViewport(); - var containerToTrack = vp.containerToTrackMap; - var model = new tr.Model(); - var process = model.getOrCreateProcess(123); - var thread = process.getOrCreateThread(456); - var group = new AsyncSliceGroup(thread); - - var processTrack = new ProcessTrack(vp); - var threadTrack = new ThreadTrack(vp); - var groupTrack = new AsyncSliceGroupTrack(vp); - processTrack.process = process; - threadTrack.thread = thread; - groupTrack.group = group; - processTrack.appendChild(threadTrack); - threadTrack.appendChild(groupTrack); - - assert.equal(processTrack.eventContainer, process); - assert.equal(threadTrack.eventContainer, thread); - assert.equal(groupTrack.eventContainer, group); - - assert.isUndefined(containerToTrack.getTrackByStableId('123')); - assert.isUndefined(containerToTrack.getTrackByStableId('123.456')); - assert.isUndefined( - containerToTrack.getTrackByStableId('123.456.AsyncSliceGroup')); - - vp.modelTrackContainer = { - addContainersToTrackMap: function(containerToTrackMap) { - processTrack.addContainersToTrackMap(containerToTrackMap); - }, - addEventListener: function() {} - }; - vp.rebuildContainerToTrackMap(); - - // Check that all tracks call childs' addContainersToTrackMap() - // by checking the resulting map. - assert.equal(containerToTrack.getTrackByStableId('123'), processTrack); - assert.equal(containerToTrack.getTrackByStableId('123.456'), threadTrack); - assert.equal(containerToTrack.getTrackByStableId('123.456.AsyncSliceGroup'), - groupTrack); - - // Check the track's eventContainer getter. - assert.equal(processTrack.eventContainer, process); - assert.equal(threadTrack.eventContainer, thread); - assert.equal(groupTrack.eventContainer, group); - }); -}); -</script> |