| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 // Unit tests for eliding and formatting utility functions. | 5 // Unit tests for eliding and formatting utility functions. |
| 6 | 6 |
| 7 #include "ui/gfx/text_elider.h" | 7 #include "ui/gfx/text_elider.h" |
| 8 | 8 |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 669 font_list, | 669 font_list, |
| 670 kAvailableWidth, | 670 kAvailableWidth, |
| 671 kAvailableHeight, | 671 kAvailableHeight, |
| 672 WRAP_LONG_WORDS, | 672 WRAP_LONG_WORDS, |
| 673 &lines)); | 673 &lines)); |
| 674 ASSERT_EQ(2u, lines.size()); | 674 ASSERT_EQ(2u, lines.size()); |
| 675 EXPECT_LE(GetStringWidthF(lines[0], font_list), kAvailableWidth); | 675 EXPECT_LE(GetStringWidthF(lines[0], font_list), kAvailableWidth); |
| 676 EXPECT_LE(GetStringWidthF(lines[1], font_list), kAvailableWidth); | 676 EXPECT_LE(GetStringWidthF(lines[1], font_list), kAvailableWidth); |
| 677 } | 677 } |
| 678 | 678 |
| 679 TEST(TextEliderTest, ElideRectangleTextCheckBreaking) { |
| 680 FontList font_list; |
| 681 font_list = FontList("Noto Sans UI,ui-sans, 12px"); |
| 682 #define WIDTH(x) GetStringWidthF(UTF8ToUTF16(x), font_list) |
| 683 |
| 684 EXPECT_EQ(WIDTH("The administrator for this account has"), |
| 685 WIDTH("The ") + |
| 686 WIDTH("administrator ") + |
| 687 WIDTH("for ") + |
| 688 WIDTH("this ") + |
| 689 WIDTH("account ") + |
| 690 WIDTH("has")); |
| 691 #undef W |
| 692 } |
| 693 |
| 679 TEST(TextEliderTest, ElideRectangleString) { | 694 TEST(TextEliderTest, ElideRectangleString) { |
| 680 struct TestData { | 695 struct TestData { |
| 681 const char* input; | 696 const char* input; |
| 682 int max_rows; | 697 int max_rows; |
| 683 int max_cols; | 698 int max_cols; |
| 684 bool result; | 699 bool result; |
| 685 const char* output; | 700 const char* output; |
| 686 } cases[] = { | 701 } cases[] = { |
| 687 { "", 0, 0, false, "" }, | 702 { "", 0, 0, false, "" }, |
| 688 { "", 1, 1, false, "" }, | 703 { "", 1, 1, false, "" }, |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 917 // Test adds ... at right spot within a word. | 932 // Test adds ... at right spot within a word. |
| 918 EXPECT_EQ(L"f\x2026", UTF16ToWide(TruncateString(string, 2, | 933 EXPECT_EQ(L"f\x2026", UTF16ToWide(TruncateString(string, 2, |
| 919 CHARACTER_BREAK))); | 934 CHARACTER_BREAK))); |
| 920 | 935 |
| 921 // Test removes trailing whitespace if break falls between words. | 936 // Test removes trailing whitespace if break falls between words. |
| 922 EXPECT_EQ(L"foooooey\x2026", UTF16ToWide(TruncateString(string, 12, | 937 EXPECT_EQ(L"foooooey\x2026", UTF16ToWide(TruncateString(string, 12, |
| 923 CHARACTER_BREAK))); | 938 CHARACTER_BREAK))); |
| 924 } | 939 } |
| 925 | 940 |
| 926 } // namespace gfx | 941 } // namespace gfx |
| OLD | NEW |