OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "ui/gfx/size_base.h" | |
6 | |
7 #include "testing/gtest/include/gtest/gtest.h" | |
8 #include "ui/gfx/size.h" | |
9 #include "ui/gfx/size_conversions.h" | |
10 #include "ui/gfx/size_f.h" | |
11 | |
12 namespace gfx { | |
13 | |
14 namespace { | |
15 | |
16 int TestSizeF(const SizeF& s) { | |
17 return s.width(); | |
18 } | |
19 | |
20 } // namespace | |
21 | |
22 TEST(SizeTest, ToSizeF) { | |
23 // Check that implicit conversion from integer to float compiles. | |
24 Size a(10, 20); | |
25 float width = TestSizeF(a); | |
26 EXPECT_EQ(width, a.width()); | |
27 | |
28 SizeF b(10, 20); | |
29 | |
30 EXPECT_EQ(a, b); | |
31 EXPECT_EQ(b, a); | |
32 } | |
33 | |
34 TEST(SizeTest, ToFlooredSize) { | |
35 EXPECT_EQ(Size(0, 0), ToFlooredSize(SizeF(0, 0))); | |
36 EXPECT_EQ(Size(0, 0), ToFlooredSize(SizeF(0.0001f, 0.0001f))); | |
37 EXPECT_EQ(Size(0, 0), ToFlooredSize(SizeF(0.4999f, 0.4999f))); | |
38 EXPECT_EQ(Size(0, 0), ToFlooredSize(SizeF(0.5f, 0.5f))); | |
39 EXPECT_EQ(Size(0, 0), ToFlooredSize(SizeF(0.9999f, 0.9999f))); | |
40 | |
41 EXPECT_EQ(Size(10, 10), ToFlooredSize(SizeF(10, 10))); | |
42 EXPECT_EQ(Size(10, 10), ToFlooredSize(SizeF(10.0001f, 10.0001f))); | |
43 EXPECT_EQ(Size(10, 10), ToFlooredSize(SizeF(10.4999f, 10.4999f))); | |
44 EXPECT_EQ(Size(10, 10), ToFlooredSize(SizeF(10.5f, 10.5f))); | |
45 EXPECT_EQ(Size(10, 10), ToFlooredSize(SizeF(10.9999f, 10.9999f))); | |
46 } | |
47 | |
48 TEST(SizeTest, ToCeiledSize) { | |
49 EXPECT_EQ(Size(0, 0), ToCeiledSize(SizeF(0, 0))); | |
50 EXPECT_EQ(Size(1, 1), ToCeiledSize(SizeF(0.0001f, 0.0001f))); | |
51 EXPECT_EQ(Size(1, 1), ToCeiledSize(SizeF(0.4999f, 0.4999f))); | |
52 EXPECT_EQ(Size(1, 1), ToCeiledSize(SizeF(0.5f, 0.5f))); | |
53 EXPECT_EQ(Size(1, 1), ToCeiledSize(SizeF(0.9999f, 0.9999f))); | |
54 | |
55 EXPECT_EQ(Size(10, 10), ToCeiledSize(SizeF(10, 10))); | |
56 EXPECT_EQ(Size(11, 11), ToCeiledSize(SizeF(10.0001f, 10.0001f))); | |
57 EXPECT_EQ(Size(11, 11), ToCeiledSize(SizeF(10.4999f, 10.4999f))); | |
58 EXPECT_EQ(Size(11, 11), ToCeiledSize(SizeF(10.5f, 10.5f))); | |
59 EXPECT_EQ(Size(11, 11), ToCeiledSize(SizeF(10.9999f, 10.9999f))); | |
60 } | |
61 | |
62 TEST(SizeTest, ToRoundedSize) { | |
63 EXPECT_EQ(Size(0, 0), ToRoundedSize(SizeF(0, 0))); | |
64 EXPECT_EQ(Size(0, 0), ToRoundedSize(SizeF(0.0001f, 0.0001f))); | |
65 EXPECT_EQ(Size(0, 0), ToRoundedSize(SizeF(0.4999f, 0.4999f))); | |
66 EXPECT_EQ(Size(1, 1), ToRoundedSize(SizeF(0.5f, 0.5f))); | |
67 EXPECT_EQ(Size(1, 1), ToRoundedSize(SizeF(0.9999f, 0.9999f))); | |
68 | |
69 EXPECT_EQ(Size(10, 10), ToRoundedSize(SizeF(10, 10))); | |
70 EXPECT_EQ(Size(10, 10), ToRoundedSize(SizeF(10.0001f, 10.0001f))); | |
71 EXPECT_EQ(Size(10, 10), ToRoundedSize(SizeF(10.4999f, 10.4999f))); | |
72 EXPECT_EQ(Size(11, 11), ToRoundedSize(SizeF(10.5f, 10.5f))); | |
73 EXPECT_EQ(Size(11, 11), ToRoundedSize(SizeF(10.9999f, 10.9999f))); | |
74 } | |
75 | |
76 TEST(SizeTest, ClampSize) { | |
77 Size a; | |
78 | |
79 a = Size(3, 5); | |
80 EXPECT_EQ(Size(3, 5).ToString(), a.ToString()); | |
81 a.SetToMax(Size(2, 4)); | |
82 EXPECT_EQ(Size(3, 5).ToString(), a.ToString()); | |
83 a.SetToMax(Size(3, 5)); | |
84 EXPECT_EQ(Size(3, 5).ToString(), a.ToString()); | |
85 a.SetToMax(Size(4, 2)); | |
86 EXPECT_EQ(Size(4, 5).ToString(), a.ToString()); | |
87 a.SetToMax(Size(8, 10)); | |
88 EXPECT_EQ(Size(8, 10).ToString(), a.ToString()); | |
89 | |
90 a.SetToMin(Size(9, 11)); | |
91 EXPECT_EQ(Size(8, 10).ToString(), a.ToString()); | |
92 a.SetToMin(Size(8, 10)); | |
93 EXPECT_EQ(Size(8, 10).ToString(), a.ToString()); | |
94 a.SetToMin(Size(11, 9)); | |
95 EXPECT_EQ(Size(8, 9).ToString(), a.ToString()); | |
96 a.SetToMin(Size(7, 11)); | |
97 EXPECT_EQ(Size(7, 9).ToString(), a.ToString()); | |
98 a.SetToMin(Size(3, 5)); | |
99 EXPECT_EQ(Size(3, 5).ToString(), a.ToString()); | |
100 } | |
101 | |
102 TEST(SizeTest, ClampSizeF) { | |
103 SizeF a; | |
104 | |
105 a = SizeF(3.5f, 5.5f); | |
106 EXPECT_EQ(SizeF(3.5f, 5.5f).ToString(), a.ToString()); | |
107 a.SetToMax(SizeF(2.5f, 4.5f)); | |
108 EXPECT_EQ(SizeF(3.5f, 5.5f).ToString(), a.ToString()); | |
109 a.SetToMax(SizeF(3.5f, 5.5f)); | |
110 EXPECT_EQ(SizeF(3.5f, 5.5f).ToString(), a.ToString()); | |
111 a.SetToMax(SizeF(4.5f, 2.5f)); | |
112 EXPECT_EQ(SizeF(4.5f, 5.5f).ToString(), a.ToString()); | |
113 a.SetToMax(SizeF(8.5f, 10.5f)); | |
114 EXPECT_EQ(SizeF(8.5f, 10.5f).ToString(), a.ToString()); | |
115 | |
116 a.SetToMin(SizeF(9.5f, 11.5f)); | |
117 EXPECT_EQ(SizeF(8.5f, 10.5f).ToString(), a.ToString()); | |
118 a.SetToMin(SizeF(8.5f, 10.5f)); | |
119 EXPECT_EQ(SizeF(8.5f, 10.5f).ToString(), a.ToString()); | |
120 a.SetToMin(SizeF(11.5f, 9.5f)); | |
121 EXPECT_EQ(SizeF(8.5f, 9.5f).ToString(), a.ToString()); | |
122 a.SetToMin(SizeF(7.5f, 11.5f)); | |
123 EXPECT_EQ(SizeF(7.5f, 9.5f).ToString(), a.ToString()); | |
124 a.SetToMin(SizeF(3.5f, 5.5f)); | |
125 EXPECT_EQ(SizeF(3.5f, 5.5f).ToString(), a.ToString()); | |
126 } | |
127 | |
128 } // namespace gfx | |
OLD | NEW |