Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / selection_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/timeline_viewport.html">
9 <link rel="import" href="/tracing/test_utils.html">
10 <link rel="import" href="/tracing/trace_model.html">
11 <link rel="import" href="/tracing/selection.html">
12 <link rel="import" href="/tracing/tracks/slice_track.html">
13
14 <script>
15 'use strict';
16
17 tv.unittest.testSuite(function() {
18   test('selectionObject', function() {
19     var model = new tracing.TraceModel();
20     var p1 = model.getOrCreateProcess(1);
21     var t1 = p1.getOrCreateThread(1);
22     t1.sliceGroup.pushSlice(
23         new tracing.trace_model.ThreadSlice('', 'a', 0, 1, {}, 3));
24     t1.sliceGroup.pushSlice(
25         new tracing.trace_model.ThreadSlice('', 'a', 0, 5, {}, 1));
26
27     var sel = new tracing.Selection();
28     sel.push(t1.sliceGroup.slices[0]);
29
30     assertEquals(1, sel.bounds.min);
31     assertEquals(4, sel.bounds.max);
32     assertEquals(t1.sliceGroup.slices[0], sel[0]);
33
34     sel.push(t1.sliceGroup.slices[1]);
35     assertEquals(1, sel.bounds.min);
36     assertEquals(6, sel.bounds.max);
37     assertEquals(t1.sliceGroup.slices[1], sel[1]);
38
39     sel.clear();
40     assertEquals(0, sel.length);
41   });
42
43   test('shiftedSelection', function() {
44     var model = new tracing.TraceModel();
45     var p1 = model.getOrCreateProcess(1);
46     var t1 = p1.getOrCreateThread(1);
47     t1.sliceGroup.pushSlice(
48         new tracing.trace_model.ThreadSlice('', 'a', 0, 1, {}, 3));
49     t1.sliceGroup.pushSlice(
50         new tracing.trace_model.ThreadSlice('', 'a', 0, 5, {}, 1));
51
52     var viewport = new tracing.TimelineViewport();
53     var track = new tracing.tracks.SliceTrack(viewport);
54     viewport.modelTrackContainer = track;
55     track.slices = t1.sliceGroup.slices;
56
57     viewport.rebuildEventToTrackMap();
58
59
60     var sel = new tracing.Selection();
61     sel.push(t1.sliceGroup.slices[0]);
62
63     var shifted = sel.getShiftedSelection(track.viewport, 1);
64     assertEquals(1, shifted.length);
65     assertEquals(t1.sliceGroup.slices[1], shifted[0]);
66   });
67
68   test('uniqueContents', function() {
69     var sample1 = {guid:1};
70     var sample2 = {guid:2};
71
72     var selection = new tracing.Selection();
73
74     selection.push(sample1);
75     selection.push(sample2);
76     assertEquals(2, selection.length);
77
78     selection.push(sample1);
79     assertEquals(2, selection.length);
80   });
81 });
82 </script>