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

Side by Side Diff: ui/gfx/transform_util_unittest.cc

Issue 11774005: Migrate more functions from MathUtil to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gfx/transform_util.h" 5 #include "ui/gfx/transform_util.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h"
7 #include "ui/gfx/point.h" 8 #include "ui/gfx/point.h"
8 #include "testing/gtest/include/gtest/gtest.h" 9 #include "ui/gfx/test/transform_test_common.h"
9 10
10 namespace gfx { 11 namespace gfx {
11 namespace { 12 namespace {
12 13
13 TEST(TransformUtilTest, GetScaleTransform) { 14 TEST(TransformUtilTest, GetScaleTransform) {
14 const Point kAnchor(20, 40); 15 const Point kAnchor(20, 40);
15 const float kScale = 0.5f; 16 const float kScale = 0.5f;
16 17
17 Transform scale = GetScaleTransform(kAnchor, kScale); 18 Transform scale = GetScaleTransform(kAnchor, kScale);
18 19
19 const int kOffset = 10; 20 const int kOffset = 10;
20 for (int sign_x = -1; sign_x <= 1; ++sign_x) { 21 for (int sign_x = -1; sign_x <= 1; ++sign_x) {
21 for (int sign_y = -1; sign_y <= 1; ++sign_y) { 22 for (int sign_y = -1; sign_y <= 1; ++sign_y) {
22 Point test(kAnchor.x() + sign_x * kOffset, 23 Point test(kAnchor.x() + sign_x * kOffset,
23 kAnchor.y() + sign_y * kOffset); 24 kAnchor.y() + sign_y * kOffset);
24 scale.TransformPoint(test); 25 scale.TransformPoint(test);
25 26
26 EXPECT_EQ(Point(kAnchor.x() + sign_x * kOffset * kScale, 27 EXPECT_EQ(Point(kAnchor.x() + sign_x * kOffset * kScale,
27 kAnchor.y() + sign_y * kOffset * kScale), 28 kAnchor.y() + sign_y * kOffset * kScale),
28 test); 29 test);
29 } 30 }
30 } 31 }
31 } 32 }
32 33
34 TEST(TransformUtilTest, verifyFlattenTo2DTransform)
35 {
36 Transform A;
37 InitializeTestMatrix(&A);
38
39 Transform B = CreateFlattenedTransform(A);
40
41 EXPECT_ROW1_EQ(10, 14, 0, 22, B);
42 EXPECT_ROW2_EQ(11, 15, 0, 23, B);
43 EXPECT_ROW3_EQ(0, 0, 1, 0, B);
44 EXPECT_ROW4_EQ(13, 17, 0, 25, B);
45
46 // CreateFlattenedTransform should not have changed the original matrix.
47 EXPECT_ROW1_EQ(10, 14, 18, 22, A);
48 EXPECT_ROW2_EQ(11, 15, 19, 23, A);
49 EXPECT_ROW3_EQ(12, 16, 20, 24, A);
50 EXPECT_ROW4_EQ(13, 17, 21, 25, A);
51
52 // This version of the flatten operation should modify the matrix in-place.
53 FlattenTransformTo2d(A);
54 EXPECT_ROW1_EQ(10, 14, 0, 22, A);
55 EXPECT_ROW2_EQ(11, 15, 0, 23, A);
56 EXPECT_ROW3_EQ(0, 0, 1, 0, A);
57 EXPECT_ROW4_EQ(13, 17, 0, 25, A);
58 }
59
60 TEST(TransformUtilTest, verifyCreateGfxTransformForAllElements)
61 {
62 Transform transform = CreateGfxTransform(
63 1, 2, 3, 4,
64 5, 6, 7, 8,
65 9, 10, 11, 12,
66 13, 14, 15, 16);
67
68 EXPECT_ROW1_EQ(1, 5, 9, 13, transform);
69 EXPECT_ROW2_EQ(2, 6, 10, 14, transform);
70 EXPECT_ROW3_EQ(3, 7, 11, 15, transform);
71 EXPECT_ROW4_EQ(4, 8, 12, 16, transform);
72 }
73
74 TEST(TransformUtilTest, verifyCreateGfxTransformFor2dElements)
75 {
76 Transform transform = CreateGfxTransform(1, 2, 3, 4, 5, 6);
77 EXPECT_ROW1_EQ(1, 3, 0, 5, transform);
78 EXPECT_ROW2_EQ(2, 4, 0, 6, transform);
79 EXPECT_ROW3_EQ(0, 0, 1, 0, transform);
80 EXPECT_ROW4_EQ(0, 0, 0, 1, transform);
81 }
82
33 } // namespace 83 } // namespace
34 } // namespace gfx 84 } // namespace gfx
OLDNEW
« ui/gfx/transform_util.h ('K') | « ui/gfx/transform_util.cc ('k') | ui/ui_unittests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698