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

Unified Diff: ui/views/controls/label_unittest.cc

Issue 10807082: Add RenderText DirectionalityMode enum and support; etc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update and expand on unit tests. Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/label_unittest.cc
diff --git a/ui/views/controls/label_unittest.cc b/ui/views/controls/label_unittest.cc
index 12bc7fe4501fd02424e417ce48e70ddbe2da56fb..2689a07584226ac99822aa27776c8c7abf082d3e 100644
--- a/ui/views/controls/label_unittest.cc
+++ b/ui/views/controls/label_unittest.cc
@@ -8,6 +8,7 @@
#include "ui/base/accessibility/accessible_view_state.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/canvas.h"
+#include "ui/gfx/text_constants.h"
#include "ui/views/border.h"
#include "ui/views/controls/label.h"
@@ -71,8 +72,8 @@ TEST(LabelTest, AlignmentProperty) {
EXPECT_EQ(Label::ALIGN_CENTER, label.horizontal_alignment());
// The label's alignment should not be flipped if the directionality mode is
- // AUTO_DETECT_DIRECTIONALITY.
- label.set_directionality_mode(Label::AUTO_DETECT_DIRECTIONALITY);
+ // gfx::DIRECTIONALITY_FROM_TEXT.
+ label.set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT);
label.SetHorizontalAlignment(Label::ALIGN_RIGHT);
EXPECT_EQ(Label::ALIGN_RIGHT, label.horizontal_alignment());
label.SetHorizontalAlignment(Label::ALIGN_LEFT);
@@ -83,13 +84,13 @@ TEST(LabelTest, AlignmentProperty) {
TEST(LabelTest, DirectionalityModeProperty) {
Label label;
- EXPECT_EQ(Label::USE_UI_DIRECTIONALITY, label.directionality_mode());
+ EXPECT_EQ(gfx::DIRECTIONALITY_FROM_UI, label.directionality_mode());
- label.set_directionality_mode(Label::AUTO_DETECT_DIRECTIONALITY);
- EXPECT_EQ(Label::AUTO_DETECT_DIRECTIONALITY, label.directionality_mode());
+ label.set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT);
+ EXPECT_EQ(gfx::DIRECTIONALITY_FROM_TEXT, label.directionality_mode());
- label.set_directionality_mode(Label::USE_UI_DIRECTIONALITY);
- EXPECT_EQ(Label::USE_UI_DIRECTIONALITY, label.directionality_mode());
+ label.set_directionality_mode(gfx::DIRECTIONALITY_FROM_UI);
+ EXPECT_EQ(gfx::DIRECTIONALITY_FROM_UI, label.directionality_mode());
}
TEST(LabelTest, MultiLineProperty) {
@@ -272,33 +273,19 @@ TEST(LabelTest, MultiLineSizing) {
TEST(LabelTest, AutoDetectDirectionality) {
Label label;
- label.set_directionality_mode(Label::AUTO_DETECT_DIRECTIONALITY);
-
- // Test text starts with RTL character.
- string16 test_text(WideToUTF16(L" \x5d0\x5d1\x5d2 abc"));
- label.SetText(test_text);
- gfx::Size required_size(label.GetPreferredSize());
- gfx::Size extra(22, 8);
- label.SetBounds(0,
- 0,
- required_size.width() + extra.width(),
- required_size.height() + extra.height());
+ label.set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT);
string16 paint_text;
gfx::Rect text_bounds;
- int flags;
+ int flags = 0;
+
+ // Test text starting with an RTL character.
+ label.SetText(WideToUTF16(L" \x5d0\x5d1\x5d2 abc "));
label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags);
EXPECT_EQ(gfx::Canvas::FORCE_RTL_DIRECTIONALITY, flags);
- // Test text starts with LTR character.
- test_text = (WideToUTF16(L"ltr \x5d0\x5d1\x5d2 abc"));
- label.SetText(test_text);
- required_size = label.GetPreferredSize();
- label.SetBounds(0,
- 0,
- required_size.width() + extra.width(),
- required_size.height() + extra.height());
-
+ // Test text starting with an LTR character.
+ label.SetText(WideToUTF16(L"ltr \x5d0\x5d1\x5d2 abc "));
label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags);
EXPECT_EQ(gfx::Canvas::FORCE_LTR_DIRECTIONALITY, flags);
}
@@ -309,7 +296,7 @@ TEST(LabelTest, DrawSingleLineString) {
// Turn off mirroring so that we don't need to figure out if
// align right really means align left.
- label.set_directionality_mode(Label::AUTO_DETECT_DIRECTIONALITY);
+ label.set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT);
string16 test_text(ASCIIToUTF16("Here's a string with no returns."));
label.SetText(test_text);
@@ -427,7 +414,7 @@ TEST(LabelTest, DrawMultiLineString) {
// Turn off mirroring so that we don't need to figure out if
// align right really means align left.
- label.set_directionality_mode(Label::AUTO_DETECT_DIRECTIONALITY);
+ label.set_directionality_mode(gfx::DIRECTIONALITY_FROM_TEXT);
string16 test_text(ASCIIToUTF16("Another string\nwith returns\n\n!"));
label.SetText(test_text);

Powered by Google App Engine
This is Rietveld 408576698