OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "platform/fonts/UnicodeRangeSet.h" | 5 #include "platform/fonts/UnicodeRangeSet.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace blink { | 9 namespace blink { |
10 | 10 |
11 static const UChar hiraganaA[2] = { 0x3042, 0 }; | 11 static const UChar hiraganaA[2] = { 0x3042, 0 }; |
12 | 12 |
13 TEST(UnicodeRangeSet, Empty) | 13 TEST(UnicodeRangeSet, Empty) |
14 { | 14 { |
15 Vector<UnicodeRange> ranges; | 15 Vector<UnicodeRange> ranges; |
16 UnicodeRangeSet set(ranges); | 16 RefPtr<UnicodeRangeSet> set = adoptRef(new UnicodeRangeSet(ranges)); |
17 EXPECT_TRUE(set.isEntireRange()); | 17 EXPECT_TRUE(set->isEntireRange()); |
18 EXPECT_EQ(0u, set.size()); | 18 EXPECT_EQ(0u, set->size()); |
19 EXPECT_FALSE(set.intersectsWith(String())); | 19 EXPECT_FALSE(set->intersectsWith(String())); |
20 EXPECT_TRUE(set.intersectsWith(String("a"))); | 20 EXPECT_TRUE(set->intersectsWith(String("a"))); |
21 EXPECT_TRUE(set.intersectsWith(String(hiraganaA))); | 21 EXPECT_TRUE(set->intersectsWith(String(hiraganaA))); |
22 } | 22 } |
23 | 23 |
24 TEST(UnicodeRangeSet, SingleCharacter) | 24 TEST(UnicodeRangeSet, SingleCharacter) |
25 { | 25 { |
26 Vector<UnicodeRange> ranges; | 26 Vector<UnicodeRange> ranges; |
27 ranges.append(UnicodeRange('b', 'b')); | 27 ranges.append(UnicodeRange('b', 'b')); |
28 UnicodeRangeSet set(ranges); | 28 RefPtr<UnicodeRangeSet> set = adoptRef(new UnicodeRangeSet(ranges)); |
29 EXPECT_FALSE(set.isEntireRange()); | 29 EXPECT_FALSE(set->isEntireRange()); |
30 EXPECT_FALSE(set.intersectsWith(String())); | 30 EXPECT_FALSE(set->intersectsWith(String())); |
31 EXPECT_FALSE(set.intersectsWith(String("a"))); | 31 EXPECT_FALSE(set->intersectsWith(String("a"))); |
32 EXPECT_TRUE(set.intersectsWith(String("b"))); | 32 EXPECT_TRUE(set->intersectsWith(String("b"))); |
33 EXPECT_FALSE(set.intersectsWith(String("c"))); | 33 EXPECT_FALSE(set->intersectsWith(String("c"))); |
34 EXPECT_TRUE(set.intersectsWith(String("abc"))); | 34 EXPECT_TRUE(set->intersectsWith(String("abc"))); |
35 EXPECT_FALSE(set.intersectsWith(String(hiraganaA))); | 35 EXPECT_FALSE(set->intersectsWith(String(hiraganaA))); |
36 ASSERT_EQ(1u, set.size()); | 36 ASSERT_EQ(1u, set->size()); |
37 EXPECT_EQ('b', set.rangeAt(0).from()); | 37 EXPECT_EQ('b', set->rangeAt(0).from()); |
38 EXPECT_EQ('b', set.rangeAt(0).to()); | 38 EXPECT_EQ('b', set->rangeAt(0).to()); |
39 } | 39 } |
40 | 40 |
41 TEST(UnicodeRangeSet, TwoRanges) | 41 TEST(UnicodeRangeSet, TwoRanges) |
42 { | 42 { |
43 Vector<UnicodeRange> ranges; | 43 Vector<UnicodeRange> ranges; |
44 ranges.append(UnicodeRange('6', '7')); | 44 ranges.append(UnicodeRange('6', '7')); |
45 ranges.append(UnicodeRange('2', '4')); | 45 ranges.append(UnicodeRange('2', '4')); |
46 UnicodeRangeSet set(ranges); | 46 RefPtr<UnicodeRangeSet> set = adoptRef(new UnicodeRangeSet(ranges)); |
47 EXPECT_FALSE(set.isEntireRange()); | 47 EXPECT_FALSE(set->isEntireRange()); |
48 EXPECT_FALSE(set.intersectsWith(String())); | 48 EXPECT_FALSE(set->intersectsWith(String())); |
49 EXPECT_FALSE(set.intersectsWith(String("1"))); | 49 EXPECT_FALSE(set->intersectsWith(String("1"))); |
50 EXPECT_TRUE(set.intersectsWith(String("2"))); | 50 EXPECT_TRUE(set->intersectsWith(String("2"))); |
51 EXPECT_TRUE(set.intersectsWith(String("3"))); | 51 EXPECT_TRUE(set->intersectsWith(String("3"))); |
52 EXPECT_TRUE(set.intersectsWith(String("4"))); | 52 EXPECT_TRUE(set->intersectsWith(String("4"))); |
53 EXPECT_FALSE(set.intersectsWith(String("5"))); | 53 EXPECT_FALSE(set->intersectsWith(String("5"))); |
54 EXPECT_TRUE(set.intersectsWith(String("6"))); | 54 EXPECT_TRUE(set->intersectsWith(String("6"))); |
55 EXPECT_TRUE(set.intersectsWith(String("7"))); | 55 EXPECT_TRUE(set->intersectsWith(String("7"))); |
56 EXPECT_FALSE(set.intersectsWith(String("8"))); | 56 EXPECT_FALSE(set->intersectsWith(String("8"))); |
57 ASSERT_EQ(2u, set.size()); | 57 ASSERT_EQ(2u, set->size()); |
58 EXPECT_EQ('2', set.rangeAt(0).from()); | 58 EXPECT_EQ('2', set->rangeAt(0).from()); |
59 EXPECT_EQ('4', set.rangeAt(0).to()); | 59 EXPECT_EQ('4', set->rangeAt(0).to()); |
60 EXPECT_EQ('6', set.rangeAt(1).from()); | 60 EXPECT_EQ('6', set->rangeAt(1).from()); |
61 EXPECT_EQ('7', set.rangeAt(1).to()); | 61 EXPECT_EQ('7', set->rangeAt(1).to()); |
62 } | 62 } |
63 | 63 |
64 TEST(UnicodeRangeSet, Overlap) | 64 TEST(UnicodeRangeSet, Overlap) |
65 { | 65 { |
66 Vector<UnicodeRange> ranges; | 66 Vector<UnicodeRange> ranges; |
67 ranges.append(UnicodeRange('0', '2')); | 67 ranges.append(UnicodeRange('0', '2')); |
68 ranges.append(UnicodeRange('1', '1')); | 68 ranges.append(UnicodeRange('1', '1')); |
69 ranges.append(UnicodeRange('3', '5')); | 69 ranges.append(UnicodeRange('3', '5')); |
70 ranges.append(UnicodeRange('4', '6')); | 70 ranges.append(UnicodeRange('4', '6')); |
71 UnicodeRangeSet set(ranges); | 71 RefPtr<UnicodeRangeSet> set = adoptRef(new UnicodeRangeSet(ranges)); |
72 ASSERT_EQ(1u, set.size()); | 72 ASSERT_EQ(1u, set->size()); |
73 EXPECT_EQ('0', set.rangeAt(0).from()); | 73 EXPECT_EQ('0', set->rangeAt(0).from()); |
74 EXPECT_EQ('6', set.rangeAt(0).to()); | 74 EXPECT_EQ('6', set->rangeAt(0).to()); |
75 } | 75 } |
76 | 76 |
77 TEST(UnicodeRangeSet, Non8Bit) | 77 TEST(UnicodeRangeSet, Non8Bit) |
78 { | 78 { |
79 Vector<UnicodeRange> ranges; | 79 Vector<UnicodeRange> ranges; |
80 ranges.append(UnicodeRange(0x3042, 0x3042)); | 80 ranges.append(UnicodeRange(0x3042, 0x3042)); |
81 UnicodeRangeSet set(ranges); | 81 RefPtr<UnicodeRangeSet> set = adoptRef(new UnicodeRangeSet(ranges)); |
82 ASSERT_EQ(1u, set.size()); | 82 ASSERT_EQ(1u, set->size()); |
83 EXPECT_EQ(0x3042, set.rangeAt(0).from()); | 83 EXPECT_EQ(0x3042, set->rangeAt(0).from()); |
84 EXPECT_EQ(0x3042, set.rangeAt(0).to()); | 84 EXPECT_EQ(0x3042, set->rangeAt(0).to()); |
85 EXPECT_FALSE(set.intersectsWith(String("a"))); | 85 EXPECT_FALSE(set->intersectsWith(String("a"))); |
86 EXPECT_TRUE(set.intersectsWith(String(hiraganaA))); | 86 EXPECT_TRUE(set->intersectsWith(String(hiraganaA))); |
87 } | 87 } |
88 | 88 |
89 } // namespace blink | 89 } // namespace blink |
OLD | NEW |