Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / selection_test.js
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 'use strict';
6
7 tvcm.require('tracing.timeline_viewport');
8 tvcm.require('tracing.test_utils');
9 tvcm.require('tracing.trace_model');
10 tvcm.require('tracing.selection');
11 tvcm.require('tracing.tracks.slice_track');
12
13 tvcm.unittest.testSuite('tracing.selection_test', function() {
14   test('selectionObject', function() {
15     var model = new tracing.TraceModel();
16     var p1 = model.getOrCreateProcess(1);
17     var t1 = p1.getOrCreateThread(1);
18     t1.sliceGroup.pushSlice(
19         new tracing.trace_model.ThreadSlice('', 'a', 0, 1, {}, 3));
20     t1.sliceGroup.pushSlice(
21         new tracing.trace_model.ThreadSlice('', 'a', 0, 5, {}, 1));
22
23     var sel = new tracing.Selection();
24     sel.push(t1.sliceGroup.slices[0]);
25
26     assertEquals(1, sel.bounds.min);
27     assertEquals(4, sel.bounds.max);
28     assertEquals(t1.sliceGroup.slices[0], sel[0]);
29
30     sel.push(t1.sliceGroup.slices[1]);
31     assertEquals(1, sel.bounds.min);
32     assertEquals(6, sel.bounds.max);
33     assertEquals(t1.sliceGroup.slices[1], sel[1]);
34
35     sel.clear();
36     assertEquals(0, sel.length);
37   });
38
39   test('shiftedSelection', function() {
40     var model = new tracing.TraceModel();
41     var p1 = model.getOrCreateProcess(1);
42     var t1 = p1.getOrCreateThread(1);
43     t1.sliceGroup.pushSlice(
44         new tracing.trace_model.ThreadSlice('', 'a', 0, 1, {}, 3));
45     t1.sliceGroup.pushSlice(
46         new tracing.trace_model.ThreadSlice('', 'a', 0, 5, {}, 1));
47
48     var viewport = new tracing.TimelineViewport();
49     var track = new tracing.tracks.SliceTrack(viewport);
50     viewport.modelTrackContainer = track;
51     track.slices = t1.sliceGroup.slices;
52
53     viewport.rebuildEventToTrackMap();
54
55
56     var sel = new tracing.Selection();
57     sel.push(t1.sliceGroup.slices[0]);
58
59     var shifted = sel.getShiftedSelection(track.viewport, 1);
60     assertEquals(1, shifted.length);
61     assertEquals(t1.sliceGroup.slices[1], shifted[0]);
62   });
63 });