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.
7 tvcm.require('tracing.timing_tool');
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);
16 assertEquals(0, vp.currentDisplayTransform.xViewToWorld(0));
17 assertEquals(10, vp.currentDisplayTransform.xViewToWorld(100));
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);
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);
33 assertEquals(1.5, vp.interestRange.min);
34 assertFalse(vp.interestRange.leftSelected);
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);
43 tool.mouseDownAt_(9.1, 0);
44 assertTrue(vp.interestRange.rightSelected);
45 tool.mouseMoveAt_(8, 0, true);
46 assertEquals(8, vp.interestRange.max);
48 assertEquals(8, vp.interestRange.max);
49 assertFalse(vp.interestRange.leftSelected);
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);
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);
67 assertEquals(4, vp.interestRange.min);
68 assertFalse(vp.interestRange.leftSelected);
69 assertFalse(vp.interestRange.rightSelected);