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

Side by Side Diff: ui/views/controls/label_unittest.cc

Issue 712003005: Support vertical centering of multi-line labels. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update multi-line label unittests. Created 6 years, 1 month 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
« no previous file with comments | « ui/views/controls/label.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « ui/views/controls/label.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698