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 #include "ui/views/controls/label.h" | 5 #include "ui/views/controls/label.h" |
6 | 6 |
7 #include "base/i18n/rtl.h" | 7 #include "base/i18n/rtl.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "ui/accessibility/ax_view_state.h" | 10 #include "ui/accessibility/ax_view_state.h" |
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 label.width() + extra.width(), | 516 label.width() + extra.width(), |
517 label.height() + extra.height()); | 517 label.height() + extra.height()); |
518 | 518 |
519 // Do some basic verifications for all three alignments. | 519 // Do some basic verifications for all three alignments. |
520 base::string16 paint_text; | 520 base::string16 paint_text; |
521 gfx::Rect text_bounds; | 521 gfx::Rect text_bounds; |
522 int flags = -1; | 522 int flags = -1; |
523 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 523 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
524 EXPECT_EQ(label.text(), paint_text); | 524 EXPECT_EQ(label.text(), paint_text); |
525 EXPECT_EQ(extra.width() / 2, text_bounds.x()); | 525 EXPECT_EQ(extra.width() / 2, text_bounds.x()); |
526 EXPECT_EQ(0, text_bounds.y()); | 526 EXPECT_EQ(extra.height() / 2, text_bounds.y()); |
527 EXPECT_GT(text_bounds.width(), kMinTextDimension); | 527 EXPECT_GT(text_bounds.width(), kMinTextDimension); |
528 EXPECT_EQ(text_bounds.height(), label.height()); | 528 EXPECT_GT(text_bounds.height(), kMinTextDimension); |
529 int expected_flags = gfx::Canvas::MULTI_LINE | | 529 int expected_flags = gfx::Canvas::MULTI_LINE | |
530 gfx::Canvas::TEXT_ALIGN_CENTER | | 530 gfx::Canvas::TEXT_ALIGN_CENTER | |
531 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | 531 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; |
532 #if !defined(OS_WIN) | 532 #if !defined(OS_WIN) |
533 expected_flags |= gfx::Canvas::NO_ELLIPSIS; | 533 expected_flags |= gfx::Canvas::NO_ELLIPSIS; |
534 #endif | 534 #endif |
535 EXPECT_EQ(expected_flags, expected_flags); | 535 EXPECT_EQ(expected_flags, expected_flags); |
536 gfx::Rect center_bounds(text_bounds); | 536 gfx::Rect center_bounds(text_bounds); |
537 | 537 |
538 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); | 538 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); |
539 paint_text.clear(); | 539 paint_text.clear(); |
540 text_bounds.SetRect(0, 0, 0, 0); | 540 text_bounds.SetRect(0, 0, 0, 0); |
541 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 541 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
542 EXPECT_EQ(label.text(), paint_text); | 542 EXPECT_EQ(label.text(), paint_text); |
543 EXPECT_EQ(0, text_bounds.x()); | 543 EXPECT_EQ(0, text_bounds.x()); |
544 EXPECT_EQ(0, text_bounds.y()); | 544 EXPECT_EQ(extra.height() / 2, text_bounds.y()); |
545 EXPECT_GT(text_bounds.width(), kMinTextDimension); | 545 EXPECT_GT(text_bounds.width(), kMinTextDimension); |
546 EXPECT_EQ(text_bounds.height(), label.height()); | 546 EXPECT_GT(text_bounds.height(), kMinTextDimension); |
547 expected_flags = gfx::Canvas::MULTI_LINE | | 547 expected_flags = gfx::Canvas::MULTI_LINE | |
548 gfx::Canvas::TEXT_ALIGN_LEFT | | 548 gfx::Canvas::TEXT_ALIGN_LEFT | |
549 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | 549 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; |
550 #if !defined(OS_WIN) | 550 #if !defined(OS_WIN) |
551 expected_flags |= gfx::Canvas::NO_ELLIPSIS; | 551 expected_flags |= gfx::Canvas::NO_ELLIPSIS; |
552 #endif | 552 #endif |
553 EXPECT_EQ(expected_flags, expected_flags); | 553 EXPECT_EQ(expected_flags, expected_flags); |
554 | 554 |
555 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); | 555 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); |
556 paint_text.clear(); | 556 paint_text.clear(); |
557 text_bounds.SetRect(0, 0, 0, 0); | 557 text_bounds.SetRect(0, 0, 0, 0); |
558 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 558 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
559 EXPECT_EQ(label.text(), paint_text); | 559 EXPECT_EQ(label.text(), paint_text); |
560 EXPECT_EQ(extra.width(), text_bounds.x()); | 560 EXPECT_EQ(extra.width(), text_bounds.x()); |
561 EXPECT_EQ(0, text_bounds.y()); | 561 EXPECT_EQ(extra.height() / 2, text_bounds.y()); |
562 EXPECT_GT(text_bounds.width(), kMinTextDimension); | 562 EXPECT_GT(text_bounds.width(), kMinTextDimension); |
563 EXPECT_EQ(text_bounds.height(), label.height()); | 563 EXPECT_GT(text_bounds.height(), kMinTextDimension); |
564 expected_flags = gfx::Canvas::MULTI_LINE | | 564 expected_flags = gfx::Canvas::MULTI_LINE | |
565 gfx::Canvas::TEXT_ALIGN_RIGHT | | 565 gfx::Canvas::TEXT_ALIGN_RIGHT | |
566 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | 566 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; |
567 #if !defined(OS_WIN) | 567 #if !defined(OS_WIN) |
568 expected_flags |= gfx::Canvas::NO_ELLIPSIS; | 568 expected_flags |= gfx::Canvas::NO_ELLIPSIS; |
569 #endif | 569 #endif |
570 EXPECT_EQ(expected_flags, expected_flags); | 570 EXPECT_EQ(expected_flags, expected_flags); |
571 | 571 |
572 // Test multiline drawing with a border. | 572 // Test multiline drawing with a border. |
573 gfx::Insets border(19, 92, 23, 2); | 573 gfx::Insets border(19, 92, 23, 2); |
574 label.SetBorder(Border::CreateEmptyBorder( | 574 label.SetBorder(Border::CreateEmptyBorder( |
575 border.top(), border.left(), border.bottom(), border.right())); | 575 border.top(), border.left(), border.bottom(), border.right())); |
576 label.SizeToFit(0); | 576 label.SizeToFit(0); |
577 label.SetBounds(label.x(), label.y(), | 577 label.SetBounds(label.x(), label.y(), |
578 label.width() + extra.width(), | 578 label.width() + extra.width(), |
579 label.height() + extra.height()); | 579 label.height() + extra.height()); |
580 | 580 |
581 label.SetHorizontalAlignment(gfx::ALIGN_CENTER); | 581 label.SetHorizontalAlignment(gfx::ALIGN_CENTER); |
582 paint_text.clear(); | 582 paint_text.clear(); |
583 text_bounds.SetRect(0, 0, 0, 0); | 583 text_bounds.SetRect(0, 0, 0, 0); |
584 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 584 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
585 EXPECT_EQ(label.text(), paint_text); | 585 EXPECT_EQ(label.text(), paint_text); |
586 EXPECT_EQ(border.left() + extra.width() / 2, text_bounds.x()); | 586 EXPECT_EQ(border.left() + extra.width() / 2, text_bounds.x()); |
587 EXPECT_EQ(border.top(), text_bounds.y()); | 587 EXPECT_EQ(border.top() + extra.height() / 2, text_bounds.y()); |
588 EXPECT_EQ(center_bounds.width(), text_bounds.width()); | 588 EXPECT_EQ(center_bounds.width(), text_bounds.width()); |
589 EXPECT_EQ(center_bounds.height(), text_bounds.height()); | 589 EXPECT_EQ(center_bounds.height(), text_bounds.height()); |
590 expected_flags = gfx::Canvas::MULTI_LINE | | 590 expected_flags = gfx::Canvas::MULTI_LINE | |
591 gfx::Canvas::TEXT_ALIGN_CENTER | | 591 gfx::Canvas::TEXT_ALIGN_CENTER | |
592 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | 592 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; |
593 #if !defined(OS_WIN) | 593 #if !defined(OS_WIN) |
594 expected_flags |= gfx::Canvas::NO_ELLIPSIS; | 594 expected_flags |= gfx::Canvas::NO_ELLIPSIS; |
595 #endif | 595 #endif |
596 EXPECT_EQ(expected_flags, expected_flags); | 596 EXPECT_EQ(expected_flags, expected_flags); |
597 | 597 |
598 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); | 598 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); |
599 paint_text.clear(); | 599 paint_text.clear(); |
600 text_bounds.SetRect(0, 0, 0, 0); | 600 text_bounds.SetRect(0, 0, 0, 0); |
601 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 601 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
602 EXPECT_EQ(label.text(), paint_text); | 602 EXPECT_EQ(label.text(), paint_text); |
603 EXPECT_EQ(border.left(), text_bounds.x()); | 603 EXPECT_EQ(border.left(), text_bounds.x()); |
604 EXPECT_EQ(border.top(), text_bounds.y()); | 604 EXPECT_EQ(border.top() + extra.height() / 2, text_bounds.y()); |
605 EXPECT_EQ(center_bounds.width(), text_bounds.width()); | 605 EXPECT_EQ(center_bounds.width(), text_bounds.width()); |
606 EXPECT_EQ(center_bounds.height(), text_bounds.height()); | 606 EXPECT_EQ(center_bounds.height(), text_bounds.height()); |
607 expected_flags = gfx::Canvas::MULTI_LINE | | 607 expected_flags = gfx::Canvas::MULTI_LINE | |
608 gfx::Canvas::TEXT_ALIGN_LEFT | | 608 gfx::Canvas::TEXT_ALIGN_LEFT | |
609 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | 609 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; |
610 #if !defined(OS_WIN) | 610 #if !defined(OS_WIN) |
611 expected_flags |= gfx::Canvas::NO_ELLIPSIS; | 611 expected_flags |= gfx::Canvas::NO_ELLIPSIS; |
612 #endif | 612 #endif |
613 EXPECT_EQ(expected_flags, expected_flags); | 613 EXPECT_EQ(expected_flags, expected_flags); |
614 | 614 |
615 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); | 615 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); |
616 paint_text.clear(); | 616 paint_text.clear(); |
617 text_bounds.SetRect(0, 0, 0, 0); | 617 text_bounds.SetRect(0, 0, 0, 0); |
618 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 618 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
619 EXPECT_EQ(label.text(), paint_text); | 619 EXPECT_EQ(label.text(), paint_text); |
620 EXPECT_EQ(extra.width() + border.left(), text_bounds.x()); | 620 EXPECT_EQ(extra.width() + border.left(), text_bounds.x()); |
621 EXPECT_EQ(border.top(), text_bounds.y()); | 621 EXPECT_EQ(border.top() + extra.height() / 2, text_bounds.y()); |
622 EXPECT_EQ(center_bounds.width(), text_bounds.width()); | 622 EXPECT_EQ(center_bounds.width(), text_bounds.width()); |
623 EXPECT_EQ(center_bounds.height(), text_bounds.height()); | 623 EXPECT_EQ(center_bounds.height(), text_bounds.height()); |
624 expected_flags = gfx::Canvas::MULTI_LINE | | 624 expected_flags = gfx::Canvas::MULTI_LINE | |
625 gfx::Canvas::TEXT_ALIGN_RIGHT | | 625 gfx::Canvas::TEXT_ALIGN_RIGHT | |
626 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | 626 gfx::Canvas::FORCE_LTR_DIRECTIONALITY; |
627 #if !defined(OS_WIN) | 627 #if !defined(OS_WIN) |
628 expected_flags |= gfx::Canvas::NO_ELLIPSIS; | 628 expected_flags |= gfx::Canvas::NO_ELLIPSIS; |
629 #endif | 629 #endif |
630 EXPECT_EQ(expected_flags, expected_flags); | 630 EXPECT_EQ(expected_flags, expected_flags); |
631 } | 631 } |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
778 label.width() + extra.width(), | 778 label.width() + extra.width(), |
779 label.height() + extra.height()); | 779 label.height() + extra.height()); |
780 | 780 |
781 // Do some basic verifications for all three alignments. | 781 // Do some basic verifications for all three alignments. |
782 base::string16 paint_text; | 782 base::string16 paint_text; |
783 gfx::Rect text_bounds; | 783 gfx::Rect text_bounds; |
784 int flags = -1; | 784 int flags = -1; |
785 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 785 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
786 EXPECT_EQ(label.text(), paint_text); | 786 EXPECT_EQ(label.text(), paint_text); |
787 EXPECT_EQ(extra.width() / 2, text_bounds.x()); | 787 EXPECT_EQ(extra.width() / 2, text_bounds.x()); |
788 EXPECT_EQ(0, text_bounds.y()); | 788 EXPECT_EQ(extra.height() / 2, text_bounds.y()); |
789 EXPECT_GT(text_bounds.width(), kMinTextDimension); | 789 EXPECT_GT(text_bounds.width(), kMinTextDimension); |
790 EXPECT_EQ(text_bounds.height(), label.height()); | 790 EXPECT_GT(text_bounds.height(), kMinTextDimension); |
791 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); | 791 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); |
792 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_CENTER & flags); | 792 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_CENTER & flags); |
793 #if !defined(OS_WIN) | 793 #if !defined(OS_WIN) |
794 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); | 794 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); |
795 #endif | 795 #endif |
796 gfx::Rect center_bounds(text_bounds); | 796 gfx::Rect center_bounds(text_bounds); |
797 | 797 |
798 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); | 798 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); |
799 paint_text.clear(); | 799 paint_text.clear(); |
800 text_bounds.SetRect(0, 0, 0, 0); | 800 text_bounds.SetRect(0, 0, 0, 0); |
801 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 801 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
802 EXPECT_EQ(label.text(), paint_text); | 802 EXPECT_EQ(label.text(), paint_text); |
803 EXPECT_EQ(extra.width(), text_bounds.x()); | 803 EXPECT_EQ(extra.width(), text_bounds.x()); |
804 EXPECT_EQ(0, text_bounds.y()); | 804 EXPECT_EQ(extra.height() / 2, text_bounds.y()); |
805 EXPECT_GT(text_bounds.width(), kMinTextDimension); | 805 EXPECT_GT(text_bounds.width(), kMinTextDimension); |
806 EXPECT_EQ(text_bounds.height(), label.height()); | 806 EXPECT_GT(text_bounds.height(), kMinTextDimension); |
807 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); | 807 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); |
808 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_RIGHT & flags); | 808 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_RIGHT & flags); |
809 #if !defined(OS_WIN) | 809 #if !defined(OS_WIN) |
810 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); | 810 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); |
811 #endif | 811 #endif |
812 | 812 |
813 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); | 813 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); |
814 paint_text.clear(); | 814 paint_text.clear(); |
815 text_bounds.SetRect(0, 0, 0, 0); | 815 text_bounds.SetRect(0, 0, 0, 0); |
816 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 816 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
817 EXPECT_EQ(label.text(), paint_text); | 817 EXPECT_EQ(label.text(), paint_text); |
818 EXPECT_EQ(0, text_bounds.x()); | 818 EXPECT_EQ(0, text_bounds.x()); |
819 EXPECT_EQ(0, text_bounds.y()); | 819 EXPECT_EQ(extra.height() / 2, text_bounds.y()); |
820 EXPECT_GT(text_bounds.width(), kMinTextDimension); | 820 EXPECT_GT(text_bounds.width(), kMinTextDimension); |
821 EXPECT_EQ(text_bounds.height(), label.height()); | 821 EXPECT_GT(text_bounds.height(), kMinTextDimension); |
822 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); | 822 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); |
823 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_LEFT & flags); | 823 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_LEFT & flags); |
824 #if !defined(OS_WIN) | 824 #if !defined(OS_WIN) |
825 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); | 825 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); |
826 #endif | 826 #endif |
827 | 827 |
828 // Test multiline drawing with a border. | 828 // Test multiline drawing with a border. |
829 gfx::Insets border(19, 92, 23, 2); | 829 gfx::Insets border(19, 92, 23, 2); |
830 label.SetBorder(Border::CreateEmptyBorder( | 830 label.SetBorder(Border::CreateEmptyBorder( |
831 border.top(), border.left(), border.bottom(), border.right())); | 831 border.top(), border.left(), border.bottom(), border.right())); |
832 label.SizeToFit(0); | 832 label.SizeToFit(0); |
833 label.SetBounds(label.x(), label.y(), | 833 label.SetBounds(label.x(), label.y(), |
834 label.width() + extra.width(), | 834 label.width() + extra.width(), |
835 label.height() + extra.height()); | 835 label.height() + extra.height()); |
836 | 836 |
837 label.SetHorizontalAlignment(gfx::ALIGN_CENTER); | 837 label.SetHorizontalAlignment(gfx::ALIGN_CENTER); |
838 paint_text.clear(); | 838 paint_text.clear(); |
839 text_bounds.SetRect(0, 0, 0, 0); | 839 text_bounds.SetRect(0, 0, 0, 0); |
840 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 840 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
841 EXPECT_EQ(label.text(), paint_text); | 841 EXPECT_EQ(label.text(), paint_text); |
842 EXPECT_EQ(border.left() + extra.width() / 2, text_bounds.x()); | 842 EXPECT_EQ(border.left() + extra.width() / 2, text_bounds.x()); |
843 EXPECT_EQ(border.top(), text_bounds.y()); | 843 EXPECT_EQ(border.top() + extra.height() / 2, text_bounds.y()); |
844 EXPECT_EQ(center_bounds.width(), text_bounds.width()); | 844 EXPECT_EQ(center_bounds.width(), text_bounds.width()); |
845 EXPECT_EQ(label.GetContentsBounds().height(), text_bounds.height()); | 845 EXPECT_EQ(center_bounds.height(), text_bounds.height()); |
846 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); | 846 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); |
847 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_CENTER & flags); | 847 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_CENTER & flags); |
848 #if !defined(OS_WIN) | 848 #if !defined(OS_WIN) |
849 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); | 849 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); |
850 #endif | 850 #endif |
851 | 851 |
852 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); | 852 label.SetHorizontalAlignment(gfx::ALIGN_LEFT); |
853 paint_text.clear(); | 853 paint_text.clear(); |
854 text_bounds.SetRect(0, 0, 0, 0); | 854 text_bounds.SetRect(0, 0, 0, 0); |
855 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 855 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
856 EXPECT_EQ(label.text(), paint_text); | 856 EXPECT_EQ(label.text(), paint_text); |
857 EXPECT_EQ(border.left() + extra.width(), text_bounds.x()); | 857 EXPECT_EQ(border.left() + extra.width(), text_bounds.x()); |
858 EXPECT_EQ(border.top(), text_bounds.y()); | 858 EXPECT_EQ(border.top() + extra.height() / 2, text_bounds.y()); |
859 EXPECT_EQ(center_bounds.width(), text_bounds.width()); | 859 EXPECT_EQ(center_bounds.width(), text_bounds.width()); |
860 EXPECT_EQ(label.GetContentsBounds().height(), text_bounds.height()); | 860 EXPECT_EQ(center_bounds.height(), text_bounds.height()); |
861 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); | 861 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); |
862 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_RIGHT & flags); | 862 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_RIGHT & flags); |
863 #if !defined(OS_WIN) | 863 #if !defined(OS_WIN) |
864 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); | 864 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); |
865 #endif | 865 #endif |
866 | 866 |
867 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); | 867 label.SetHorizontalAlignment(gfx::ALIGN_RIGHT); |
868 paint_text.clear(); | 868 paint_text.clear(); |
869 text_bounds.SetRect(0, 0, 0, 0); | 869 text_bounds.SetRect(0, 0, 0, 0); |
870 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); | 870 label.CalculateDrawStringParams(&paint_text, &text_bounds, &flags); |
871 EXPECT_EQ(label.text(), paint_text); | 871 EXPECT_EQ(label.text(), paint_text); |
872 EXPECT_EQ(border.left(), text_bounds.x()); | 872 EXPECT_EQ(border.left(), text_bounds.x()); |
873 EXPECT_EQ(border.top(), text_bounds.y()); | 873 EXPECT_EQ(border.top() + extra.height() / 2, text_bounds.y()); |
874 EXPECT_EQ(center_bounds.width(), text_bounds.width()); | 874 EXPECT_EQ(center_bounds.width(), text_bounds.width()); |
875 EXPECT_EQ(label.GetContentsBounds().height(), text_bounds.height()); | 875 EXPECT_EQ(center_bounds.height(), text_bounds.height()); |
876 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); | 876 EXPECT_TRUE(gfx::Canvas::MULTI_LINE & flags); |
877 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_LEFT & flags); | 877 EXPECT_TRUE(gfx::Canvas::TEXT_ALIGN_LEFT & flags); |
878 #if !defined(OS_WIN) | 878 #if !defined(OS_WIN) |
879 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); | 879 EXPECT_TRUE(gfx::Canvas::NO_ELLIPSIS & flags); |
880 #endif | 880 #endif |
881 | 881 |
882 // Reset Locale | 882 // Reset Locale |
883 base::i18n::SetICUDefaultLocale(locale); | 883 base::i18n::SetICUDefaultLocale(locale); |
884 } | 884 } |
885 | 885 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
950 EXPECT_FALSE(label.GetTooltipHandlerForPoint(gfx::Point(-1, 20))); | 950 EXPECT_FALSE(label.GetTooltipHandlerForPoint(gfx::Point(-1, 20))); |
951 label.SetHandlesTooltips(true); | 951 label.SetHandlesTooltips(true); |
952 | 952 |
953 // GetTooltipHandlerForPoint works should work in child bounds. | 953 // GetTooltipHandlerForPoint works should work in child bounds. |
954 label.SetBounds(2, 2, 10, 10); | 954 label.SetBounds(2, 2, 10, 10); |
955 EXPECT_EQ(&label, label.GetTooltipHandlerForPoint(gfx::Point(1, 5))); | 955 EXPECT_EQ(&label, label.GetTooltipHandlerForPoint(gfx::Point(1, 5))); |
956 EXPECT_FALSE(label.GetTooltipHandlerForPoint(gfx::Point(3, 11))); | 956 EXPECT_FALSE(label.GetTooltipHandlerForPoint(gfx::Point(3, 11))); |
957 } | 957 } |
958 | 958 |
959 } // namespace views | 959 } // namespace views |
OLD | NEW |