OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 #include "views/box_layout.h" | 6 #include "views/box_layout.h" |
7 #include "views/view.h" | 7 #include "views/view.h" |
8 | 8 |
9 class StaticSizedView : public views::View { | 9 class StaticSizedView : public views::View { |
10 public: | 10 public: |
(...skipping 12 matching lines...) Expand all Loading... |
23 public: | 23 public: |
24 virtual void SetUp() { | 24 virtual void SetUp() { |
25 host_.reset(new views::View); | 25 host_.reset(new views::View); |
26 } | 26 } |
27 | 27 |
28 scoped_ptr<views::View> host_; | 28 scoped_ptr<views::View> host_; |
29 scoped_ptr<views::BoxLayout> layout_; | 29 scoped_ptr<views::BoxLayout> layout_; |
30 }; | 30 }; |
31 | 31 |
32 TEST_F(BoxLayoutTest, Empty) { | 32 TEST_F(BoxLayoutTest, Empty) { |
33 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 10, 20)); | 33 layout_.reset( |
| 34 new views::BoxLayout(views::BoxLayout::kHorizontal, 10, 10, 20)); |
34 EXPECT_EQ(gfx::Size(20, 20), layout_->GetPreferredSize(host_.get())); | 35 EXPECT_EQ(gfx::Size(20, 20), layout_->GetPreferredSize(host_.get())); |
35 } | 36 } |
36 | 37 |
37 TEST_F(BoxLayoutTest, AlignmentHorizontal) { | 38 TEST_F(BoxLayoutTest, AlignmentHorizontal) { |
38 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0)); | 39 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 0)); |
39 views::View* v1 = new StaticSizedView(gfx::Size(10, 20)); | 40 views::View* v1 = new StaticSizedView(gfx::Size(10, 20)); |
40 host_->AddChildView(v1); | 41 host_->AddChildView(v1); |
41 views::View* v2 = new StaticSizedView(gfx::Size(10, 10)); | 42 views::View* v2 = new StaticSizedView(gfx::Size(10, 10)); |
42 host_->AddChildView(v2); | 43 host_->AddChildView(v2); |
43 EXPECT_EQ(gfx::Size(20, 20), layout_->GetPreferredSize(host_.get())); | 44 EXPECT_EQ(gfx::Size(20, 20), layout_->GetPreferredSize(host_.get())); |
44 host_->SetBounds(0, 0, 20, 20); | 45 host_->SetBounds(0, 0, 20, 20); |
45 layout_->Layout(host_.get()); | 46 layout_->Layout(host_.get()); |
46 EXPECT_EQ(gfx::Rect(0, 0, 10, 20), v1->bounds()); | 47 EXPECT_EQ(gfx::Rect(0, 0, 10, 20), v1->bounds()); |
47 EXPECT_EQ(gfx::Rect(10, 0, 10, 20), v2->bounds()); | 48 EXPECT_EQ(gfx::Rect(10, 0, 10, 20), v2->bounds()); |
48 } | 49 } |
49 | 50 |
50 TEST_F(BoxLayoutTest, AlignmentVertical) { | 51 TEST_F(BoxLayoutTest, AlignmentVertical) { |
51 layout_.reset(new views::BoxLayout(views::BoxLayout::kVertical, 0, 0)); | 52 layout_.reset(new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0)); |
52 views::View* v1 = new StaticSizedView(gfx::Size(20, 10)); | 53 views::View* v1 = new StaticSizedView(gfx::Size(20, 10)); |
53 host_->AddChildView(v1); | 54 host_->AddChildView(v1); |
54 views::View* v2 = new StaticSizedView(gfx::Size(10, 10)); | 55 views::View* v2 = new StaticSizedView(gfx::Size(10, 10)); |
55 host_->AddChildView(v2); | 56 host_->AddChildView(v2); |
56 EXPECT_EQ(gfx::Size(20, 20), layout_->GetPreferredSize(host_.get())); | 57 EXPECT_EQ(gfx::Size(20, 20), layout_->GetPreferredSize(host_.get())); |
57 host_->SetBounds(0, 0, 20, 20); | 58 host_->SetBounds(0, 0, 20, 20); |
58 layout_->Layout(host_.get()); | 59 layout_->Layout(host_.get()); |
59 EXPECT_EQ(gfx::Rect(0, 0, 20, 10), v1->bounds()); | 60 EXPECT_EQ(gfx::Rect(0, 0, 20, 10), v1->bounds()); |
60 EXPECT_EQ(gfx::Rect(0, 10, 20, 10), v2->bounds()); | 61 EXPECT_EQ(gfx::Rect(0, 10, 20, 10), v2->bounds()); |
61 } | 62 } |
62 | 63 |
63 TEST_F(BoxLayoutTest, Spacing) { | 64 TEST_F(BoxLayoutTest, Spacing) { |
64 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 7, 8)); | 65 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 7, 7, 8)); |
65 views::View* v1 = new StaticSizedView(gfx::Size(10, 20)); | 66 views::View* v1 = new StaticSizedView(gfx::Size(10, 20)); |
66 host_->AddChildView(v1); | 67 host_->AddChildView(v1); |
67 views::View* v2 = new StaticSizedView(gfx::Size(10, 20)); | 68 views::View* v2 = new StaticSizedView(gfx::Size(10, 20)); |
68 host_->AddChildView(v2); | 69 host_->AddChildView(v2); |
69 EXPECT_EQ(gfx::Size(42, 34), layout_->GetPreferredSize(host_.get())); | 70 EXPECT_EQ(gfx::Size(42, 34), layout_->GetPreferredSize(host_.get())); |
70 host_->SetBounds(0, 0, 100, 100); | 71 host_->SetBounds(0, 0, 100, 100); |
71 layout_->Layout(host_.get()); | 72 layout_->Layout(host_.get()); |
72 EXPECT_EQ(gfx::Rect(7, 7, 10, 86), v1->bounds()); | 73 EXPECT_EQ(gfx::Rect(7, 7, 10, 86), v1->bounds()); |
73 EXPECT_EQ(gfx::Rect(25, 7, 10, 86), v2->bounds()); | 74 EXPECT_EQ(gfx::Rect(25, 7, 10, 86), v2->bounds()); |
74 } | 75 } |
75 | 76 |
76 TEST_F(BoxLayoutTest, Overflow) { | 77 TEST_F(BoxLayoutTest, Overflow) { |
77 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0)); | 78 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 0)); |
78 views::View* v1 = new StaticSizedView(gfx::Size(20, 20)); | 79 views::View* v1 = new StaticSizedView(gfx::Size(20, 20)); |
79 host_->AddChildView(v1); | 80 host_->AddChildView(v1); |
80 views::View* v2 = new StaticSizedView(gfx::Size(10, 20)); | 81 views::View* v2 = new StaticSizedView(gfx::Size(10, 20)); |
81 host_->AddChildView(v2); | 82 host_->AddChildView(v2); |
82 host_->SetBounds(0, 0, 10, 10); | 83 host_->SetBounds(0, 0, 10, 10); |
83 layout_->Layout(host_.get()); | 84 layout_->Layout(host_.get()); |
84 EXPECT_EQ(gfx::Rect(0, 0, 10, 10), v1->bounds()); | 85 EXPECT_EQ(gfx::Rect(0, 0, 10, 10), v1->bounds()); |
85 EXPECT_EQ(gfx::Rect(0, 0, 0, 0), v2->bounds()); | 86 EXPECT_EQ(gfx::Rect(0, 0, 0, 0), v2->bounds()); |
86 } | 87 } |
87 | 88 |
88 TEST_F(BoxLayoutTest, NoSpace) { | 89 TEST_F(BoxLayoutTest, NoSpace) { |
89 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 10, 10)); | 90 layout_.reset( |
| 91 new views::BoxLayout(views::BoxLayout::kHorizontal, 10, 10, 10)); |
90 views::View* childView = new StaticSizedView(gfx::Size(20, 20)); | 92 views::View* childView = new StaticSizedView(gfx::Size(20, 20)); |
91 host_->AddChildView(childView); | 93 host_->AddChildView(childView); |
92 host_->SetBounds(0, 0, 10, 10); | 94 host_->SetBounds(0, 0, 10, 10); |
93 layout_->Layout(host_.get()); | 95 layout_->Layout(host_.get()); |
94 EXPECT_EQ(gfx::Rect(0, 0, 0, 0), childView->bounds()); | 96 EXPECT_EQ(gfx::Rect(0, 0, 0, 0), childView->bounds()); |
95 } | 97 } |
96 | 98 |
97 TEST_F(BoxLayoutTest, InvisibleChild) { | 99 TEST_F(BoxLayoutTest, InvisibleChild) { |
98 layout_.reset(new views::BoxLayout(views::BoxLayout::kHorizontal, 10, 10)); | 100 layout_.reset( |
| 101 new views::BoxLayout(views::BoxLayout::kHorizontal, 10, 10, 10)); |
99 views::View* v1 = new StaticSizedView(gfx::Size(20, 20)); | 102 views::View* v1 = new StaticSizedView(gfx::Size(20, 20)); |
100 v1->SetVisible(false); | 103 v1->SetVisible(false); |
101 host_->AddChildView(v1); | 104 host_->AddChildView(v1); |
102 views::View* v2 = new StaticSizedView(gfx::Size(10, 10)); | 105 views::View* v2 = new StaticSizedView(gfx::Size(10, 10)); |
103 host_->AddChildView(v2); | 106 host_->AddChildView(v2); |
104 EXPECT_EQ(gfx::Size(30, 30), layout_->GetPreferredSize(host_.get())); | 107 EXPECT_EQ(gfx::Size(30, 30), layout_->GetPreferredSize(host_.get())); |
105 host_->SetBounds(0, 0, 30, 30); | 108 host_->SetBounds(0, 0, 30, 30); |
106 layout_->Layout(host_.get()); | 109 layout_->Layout(host_.get()); |
107 EXPECT_EQ(gfx::Rect(10, 10, 10, 10), v2->bounds()); | 110 EXPECT_EQ(gfx::Rect(10, 10, 10, 10), v2->bounds()); |
108 } | 111 } |
OLD | NEW |