94f0536635
- Timeline.selection is now a Timeline as well - Allow remove the current timeline-track selection by double-clicking outside-the selection - Update the timeline-track stats based on the current selection - Simplify DOM element creation methods - Add separate SelectionHandler class for timeline-track Bug: v8:10644 Change-Id: I4f15d6ab4f5ec6b7330e22769472ca3074b00edd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565130 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#71497}
54 lines
1.8 KiB
JavaScript
54 lines
1.8 KiB
JavaScript
// Copyright 2020 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import { Timeline } from "../../../tools/system-analyzer/timeline.mjs";
|
|
import { LogEntry} from "../../../tools/system-analyzer/log/log.mjs";
|
|
|
|
|
|
(function testTimeline() {
|
|
let timeline = new Timeline();
|
|
|
|
let id1 = "0x3e7e082470cd";
|
|
let id2 = "0x3e7e082470ad";
|
|
let time = 10;
|
|
|
|
let entry1 = new LogEntry(id1, time + 0);
|
|
let entry2 = new LogEntry(id1, time + 1);
|
|
let entry3 = new LogEntry(id1, time + 2);
|
|
let entry4 = new LogEntry(id1, time + 3);
|
|
let entry5 = new LogEntry(id2, time + 3);
|
|
let entry6 = new LogEntry(id1, time + 4);
|
|
|
|
timeline.push(entry1);
|
|
timeline.push(entry2);
|
|
timeline.push(entry3);
|
|
timeline.push(entry4);
|
|
timeline.push(entry5);
|
|
timeline.push(entry6);
|
|
|
|
assertEquals(timeline.find(time + 0), 0);
|
|
assertEquals(timeline.find(time + 1), 1);
|
|
assertEquals(timeline.find(time + 2), 2);
|
|
assertEquals(timeline.find(time + 3), 3);
|
|
assertEquals(timeline.find(time + 4), 5);
|
|
assertEquals(timeline.find(time + 5), 5);
|
|
|
|
assertEquals(timeline.find(time + 2.00), 2);
|
|
assertEquals(timeline.find(time + 2.01), 3);
|
|
assertEquals(timeline.find(time + 2.90), 3);
|
|
assertEquals(timeline.find(time + 3.01), 5);
|
|
assertEquals(timeline.find(time + 3.90), 5);
|
|
assertEquals(timeline.find(time + 4.00), 5);
|
|
|
|
let startTime = time;
|
|
let endTime = time + 2;
|
|
timeline.selectTimeRange(startTime, endTime);
|
|
assertArrayEquals(timeline.selection.startTime, startTime);
|
|
assertArrayEquals(timeline.selection.endTime, endTime);
|
|
assertArrayEquals(timeline.selection.values, [entry1, entry2]);
|
|
let entryIdx = timeline.find(time + 1);
|
|
let entry = timeline.at(entryIdx);
|
|
assertEquals(entry.time, time + 1);
|
|
})();
|