• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
7base.require('base.bbox2');
8base.require('ui.quad_view_viewport');
9
10base.unittest.testSuite('ui.quad_view_viewport', function() {
11  var QuadViewViewport = ui.QuadViewViewport;
12
13  test('basicsHighDPIUnpadded', function() {
14    var bbox = new base.BBox2();
15    bbox.addXY(0, 0);
16    bbox.addXY(4000, 2000);
17
18    var vp = new QuadViewViewport(bbox.asRect(), 0.125, 0, 2);
19
20    assertEquals(500, vp.worldWidthInDevicePixels_);
21    assertEquals(250, vp.worldHeightInDevicePixels_);
22
23    assertEquals(250, vp.layoutRect_.width);
24    assertEquals(125, vp.layoutRect_.height);
25
26    // Top left.
27    var tmp = vp.layoutPixelsToWorldPixels(vec2.createXY(0, 0));
28    assertEquals(0, tmp[0]);
29    assertEquals(0, tmp[1]);
30
31    // World center.
32    var tmp = vp.layoutPixelsToWorldPixels(vec2.createXY(125, 62.5));
33    assertEquals(2000, tmp[0]);
34    assertEquals(1000, tmp[1]);
35
36    // Bottom right.
37    var tmp = vp.layoutPixelsToWorldPixels(vec2.createXY(250, 125));
38    assertEquals(4000, tmp[0]);
39    assertEquals(2000, tmp[1]);
40
41    assertRectEquals(bbox.asRect(), vp.unpaddedWorldRect);
42  });
43
44  test('basicsHighDPI', function() {
45    var bbox = new base.BBox2();
46    bbox.addXY(0, 0);
47    bbox.addXY(4000, 2000);
48
49    var vp = new QuadViewViewport(bbox.asRect(), 0.125, 0.1, 2);
50    assertEquals(550, vp.worldWidthInDevicePixels_);
51    assertEquals(300, vp.worldHeightInDevicePixels_);
52
53    assertEquals(275, vp.layoutRect_.width);
54    assertEquals(150, vp.layoutRect_.height);
55
56    // Top left.
57    var tmp = vp.layoutPixelsToWorldPixels(vec2.createXY(0, 0));
58    assertEquals(-200, tmp[0]);
59    assertEquals(-200, tmp[1]);
60
61    // World center.
62    var tmp = vp.layoutPixelsToWorldPixels(vec2.createXY(137.5, 75));
63    assertEquals(2000, tmp[0]);
64    assertEquals(1000, tmp[1]);
65
66    // Bottom right.
67    var tmp = vp.layoutPixelsToWorldPixels(vec2.createXY(275, 150));
68    assertEquals(4200, tmp[0]);
69    assertEquals(2200, tmp[1]);
70
71    assertRectEquals(bbox.asRect(), vp.unpaddedWorldRect);
72  });
73});
74