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

Side by Side Diff: tracing/tracing/base/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/quad.html ('k') | tracing/tracing/base/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
(Empty)
1 <!DOCTYPE html>
2 <!--
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
5 found in the LICENSE file.
6 -->
7 <link rel="import" href="/tracing/base/quad.html">
8 <link rel="import" href="/tracing/base/rect.html">
9 <script>
10 'use strict';
11
12 function assertQuadEquals(a, b, opt_message) {
13 var ok = true;
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];
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];
18 if (ok)
19 return;
20 var message = opt_message || 'Expected "' + a.toString() +
21 '", got "' + b.toString() + '"';
22 assert.fail(a, b, message);
23 }
24
25 tr.b.unittest.testSuite(function() {
26 test('pointInTri', function() {
27 var res = tr.b.pointInTriangle2(
28 [0.25, 0.25],
29 [0, 0],
30 [1, 0],
31 [0, 1]);
32 assert.isTrue(res);
33 });
34
35 test('pointNotInTri', function() {
36 var res = tr.b.pointInTriangle2(
37 [0.75, 0.75],
38 [0, 0],
39 [1, 0],
40 [0, 1]);
41 assert.isFalse(res);
42 });
43
44 test('pointInside', function() {
45 var q = tr.b.Quad.from4Vecs([0, 0],
46 [1, 0],
47 [1, 1],
48 [0, 1]);
49 var res = q.pointInside([0.5, 0.5]);
50 assert.isTrue(res);
51 });
52
53 test('pointNotInQuad', function() {
54 var q = tr.b.Quad.from4Vecs([0, 0],
55 [1, 0],
56 [1, 1],
57 [0, 1]);
58 var res = q.pointInside([1.5, 0.5]);
59 assert.isFalse(res);
60 });
61
62 test('isRectangle', function() {
63 assert.isTrue(tr.b.Quad.fromXYWH(0, 0, 10, 10).isRectangle());
64 assert.isTrue(tr.b.Quad.fromXYWH(-10, -10, 5, 5).isRectangle());
65 assert.isTrue(tr.b.Quad.fromXYWH(-10, -10, 20, 20).isRectangle());
66 assert.isTrue(tr.b.Quad.fromXYWH(-10, 10, 5, 5).isRectangle());
67
68 assert.isFalse(tr.b.Quad.fromXYWH(0, 0, -10, -10).isRectangle());
69 assert.isFalse(
70 tr.b.Quad.from8Array([0, 1, 2, 3, 4, 5, 6, 7]).isRectangle());
71 assert.isFalse(
72 tr.b.Quad.from8Array([0, 0, 0, 5, 5, 5, 0, 0]).isRectangle());
73 });
74
75 test('projectUnitRect', function() {
76 var container = tr.b.Quad.fromXYWH(0, 0, 10, 10);
77 var srcRect = tr.b.Rect.fromXYWH(0.1, 0.8, 0.8, 0.1);
78 var expectedRect = srcRect.scale(10);
79
80 var q = new tr.b.Quad();
81 container.projectUnitRectFast(q, srcRect);
82
83 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q);
84 });
85
86 test('projectUnitRectOntoUnitQuad', function() {
87 var container = tr.b.Quad.fromXYWH(0, 0, 1, 1);
88 var srcRect = tr.b.Rect.fromXYWH(0.0, 0, 1, 1);
89 var expectedRect = srcRect;
90
91 var q = new tr.b.Quad();
92 container.projectUnitRectFast(q, srcRect);
93
94 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q);
95 });
96
97 test('projectUnitRectOntoSizeTwoQuad', function() {
98 var container = tr.b.Quad.fromXYWH(0, 0, 2, 2);
99 var srcRect = tr.b.Rect.fromXYWH(0.0, 0, 1, 1);
100 var expectedRect = srcRect.scale(2);
101
102 var q = new tr.b.Quad();
103 container.projectUnitRectFast(q, srcRect);
104
105 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q);
106 });
107
108 test('projectUnitRectOntoTranslatedQuad', function() {
109 var container = tr.b.Quad.fromXYWH(1, 1, 1, 1);
110 var srcRect = tr.b.Rect.fromXYWH(0.0, 0, 1, 1);
111 var expectedRect = srcRect.translate([1, 1]);
112
113 var q = new tr.b.Quad();
114 container.projectUnitRectFast(q, srcRect);
115
116 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q);
117 });
118
119 test('projectShrunkUnitRectOntoUnitQuad', function() {
120 var container = tr.b.Quad.fromXYWH(0, 0, 1, 1);
121 var srcRect = tr.b.Rect.fromXYWH(0.1, 0.1, 0.8, 0.8);
122 var expectedRect = srcRect;
123
124 var q = new tr.b.Quad();
125 container.projectUnitRectFast(q, srcRect);
126
127 assertQuadEquals(tr.b.Quad.fromRect(expectedRect), q);
128 });
129 });
130 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/base/quad.html ('k') | tracing/tracing/base/range.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698