Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / timing_tool_test.js
1 // Copyright (c) 2014 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.timing_tool');
8
9 tvcm.unittest.testSuite('tracing.timing_tool_test', function() {
10   function create100PxWideViewportInto10WideWorld() {
11     var vp = new tracing.TimelineViewport(document.createElement('div'));
12     var tempDisplayTransform = new tracing.TimelineDisplayTransform();
13     tempDisplayTransform.xSetWorldBounds(0, 10, 100);
14     vp.setDisplayTransformImmediately(tempDisplayTransform);
15
16     assertEquals(0, vp.currentDisplayTransform.xViewToWorld(0));
17     assertEquals(10, vp.currentDisplayTransform.xViewToWorld(100));
18
19     return vp;
20   }
21
22   test('dragLeftInterestRegion', function() {
23     var vp = create100PxWideViewportInto10WideWorld();
24     vp.interestRange.min = 1;
25     vp.interestRange.max = 9;
26     var tool = new tracing.TimingTool(vp);
27
28     tool.mouseDownAt_(1.1, 0);
29     assertTrue(vp.interestRange.leftSelected);
30     tool.mouseMoveAt_(1.5, 0, true);
31     assertEquals(1.5, vp.interestRange.min);
32     tool.mouseUp_();
33     assertEquals(1.5, vp.interestRange.min);
34     assertFalse(vp.interestRange.leftSelected);
35   });
36
37   test('dragRightInterestRegion', function() {
38     var vp = create100PxWideViewportInto10WideWorld();
39     vp.interestRange.min = 1;
40     vp.interestRange.max = 9;
41     var tool = new tracing.TimingTool(vp);
42
43     tool.mouseDownAt_(9.1, 0);
44     assertTrue(vp.interestRange.rightSelected);
45     tool.mouseMoveAt_(8, 0, true);
46     assertEquals(8, vp.interestRange.max);
47     tool.mouseUp_();
48     assertEquals(8, vp.interestRange.max);
49     assertFalse(vp.interestRange.leftSelected);
50   });
51
52   test('dragInNewSpace', function() {
53     var vp = create100PxWideViewportInto10WideWorld();
54     vp.interestRange.min = 1;
55     vp.interestRange.max = 9;
56     var tool = new tracing.TimingTool(vp);
57
58     tool.mouseDownAt_(5, 0);
59     assertTrue(vp.interestRange.rightSelected);
60     assertEquals(5, vp.interestRange.min);
61     assertEquals(5, vp.interestRange.max);
62     tool.mouseMoveAt_(4, 0, true);
63     assertEquals(4, vp.interestRange.min);
64     assertEquals(5, vp.interestRange.max);
65     assertTrue(vp.interestRange.leftSelected);
66     tool.mouseUp_();
67     assertEquals(4, vp.interestRange.min);
68     assertFalse(vp.interestRange.leftSelected);
69     assertFalse(vp.interestRange.rightSelected);
70   });
71 });