Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Side by Side Diff: tracing/tracing/base/math/quad_test.html

Issue 2771723003: [tracing] Move math utilities from base into their own subdirectory (attempt 2) (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tracing/tracing/base/math/quad.html ('k') | tracing/tracing/base/math/range.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright (c) 2014 The Chromium Authors. All rights reserved. 3 Copyright (c) 2014 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 <link rel="import" href="/tracing/base/quad.html"> 7 <link rel="import" href="/tracing/base/math/quad.html">
8 <link rel="import" href="/tracing/base/rect.html"> 8 <link rel="import" href="/tracing/base/math/rect.html">
9 <script> 9 <script>
10 'use strict'; 10 'use strict';
11 11
12 function assertQuadEquals(a, b, opt_message) { 12 function assertQuadEquals(a, b, opt_message) {
13 var ok = true; 13 var ok = true;
14 ok &= a.p1[0] === b.p1[0] && a.p1[1] === b.p1[1]; 14 ok &= a.p1[0] === b.p1[0] && a.p1[1] === b.p1[1];
15 ok &= a.p2[0] === b.p2[0] && a.p2[1] === b.p2[1]; 15 ok &= a.p2[0] === b.p2[0] && a.p2[1] === b.p2[1];
16 ok &= a.p3[0] === b.p3[0] && a.p3[1] === b.p3[1]; 16 ok &= a.p3[0] === b.p3[0] && a.p3[1] === b.p3[1];
17 ok &= a.p4[0] === b.p4[0] && a.p4[1] === b.p4[1]; 17 ok &= a.p4[0] === b.p4[0] && a.p4[1] === b.p4[1];
18 if (ok) 18 if (ok)
19 return; 19 return;
20 var message = opt_message || 'Expected "' + a.toString() + 20 var message = opt_message || 'Expected "' + a.toString() +
21 '", got "' + b.toString() + '"'; 21 '", got "' + b.toString() + '"';
22 assert.fail(a, b, message); 22 assert.fail(a, b, message);
23 } 23 }
24 24
25 tr.b.unittest.testSuite(function() { 25 tr.b.unittest.testSuite(function() {
26 test('pointInTri', function() { 26 test('pointInTri', function() {
27 var res = tr.b.pointInTriangle2( 27 var res = tr.b.math.pointInTriangle2(
28 [0.25, 0.25], 28 [0.25, 0.25],
29 [0, 0], 29 [0, 0],
30 [1, 0], 30 [1, 0],
31 [0, 1]); 31 [0, 1]);
32 assert.isTrue(res); 32 assert.isTrue(res);
33 }); 33 });
34 34
35 test('pointNotInTri', function() { 35 test('pointNotInTri', function() {
36 var res = tr.b.pointInTriangle2( 36 var res = tr.b.math.pointInTriangle2(
37 [0.75, 0.75], 37 [0.75, 0.75],
38 [0, 0], 38 [0, 0],
39 [1, 0], 39 [1, 0],
40 [0, 1]); 40 [0, 1]);
41 assert.isFalse(res); 41 assert.isFalse(res);
42 }); 42 });
43 43
44 test('pointInside', function() { 44 test('pointInside', function() {
45 var q = tr.b.Quad.from4Vecs([0, 0], 45 var q = tr.b.math.Quad.from4Vecs([0, 0],
46 [1, 0], 46 [1, 0],
47 [1, 1], 47 [1, 1],
48 [0, 1]); 48 [0, 1]);
49 var res = q.pointInside([0.5, 0.5]); 49 var res = q.pointInside([0.5, 0.5]);
50 assert.isTrue(res); 50 assert.isTrue(res);
51 }); 51 });
52 52
53 test('pointNotInQuad', function() { 53 test('pointNotInQuad', function() {
54 var q = tr.b.Quad.from4Vecs([0, 0], 54 var q = tr.b.math.Quad.from4Vecs([0, 0],
55 [1, 0], 55 [1, 0],
56 [1, 1], 56 [1, 1],
57 [0, 1]); 57 [0, 1]);
58 var res = q.pointInside([1.5, 0.5]); 58 var res = q.pointInside([1.5, 0.5]);
59 assert.isFalse(res); 59 assert.isFalse(res);
60 }); 60 });
61 61
62 test('isRectangle', function() { 62 test('isRectangle', function() {
63 assert.isTrue(tr.b.Quad.fromXYWH(0, 0, 10, 10).isRectangle()); 63 assert.isTrue(tr.b.math.Quad.fromXYWH(0, 0, 10, 10).isRectangle());
64 assert.isTrue(tr.b.Quad.fromXYWH(-10, -10, 5, 5).isRectangle()); 64 assert.isTrue(tr.b.math.Quad.fromXYWH(-10, -10, 5, 5).isRectangle());
65 assert.isTrue(tr.b.Quad.fromXYWH(-10, -10, 20, 20).isRectangle()); 65 assert.isTrue(tr.b.math.Quad.fromXYWH(-10, -10, 20, 20).isRectangle());
66 assert.isTrue(tr.b.Quad.fromXYWH(-10, 10, 5, 5).isRectangle()); 66 assert.isTrue(tr.b.math.Quad.fromXYWH(-10, 10, 5, 5).isRectangle());
67 67
68 assert.isFalse(tr.b.Quad.fromXYWH(0, 0, -10, -10).isRectangle()); 68 assert.isFalse(tr.b.math.Quad.fromXYWH(0, 0, -10, -10).isRectangle());
69 assert.isFalse( 69 assert.isFalse(
70 tr.b.Quad.from8Array([0, 1, 2, 3, 4, 5, 6, 7]).isRectangle()); 70 tr.b.math.Quad.from8Array([0, 1, 2, 3, 4, 5, 6, 7]).isRectangle());
71 assert.isFalse( 71 assert.isFalse(
72 tr.b.Quad.from8Array([0, 0, 0, 5, 5, 5, 0, 0]).isRectangle()); 72 tr.b.math.Quad.from8Array([0, 0, 0, 5, 5, 5, 0, 0]).isRectangle());
73 }); 73 });
74 74
75 test('projectUnitRect', function() { 75 test('projectUnitRect', function() {
76 var container = tr.b.Quad.fromXYWH(0, 0, 10, 10); 76 var container = tr.b.math.Quad.fromXYWH(0, 0, 10, 10);
77 var srcRect = tr.b.Rect.fromXYWH(0.1, 0.8, 0.8, 0.1); 77 var srcRect = tr.b.math.Rect.fromXYWH(0.1, 0.8, 0.8, 0.1);
78 var expectedRect = srcRect.scale(10); 78 var expectedRect = srcRect.scale(10);
79 79
80 var q = new tr.b.Quad(); 80 var q = new tr.b.math.Quad();
81 container.projectUnitRectFast(q, srcRect); 81 container.projectUnitRectFast(q, srcRect);
82 82
83 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q); 83 assertQuadEquals(tr.b.math.Quad.fromRect(expectedRect), q);
84 }); 84 });
85 85
86 test('projectUnitRectOntoUnitQuad', function() { 86 test('projectUnitRectOntoUnitQuad', function() {
87 var container = tr.b.Quad.fromXYWH(0, 0, 1, 1); 87 var container = tr.b.math.Quad.fromXYWH(0, 0, 1, 1);
88 var srcRect = tr.b.Rect.fromXYWH(0.0, 0, 1, 1); 88 var srcRect = tr.b.math.Rect.fromXYWH(0.0, 0, 1, 1);
89 var expectedRect = srcRect; 89 var expectedRect = srcRect;
90 90
91 var q = new tr.b.Quad(); 91 var q = new tr.b.math.Quad();
92 container.projectUnitRectFast(q, srcRect); 92 container.projectUnitRectFast(q, srcRect);
93 93
94 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q); 94 assertQuadEquals(tr.b.math.Quad.fromRect(expectedRect), q);
95 }); 95 });
96 96
97 test('projectUnitRectOntoSizeTwoQuad', function() { 97 test('projectUnitRectOntoSizeTwoQuad', function() {
98 var container = tr.b.Quad.fromXYWH(0, 0, 2, 2); 98 var container = tr.b.math.Quad.fromXYWH(0, 0, 2, 2);
99 var srcRect = tr.b.Rect.fromXYWH(0.0, 0, 1, 1); 99 var srcRect = tr.b.math.Rect.fromXYWH(0.0, 0, 1, 1);
100 var expectedRect = srcRect.scale(2); 100 var expectedRect = srcRect.scale(2);
101 101
102 var q = new tr.b.Quad(); 102 var q = new tr.b.math.Quad();
103 container.projectUnitRectFast(q, srcRect); 103 container.projectUnitRectFast(q, srcRect);
104 104
105 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q); 105 assertQuadEquals(tr.b.math.Quad.fromRect(expectedRect), q);
106 }); 106 });
107 107
108 test('projectUnitRectOntoTranslatedQuad', function() { 108 test('projectUnitRectOntoTranslatedQuad', function() {
109 var container = tr.b.Quad.fromXYWH(1, 1, 1, 1); 109 var container = tr.b.math.Quad.fromXYWH(1, 1, 1, 1);
110 var srcRect = tr.b.Rect.fromXYWH(0.0, 0, 1, 1); 110 var srcRect = tr.b.math.Rect.fromXYWH(0.0, 0, 1, 1);
111 var expectedRect = srcRect.translate([1, 1]); 111 var expectedRect = srcRect.translate([1, 1]);
112 112
113 var q = new tr.b.Quad(); 113 var q = new tr.b.math.Quad();
114 container.projectUnitRectFast(q, srcRect); 114 container.projectUnitRectFast(q, srcRect);
115 115
116 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q); 116 assertQuadEquals(tr.b.math.Quad.fromRect(expectedRect), q);
117 }); 117 });
118 118
119 test('projectShrunkUnitRectOntoUnitQuad', function() { 119 test('projectShrunkUnitRectOntoUnitQuad', function() {
120 var container = tr.b.Quad.fromXYWH(0, 0, 1, 1); 120 var container = tr.b.math.Quad.fromXYWH(0, 0, 1, 1);
121 var srcRect = tr.b.Rect.fromXYWH(0.1, 0.1, 0.8, 0.8); 121 var srcRect = tr.b.math.Rect.fromXYWH(0.1, 0.1, 0.8, 0.8);
122 var expectedRect = srcRect; 122 var expectedRect = srcRect;
123 123
124 var q = new tr.b.Quad(); 124 var q = new tr.b.math.Quad();
125 container.projectUnitRectFast(q, srcRect); 125 container.projectUnitRectFast(q, srcRect);
126 126
127 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q); 127 assertQuadEquals(tr.b.math.Quad.fromRect(expectedRect), q);
128 }); 128 });
129 }); 129 });
130 </script> 130 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/base/math/quad.html ('k') | tracing/tracing/base/math/range.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698