| 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 "config.h" | 5 #include "config.h" |
| 6 #include "platform/fonts/GlyphPageTreeNode.h" | 6 #include "platform/fonts/GlyphPageTreeNode.h" |
| 7 | 7 |
| 8 #include "platform/fonts/SegmentedFontData.h" | 8 #include "platform/fonts/SegmentedFontData.h" |
| 9 #include "platform/fonts/SimpleFontData.h" | 9 #include "platform/fonts/SimpleFontData.h" |
| 10 #include <gtest/gtest.h> | 10 #include <gtest/gtest.h> |
| 11 | 11 |
| 12 namespace blink { | 12 namespace blink { |
| 13 | 13 |
| 14 namespace { |
| 15 |
| 14 class TestCustomFontData : public CustomFontData { | 16 class TestCustomFontData : public CustomFontData { |
| 15 public: | 17 public: |
| 16 static PassRefPtr<TestCustomFontData> create() { return adoptRef(new TestCus
tomFontData()); } | 18 static PassRefPtr<TestCustomFontData> create() { return adoptRef(new TestCus
tomFontData()); } |
| 17 private: | 19 private: |
| 18 TestCustomFontData() { } | 20 TestCustomFontData() { } |
| 19 virtual bool isLoadingFallback() const override { return true; } | 21 virtual bool isLoadingFallback() const override { return true; } |
| 20 }; | 22 }; |
| 21 | 23 |
| 22 class TestSimpleFontData : public SimpleFontData { | 24 class TestSimpleFontData : public SimpleFontData { |
| 23 public: | 25 public: |
| (...skipping 29 matching lines...) Expand all Loading... |
| 53 hasGlyphs = true; | 55 hasGlyphs = true; |
| 54 } | 56 } |
| 55 } | 57 } |
| 56 return hasGlyphs; | 58 return hasGlyphs; |
| 57 } | 59 } |
| 58 | 60 |
| 59 UChar32 m_from; | 61 UChar32 m_from; |
| 60 UChar32 m_to; | 62 UChar32 m_to; |
| 61 }; | 63 }; |
| 62 | 64 |
| 63 TEST(GlyphPageTreeNode, rootChild) | 65 } // anonymous namespace |
| 66 |
| 67 TEST(GlyphPageTreeNodeTest, rootChild) |
| 64 { | 68 { |
| 65 const unsigned kPageNumber = 0; | 69 const unsigned kPageNumber = 0; |
| 66 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 70 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 67 { | 71 { |
| 68 RefPtr<TestSimpleFontData> data = TestSimpleFontData::create('a', 'z'); | 72 RefPtr<TestSimpleFontData> data = TestSimpleFontData::create('a', 'z'); |
| 69 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(data.get
(), kPageNumber); | 73 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(data.get
(), kPageNumber); |
| 70 EXPECT_EQ(pageCountBeforeTest + 1, GlyphPageTreeNode::treeGlyphPageCount
()); | 74 EXPECT_EQ(pageCountBeforeTest + 1, GlyphPageTreeNode::treeGlyphPageCount
()); |
| 71 EXPECT_TRUE(node->page()->glyphAt('a')); | 75 EXPECT_TRUE(node->page()->glyphAt('a')); |
| 72 EXPECT_FALSE(node->page()->glyphAt('A')); | 76 EXPECT_FALSE(node->page()->glyphAt('A')); |
| 73 EXPECT_FALSE(node->isSystemFallback()); | 77 EXPECT_FALSE(node->isSystemFallback()); |
| 74 EXPECT_EQ(1u, node->level()); | 78 EXPECT_EQ(1u, node->level()); |
| 75 EXPECT_EQ(node, node->page()->owner()); | 79 EXPECT_EQ(node, node->page()->owner()); |
| 76 } | 80 } |
| 77 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 81 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 78 } | 82 } |
| 79 | 83 |
| 80 TEST(GlyphPageTreeNode, level2) | 84 TEST(GlyphPageTreeNodeTest, level2) |
| 81 { | 85 { |
| 82 const unsigned kPageNumber = 0; | 86 const unsigned kPageNumber = 0; |
| 83 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 87 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 84 { | 88 { |
| 85 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::create('A', 'C
'); | 89 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::create('A', 'C
'); |
| 86 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::create('C', 'E
'); | 90 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::create('C', 'E
'); |
| 87 GlyphPageTreeNode* node1 = GlyphPageTreeNode::getNormalRootChild(dataAto
C.get(), kPageNumber); | 91 GlyphPageTreeNode* node1 = GlyphPageTreeNode::getNormalRootChild(dataAto
C.get(), kPageNumber); |
| 88 GlyphPageTreeNode* node2 = node1->getNormalChild(dataCtoE.get(), kPageNu
mber); | 92 GlyphPageTreeNode* node2 = node1->getNormalChild(dataCtoE.get(), kPageNu
mber); |
| 89 EXPECT_EQ(pageCountBeforeTest + 3, GlyphPageTreeNode::treeGlyphPageCount
()); | 93 EXPECT_EQ(pageCountBeforeTest + 3, GlyphPageTreeNode::treeGlyphPageCount
()); |
| 90 | 94 |
| 91 EXPECT_EQ(2u, node2->level()); | 95 EXPECT_EQ(2u, node2->level()); |
| 92 EXPECT_EQ(dataAtoC, node2->page()->glyphDataForCharacter('A').fontData); | 96 EXPECT_EQ(dataAtoC, node2->page()->glyphDataForCharacter('A').fontData); |
| 93 EXPECT_EQ(dataAtoC, node2->page()->glyphDataForCharacter('C').fontData); | 97 EXPECT_EQ(dataAtoC, node2->page()->glyphDataForCharacter('C').fontData); |
| 94 EXPECT_EQ(dataCtoE, node2->page()->glyphDataForCharacter('E').fontData); | 98 EXPECT_EQ(dataCtoE, node2->page()->glyphDataForCharacter('E').fontData); |
| 95 } | 99 } |
| 96 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 100 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 97 } | 101 } |
| 98 | 102 |
| 99 TEST(GlyphPageTreeNode, segmentedData) | 103 TEST(GlyphPageTreeNodeTest, segmentedData) |
| 100 { | 104 { |
| 101 const unsigned kPageNumber = 0; | 105 const unsigned kPageNumber = 0; |
| 102 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 106 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 103 { | 107 { |
| 104 RefPtr<TestSimpleFontData> dataBtoC = TestSimpleFontData::create('B', 'C
'); | 108 RefPtr<TestSimpleFontData> dataBtoC = TestSimpleFontData::create('B', 'C
'); |
| 105 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::create('C', 'E
'); | 109 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::create('C', 'E
'); |
| 106 RefPtr<SegmentedFontData> segmentedData = SegmentedFontData::create(); | 110 RefPtr<SegmentedFontData> segmentedData = SegmentedFontData::create(); |
| 107 segmentedData->appendRange(FontDataRange('A', 'C', dataBtoC)); | 111 segmentedData->appendRange(FontDataRange('A', 'C', dataBtoC)); |
| 108 segmentedData->appendRange(FontDataRange('C', 'D', dataCtoE)); | 112 segmentedData->appendRange(FontDataRange('C', 'D', dataCtoE)); |
| 109 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(segmente
dData.get(), kPageNumber); | 113 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(segmente
dData.get(), kPageNumber); |
| 110 | 114 |
| 111 EXPECT_EQ(0, node->page()->glyphDataForCharacter('A').fontData); | 115 EXPECT_EQ(0, node->page()->glyphDataForCharacter('A').fontData); |
| 112 EXPECT_EQ(dataBtoC, node->page()->glyphDataForCharacter('B').fontData); | 116 EXPECT_EQ(dataBtoC, node->page()->glyphDataForCharacter('B').fontData); |
| 113 EXPECT_EQ(dataBtoC, node->page()->glyphDataForCharacter('C').fontData); | 117 EXPECT_EQ(dataBtoC, node->page()->glyphDataForCharacter('C').fontData); |
| 114 EXPECT_EQ(dataCtoE, node->page()->glyphDataForCharacter('D').fontData); | 118 EXPECT_EQ(dataCtoE, node->page()->glyphDataForCharacter('D').fontData); |
| 115 EXPECT_EQ(0, node->page()->glyphDataForCharacter('E').fontData); | 119 EXPECT_EQ(0, node->page()->glyphDataForCharacter('E').fontData); |
| 116 } | 120 } |
| 117 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 121 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 118 } | 122 } |
| 119 | 123 |
| 120 TEST(GlyphPageTreeNode, outsideBMP) | 124 TEST(GlyphPageTreeNodeTest, outsideBMP) |
| 121 { | 125 { |
| 122 const unsigned kPageNumber = 0x1f300 / GlyphPage::size; | 126 const unsigned kPageNumber = 0x1f300 / GlyphPage::size; |
| 123 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 127 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 124 { | 128 { |
| 125 RefPtr<TestSimpleFontData> data = TestSimpleFontData::create(0x1f310, 0x
1f320); | 129 RefPtr<TestSimpleFontData> data = TestSimpleFontData::create(0x1f310, 0x
1f320); |
| 126 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(data.get
(), kPageNumber); | 130 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(data.get
(), kPageNumber); |
| 127 EXPECT_EQ(pageCountBeforeTest + 1, GlyphPageTreeNode::treeGlyphPageCount
()); | 131 EXPECT_EQ(pageCountBeforeTest + 1, GlyphPageTreeNode::treeGlyphPageCount
()); |
| 128 EXPECT_FALSE(node->page()->glyphForCharacter(0x1f30f)); | 132 EXPECT_FALSE(node->page()->glyphForCharacter(0x1f30f)); |
| 129 EXPECT_TRUE(node->page()->glyphForCharacter(0x1f310)); | 133 EXPECT_TRUE(node->page()->glyphForCharacter(0x1f310)); |
| 130 EXPECT_TRUE(node->page()->glyphForCharacter(0x1f320)); | 134 EXPECT_TRUE(node->page()->glyphForCharacter(0x1f320)); |
| 131 EXPECT_FALSE(node->page()->glyphForCharacter(0x1f321)); | 135 EXPECT_FALSE(node->page()->glyphForCharacter(0x1f321)); |
| 132 } | 136 } |
| 133 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 137 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 134 } | 138 } |
| 135 | 139 |
| 136 TEST(GlyphPageTreeNode, customData) | 140 TEST(GlyphPageTreeNodeTest, customData) |
| 137 { | 141 { |
| 138 const unsigned kPageNumber = 0; | 142 const unsigned kPageNumber = 0; |
| 139 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 143 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 140 { | 144 { |
| 141 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::createUnloaded
('A', 'C'); | 145 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::createUnloaded
('A', 'C'); |
| 142 RefPtr<TestSimpleFontData> dataBtoD = TestSimpleFontData::create('B', 'D
'); | 146 RefPtr<TestSimpleFontData> dataBtoD = TestSimpleFontData::create('B', 'D
'); |
| 143 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::createUnloaded
('C', 'E'); | 147 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::createUnloaded
('C', 'E'); |
| 144 RefPtr<SegmentedFontData> segmentedData = SegmentedFontData::create(); | 148 RefPtr<SegmentedFontData> segmentedData = SegmentedFontData::create(); |
| 145 segmentedData->appendRange(FontDataRange('A', 'C', dataAtoC)); | 149 segmentedData->appendRange(FontDataRange('A', 'C', dataAtoC)); |
| 146 segmentedData->appendRange(FontDataRange('B', 'D', dataBtoD)); | 150 segmentedData->appendRange(FontDataRange('B', 'D', dataBtoD)); |
| 147 segmentedData->appendRange(FontDataRange('C', 'E', dataCtoE)); | 151 segmentedData->appendRange(FontDataRange('C', 'E', dataCtoE)); |
| 148 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(segmente
dData.get(), kPageNumber); | 152 GlyphPageTreeNode* node = GlyphPageTreeNode::getNormalRootChild(segmente
dData.get(), kPageNumber); |
| 149 | 153 |
| 150 EXPECT_EQ(0, node->page()->glyphDataForCharacter('A').fontData); | 154 EXPECT_EQ(0, node->page()->glyphDataForCharacter('A').fontData); |
| 151 EXPECT_EQ(dataBtoD, node->page()->glyphDataForCharacter('B').fontData); | 155 EXPECT_EQ(dataBtoD, node->page()->glyphDataForCharacter('B').fontData); |
| 152 EXPECT_EQ(dataBtoD, node->page()->glyphDataForCharacter('C').fontData); | 156 EXPECT_EQ(dataBtoD, node->page()->glyphDataForCharacter('C').fontData); |
| 153 EXPECT_EQ(dataBtoD, node->page()->glyphDataForCharacter('D').fontData); | 157 EXPECT_EQ(dataBtoD, node->page()->glyphDataForCharacter('D').fontData); |
| 154 EXPECT_EQ(0, node->page()->glyphDataForCharacter('E').fontData); | 158 EXPECT_EQ(0, node->page()->glyphDataForCharacter('E').fontData); |
| 155 | 159 |
| 156 EXPECT_EQ(dataAtoC->customFontData(), node->page()->customFontToLoadAt('
A')); | 160 EXPECT_EQ(dataAtoC->customFontData(), node->page()->customFontToLoadAt('
A')); |
| 157 EXPECT_EQ(dataAtoC->customFontData(), node->page()->customFontToLoadAt('
B')); | 161 EXPECT_EQ(dataAtoC->customFontData(), node->page()->customFontToLoadAt('
B')); |
| 158 EXPECT_EQ(dataAtoC->customFontData(), node->page()->customFontToLoadAt('
C')); | 162 EXPECT_EQ(dataAtoC->customFontData(), node->page()->customFontToLoadAt('
C')); |
| 159 EXPECT_EQ(0, node->page()->customFontToLoadAt('D')); | 163 EXPECT_EQ(0, node->page()->customFontToLoadAt('D')); |
| 160 EXPECT_EQ(dataCtoE->customFontData(), node->page()->customFontToLoadAt('
E')); | 164 EXPECT_EQ(dataCtoE->customFontData(), node->page()->customFontToLoadAt('
E')); |
| 161 } | 165 } |
| 162 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 166 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 163 } | 167 } |
| 164 | 168 |
| 165 TEST(GlyphPageTreeNode, customDataWithMultiplePages) | 169 TEST(GlyphPageTreeNodeTest, customDataWithMultiplePages) |
| 166 { | 170 { |
| 167 const unsigned kPageNumber = 0; | 171 const unsigned kPageNumber = 0; |
| 168 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 172 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 169 { | 173 { |
| 170 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::createUnloaded
('A', 'C'); | 174 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::createUnloaded
('A', 'C'); |
| 171 RefPtr<TestSimpleFontData> dataBtoD = TestSimpleFontData::create('B', 'D
'); | 175 RefPtr<TestSimpleFontData> dataBtoD = TestSimpleFontData::create('B', 'D
'); |
| 172 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::createUnloaded
('C', 'E'); | 176 RefPtr<TestSimpleFontData> dataCtoE = TestSimpleFontData::createUnloaded
('C', 'E'); |
| 173 RefPtr<SegmentedFontData> segmentedData1 = SegmentedFontData::create(); | 177 RefPtr<SegmentedFontData> segmentedData1 = SegmentedFontData::create(); |
| 174 RefPtr<SegmentedFontData> segmentedData2 = SegmentedFontData::create(); | 178 RefPtr<SegmentedFontData> segmentedData2 = SegmentedFontData::create(); |
| 175 RefPtr<SegmentedFontData> segmentedData3 = SegmentedFontData::create(); | 179 RefPtr<SegmentedFontData> segmentedData3 = SegmentedFontData::create(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 188 | 192 |
| 189 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'A')); | 193 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'A')); |
| 190 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'B')); | 194 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'B')); |
| 191 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'C')); | 195 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'C')); |
| 192 EXPECT_EQ(0, node3->page()->customFontToLoadAt('D')); | 196 EXPECT_EQ(0, node3->page()->customFontToLoadAt('D')); |
| 193 EXPECT_EQ(dataCtoE->customFontData(), node3->page()->customFontToLoadAt(
'E')); | 197 EXPECT_EQ(dataCtoE->customFontData(), node3->page()->customFontToLoadAt(
'E')); |
| 194 } | 198 } |
| 195 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 199 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 196 } | 200 } |
| 197 | 201 |
| 198 TEST(GlyphPageTreeNode, systemFallback) | 202 TEST(GlyphPageTreeNodeTest, systemFallback) |
| 199 { | 203 { |
| 200 const unsigned kPageNumber = 0; | 204 const unsigned kPageNumber = 0; |
| 201 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); | 205 size_t pageCountBeforeTest = GlyphPageTreeNode::treeGlyphPageCount(); |
| 202 { | 206 { |
| 203 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::createUnloaded
('A', 'C'); | 207 RefPtr<TestSimpleFontData> dataAtoC = TestSimpleFontData::createUnloaded
('A', 'C'); |
| 204 RefPtr<TestSimpleFontData> dataBtoD = TestSimpleFontData::create('B', 'D
'); | 208 RefPtr<TestSimpleFontData> dataBtoD = TestSimpleFontData::create('B', 'D
'); |
| 205 RefPtr<SegmentedFontData> segmentedData = SegmentedFontData::create(); | 209 RefPtr<SegmentedFontData> segmentedData = SegmentedFontData::create(); |
| 206 segmentedData->appendRange(FontDataRange('A', 'C', dataAtoC)); | 210 segmentedData->appendRange(FontDataRange('A', 'C', dataAtoC)); |
| 207 GlyphPageTreeNode* node1 = GlyphPageTreeNode::getNormalRootChild(segment
edData.get(), kPageNumber); | 211 GlyphPageTreeNode* node1 = GlyphPageTreeNode::getNormalRootChild(segment
edData.get(), kPageNumber); |
| 208 GlyphPageTreeNode* node2 = node1->getNormalChild(dataBtoD.get(), kPageNu
mber); | 212 GlyphPageTreeNode* node2 = node1->getNormalChild(dataBtoD.get(), kPageNu
mber); |
| 209 SystemFallbackGlyphPageTreeNode* node3 = node2->getSystemFallbackChild(k
PageNumber); | 213 SystemFallbackGlyphPageTreeNode* node3 = node2->getSystemFallbackChild(k
PageNumber); |
| 210 | 214 |
| 211 EXPECT_TRUE(node3->isSystemFallback()); | 215 EXPECT_TRUE(node3->isSystemFallback()); |
| 212 | 216 |
| 213 EXPECT_EQ(0, node3->page()->glyphDataForCharacter('A').fontData); | 217 EXPECT_EQ(0, node3->page()->glyphDataForCharacter('A').fontData); |
| 214 EXPECT_EQ(dataBtoD, node3->page()->glyphDataForCharacter('B').fontData); | 218 EXPECT_EQ(dataBtoD, node3->page()->glyphDataForCharacter('B').fontData); |
| 215 EXPECT_EQ(dataBtoD, node3->page()->glyphDataForCharacter('C').fontData); | 219 EXPECT_EQ(dataBtoD, node3->page()->glyphDataForCharacter('C').fontData); |
| 216 EXPECT_EQ(dataBtoD, node3->page()->glyphDataForCharacter('D').fontData); | 220 EXPECT_EQ(dataBtoD, node3->page()->glyphDataForCharacter('D').fontData); |
| 217 | 221 |
| 218 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'A')); | 222 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'A')); |
| 219 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'B')); | 223 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'B')); |
| 220 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'C')); | 224 EXPECT_EQ(dataAtoC->customFontData(), node3->page()->customFontToLoadAt(
'C')); |
| 221 EXPECT_EQ(0, node3->page()->customFontToLoadAt('D')); | 225 EXPECT_EQ(0, node3->page()->customFontToLoadAt('D')); |
| 222 } | 226 } |
| 223 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); | 227 EXPECT_EQ(pageCountBeforeTest, GlyphPageTreeNode::treeGlyphPageCount()); |
| 224 } | 228 } |
| 225 | 229 |
| 226 TEST(GlyphPageTreeNode, systemFallbackScriptIsolation) | 230 TEST(GlyphPageTreeNodeTest, systemFallbackScriptIsolation) |
| 227 { | 231 { |
| 228 const unsigned kPageNumber = 0; | 232 const unsigned kPageNumber = 0; |
| 229 RefPtr<TestSimpleFontData> defaultData = TestSimpleFontData::create('A', 'B'
); | 233 RefPtr<TestSimpleFontData> defaultData = TestSimpleFontData::create('A', 'B'
); |
| 230 GlyphPageTreeNode* node1 = GlyphPageTreeNode::getNormalRootChild(defaultData
.get(), kPageNumber); | 234 GlyphPageTreeNode* node1 = GlyphPageTreeNode::getNormalRootChild(defaultData
.get(), kPageNumber); |
| 231 SystemFallbackGlyphPageTreeNode* node2 = node1->getSystemFallbackChild(kPage
Number); | 235 SystemFallbackGlyphPageTreeNode* node2 = node1->getSystemFallbackChild(kPage
Number); |
| 232 | 236 |
| 233 EXPECT_TRUE(node2->isSystemFallback()); | 237 EXPECT_TRUE(node2->isSystemFallback()); |
| 234 | 238 |
| 235 GlyphPage* commonPage = node2->page(USCRIPT_COMMON); | 239 GlyphPage* commonPage = node2->page(USCRIPT_COMMON); |
| 236 GlyphPage* latinPage = node2->page(USCRIPT_LATIN); | 240 GlyphPage* latinPage = node2->page(USCRIPT_LATIN); |
| 237 GlyphPage* simplifiedChinesePage = node2->page(USCRIPT_SIMPLIFIED_HAN); | 241 GlyphPage* simplifiedChinesePage = node2->page(USCRIPT_SIMPLIFIED_HAN); |
| 238 GlyphPage* traditionalChinesePage = node2->page(USCRIPT_TRADITIONAL_HAN); | 242 GlyphPage* traditionalChinesePage = node2->page(USCRIPT_TRADITIONAL_HAN); |
| 239 GlyphPage* japanesePage = node2->page(USCRIPT_KATAKANA_OR_HIRAGANA); | 243 GlyphPage* japanesePage = node2->page(USCRIPT_KATAKANA_OR_HIRAGANA); |
| 240 EXPECT_NE(commonPage, latinPage); | 244 EXPECT_NE(commonPage, latinPage); |
| 241 EXPECT_NE(commonPage, simplifiedChinesePage); | 245 EXPECT_NE(commonPage, simplifiedChinesePage); |
| 242 EXPECT_NE(commonPage, traditionalChinesePage); | 246 EXPECT_NE(commonPage, traditionalChinesePage); |
| 243 EXPECT_NE(simplifiedChinesePage, traditionalChinesePage); | 247 EXPECT_NE(simplifiedChinesePage, traditionalChinesePage); |
| 244 EXPECT_NE(commonPage, japanesePage); | 248 EXPECT_NE(commonPage, japanesePage); |
| 245 EXPECT_NE(japanesePage, simplifiedChinesePage); | 249 EXPECT_NE(japanesePage, simplifiedChinesePage); |
| 246 EXPECT_NE(japanesePage, traditionalChinesePage); | 250 EXPECT_NE(japanesePage, traditionalChinesePage); |
| 247 } | 251 } |
| 248 | 252 |
| 249 } // namespace blink | 253 } // namespace blink |
| OLD | NEW |