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

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_layout_inline_items_builder_test.cc

Issue 2555923002: Changed TextDirection to an enum class and renamed its members (Closed)
Patch Set: Rebase after reopen Created 3 years, 12 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "core/layout/ng/ng_layout_inline_items_builder.h" 5 #include "core/layout/ng/ng_layout_inline_items_builder.h"
6 #include "core/layout/LayoutInline.h" 6 #include "core/layout/LayoutInline.h"
7 #include "core/layout/ng/ng_inline_node.h" 7 #include "core/layout/ng/ng_inline_node.h"
8 #include "core/style/ComputedStyle.h" 8 #include "core/style/ComputedStyle.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 builder.ExitBlock(); 180 builder.ExitBlock();
181 181
182 EXPECT_EQ("", builder.ToString()); 182 EXPECT_EQ("", builder.ToString());
183 } 183 }
184 184
185 TEST_F(NGLayoutInlineItemsBuilderTest, BidiBlockOverride) { 185 TEST_F(NGLayoutInlineItemsBuilderTest, BidiBlockOverride) {
186 Vector<NGLayoutInlineItem> items; 186 Vector<NGLayoutInlineItem> items;
187 NGLayoutInlineItemsBuilder builder(&items); 187 NGLayoutInlineItemsBuilder builder(&items);
188 RefPtr<ComputedStyle> block_style(ComputedStyle::create()); 188 RefPtr<ComputedStyle> block_style(ComputedStyle::create());
189 block_style->setUnicodeBidi(Override); 189 block_style->setUnicodeBidi(Override);
190 block_style->setDirection(RTL); 190 block_style->setDirection(TextDirection::Rtl);
191 builder.EnterBlock(block_style.get()); 191 builder.EnterBlock(block_style.get());
192 builder.Append("Hello", style_.get()); 192 builder.Append("Hello", style_.get());
193 builder.ExitBlock(); 193 builder.ExitBlock();
194 194
195 // Expected control characters as defined in: 195 // Expected control characters as defined in:
196 // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection- table 196 // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection- table
197 EXPECT_EQ(String(u"\u202E" 197 EXPECT_EQ(String(u"\u202E"
198 u"Hello" 198 u"Hello"
199 u"\u202C"), 199 u"\u202C"),
200 builder.ToString()); 200 builder.ToString());
201 } 201 }
202 202
203 static std::unique_ptr<LayoutInline> createLayoutInline( 203 static std::unique_ptr<LayoutInline> createLayoutInline(
204 void (*initialize_style)(ComputedStyle*)) { 204 void (*initialize_style)(ComputedStyle*)) {
205 RefPtr<ComputedStyle> style(ComputedStyle::create()); 205 RefPtr<ComputedStyle> style(ComputedStyle::create());
206 initialize_style(style.get()); 206 initialize_style(style.get());
207 std::unique_ptr<LayoutInline> node = WTF::makeUnique<LayoutInline>(nullptr); 207 std::unique_ptr<LayoutInline> node = WTF::makeUnique<LayoutInline>(nullptr);
208 node->setStyleInternal(std::move(style)); 208 node->setStyleInternal(std::move(style));
209 return node; 209 return node;
210 } 210 }
211 211
212 TEST_F(NGLayoutInlineItemsBuilderTest, BidiIsolate) { 212 TEST_F(NGLayoutInlineItemsBuilderTest, BidiIsolate) {
213 Vector<NGLayoutInlineItem> items; 213 Vector<NGLayoutInlineItem> items;
214 NGLayoutInlineItemsBuilder builder(&items); 214 NGLayoutInlineItemsBuilder builder(&items);
215 builder.Append("Hello ", style_.get()); 215 builder.Append("Hello ", style_.get());
216 std::unique_ptr<LayoutInline> isolateRTL( 216 std::unique_ptr<LayoutInline> isolateRTL(
217 createLayoutInline([](ComputedStyle* style) { 217 createLayoutInline([](ComputedStyle* style) {
218 style->setUnicodeBidi(Isolate); 218 style->setUnicodeBidi(Isolate);
219 style->setDirection(RTL); 219 style->setDirection(TextDirection::Rtl);
220 })); 220 }));
221 builder.EnterInline(isolateRTL.get()); 221 builder.EnterInline(isolateRTL.get());
222 builder.Append(u"\u05E2\u05D1\u05E8\u05D9\u05EA", style_.get()); 222 builder.Append(u"\u05E2\u05D1\u05E8\u05D9\u05EA", style_.get());
223 builder.ExitInline(isolateRTL.get()); 223 builder.ExitInline(isolateRTL.get());
224 builder.Append(" World", style_.get()); 224 builder.Append(" World", style_.get());
225 225
226 // Expected control characters as defined in: 226 // Expected control characters as defined in:
227 // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection- table 227 // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection- table
228 EXPECT_EQ(String(u"Hello " 228 EXPECT_EQ(String(u"Hello "
229 u"\u2067" 229 u"\u2067"
230 u"\u05E2\u05D1\u05E8\u05D9\u05EA" 230 u"\u05E2\u05D1\u05E8\u05D9\u05EA"
231 u"\u2069" 231 u"\u2069"
232 u" World"), 232 u" World"),
233 builder.ToString()); 233 builder.ToString());
234 } 234 }
235 235
236 TEST_F(NGLayoutInlineItemsBuilderTest, BidiIsolateOverride) { 236 TEST_F(NGLayoutInlineItemsBuilderTest, BidiIsolateOverride) {
237 Vector<NGLayoutInlineItem> items; 237 Vector<NGLayoutInlineItem> items;
238 NGLayoutInlineItemsBuilder builder(&items); 238 NGLayoutInlineItemsBuilder builder(&items);
239 builder.Append("Hello ", style_.get()); 239 builder.Append("Hello ", style_.get());
240 std::unique_ptr<LayoutInline> isolateOverrideRTL( 240 std::unique_ptr<LayoutInline> isolateOverrideRTL(
241 createLayoutInline([](ComputedStyle* style) { 241 createLayoutInline([](ComputedStyle* style) {
242 style->setUnicodeBidi(IsolateOverride); 242 style->setUnicodeBidi(IsolateOverride);
243 style->setDirection(RTL); 243 style->setDirection(TextDirection::Rtl);
244 })); 244 }));
245 builder.EnterInline(isolateOverrideRTL.get()); 245 builder.EnterInline(isolateOverrideRTL.get());
246 builder.Append(u"\u05E2\u05D1\u05E8\u05D9\u05EA", style_.get()); 246 builder.Append(u"\u05E2\u05D1\u05E8\u05D9\u05EA", style_.get());
247 builder.ExitInline(isolateOverrideRTL.get()); 247 builder.ExitInline(isolateOverrideRTL.get());
248 builder.Append(" World", style_.get()); 248 builder.Append(" World", style_.get());
249 249
250 // Expected control characters as defined in: 250 // Expected control characters as defined in:
251 // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection- table 251 // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection- table
252 EXPECT_EQ(String(u"Hello " 252 EXPECT_EQ(String(u"Hello "
253 u"\u2068\u202E" 253 u"\u2068\u202E"
254 u"\u05E2\u05D1\u05E8\u05D9\u05EA" 254 u"\u05E2\u05D1\u05E8\u05D9\u05EA"
255 u"\u202C\u2069" 255 u"\u202C\u2069"
256 u" World"), 256 u" World"),
257 builder.ToString()); 257 builder.ToString());
258 } 258 }
259 259
260 } // namespace 260 } // namespace
261 261
262 } // namespace blink 262 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698