| <!DOCTYPE html> |
| <!-- |
| Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/core/timeline_viewport.html"> |
| <link rel="import" href="/core/timing_tool.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tv.b.unittest.testSuite(function() { |
| function create100PxWideViewportInto10WideWorld() { |
| var vp = new tv.c.TimelineViewport(document.createElement('div')); |
| var tempDisplayTransform = new tv.c.TimelineDisplayTransform(); |
| tempDisplayTransform.xSetWorldBounds(0, 10, 100); |
| vp.setDisplayTransformImmediately(tempDisplayTransform); |
| |
| assert.equal(vp.currentDisplayTransform.xViewToWorld(0), 0); |
| assert.equal(vp.currentDisplayTransform.xViewToWorld(100), 10); |
| |
| return vp; |
| } |
| |
| test('dragLeftInterestRegion', function() { |
| var vp = create100PxWideViewportInto10WideWorld(); |
| vp.interestRange.min = 1; |
| vp.interestRange.max = 9; |
| var tool = new tv.c.TimingTool(vp); |
| |
| tool.mouseDownAt_(1.1, 0); |
| assert.isTrue(vp.interestRange.leftSelected); |
| tool.mouseMoveAt_(1.5, 0, true); |
| assert.equal(vp.interestRange.min, 1.5); |
| tool.mouseUp_(); |
| assert.equal(vp.interestRange.min, 1.5); |
| assert.isFalse(vp.interestRange.leftSelected); |
| }); |
| |
| test('dragRightInterestRegion', function() { |
| var vp = create100PxWideViewportInto10WideWorld(); |
| vp.interestRange.min = 1; |
| vp.interestRange.max = 9; |
| var tool = new tv.c.TimingTool(vp); |
| |
| tool.mouseDownAt_(9.1, 0); |
| assert.isTrue(vp.interestRange.rightSelected); |
| tool.mouseMoveAt_(8, 0, true); |
| assert.equal(vp.interestRange.max, 8); |
| tool.mouseUp_(); |
| assert.equal(vp.interestRange.max, 8); |
| assert.isFalse(vp.interestRange.leftSelected); |
| }); |
| |
| test('dragInNewSpace', function() { |
| var vp = create100PxWideViewportInto10WideWorld(); |
| vp.interestRange.min = 1; |
| vp.interestRange.max = 9; |
| var tool = new tv.c.TimingTool(vp); |
| |
| tool.mouseDownAt_(5, 0); |
| assert.isTrue(vp.interestRange.rightSelected); |
| assert.equal(vp.interestRange.min, 5); |
| assert.equal(vp.interestRange.max, 5); |
| tool.mouseMoveAt_(4, 0, true); |
| assert.equal(vp.interestRange.min, 4); |
| assert.equal(vp.interestRange.max, 5); |
| assert.isTrue(vp.interestRange.leftSelected); |
| tool.mouseUp_(); |
| assert.equal(vp.interestRange.min, 4); |
| assert.isFalse(vp.interestRange.leftSelected); |
| assert.isFalse(vp.interestRange.rightSelected); |
| }); |
| }); |
| </script> |
| |