Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "ui/views/animation/ink_drop_delegate.h" | |
| 6 | |
| 7 #include "ui/views/animation/ink_drop_host.h" | |
| 8 #include "ui/views/controls/button/custom_button.h" | |
| 9 #include "ui/views/test/views_test_base.h" | |
| 10 | |
| 11 namespace views { | |
| 12 | |
| 13 namespace { | |
| 14 | |
| 15 // An InkDropDelegate that handles animations for toolbar buttons. | |
|
bruthig
2015/12/03 04:11:35
Incorrect documentation. i.e. copy/pasted
varkha
2015/12/03 19:20:43
Done.
| |
| 16 class TestInkDropDelegate : public InkDropDelegate { | |
| 17 public: | |
| 18 TestInkDropDelegate(InkDropHost* ink_drop_host, | |
| 19 bool* button_deleted, | |
| 20 bool* delegate_deleted) | |
| 21 : ink_drop_host_(ink_drop_host), | |
| 22 button_deleted_(button_deleted), | |
| 23 delegate_deleted_(delegate_deleted) { | |
| 24 ink_drop_host_->AddInkDropLayer(nullptr); | |
| 25 } | |
| 26 ~TestInkDropDelegate() override { | |
| 27 EXPECT_FALSE(*button_deleted_); | |
|
bruthig
2015/12/03 04:11:35
This should probably be an ASSERT_FALSE instead of
varkha
2015/12/03 19:20:43
Not sure, I wanted to allow the test to continue s
| |
| 28 ink_drop_host_->RemoveInkDropLayer(nullptr); | |
| 29 *delegate_deleted_ = true; | |
| 30 } | |
| 31 | |
| 32 // InkDropDelegate: | |
| 33 void SetInkDropSize(int large_size, | |
| 34 int large_corner_radius, | |
| 35 int small_size, | |
| 36 int small_corner_radius) override {} | |
| 37 void OnLayout() override {} | |
| 38 void OnAction(InkDropState state) override {} | |
| 39 | |
| 40 private: | |
| 41 InkDropHost* ink_drop_host_; | |
| 42 bool* button_deleted_; | |
| 43 bool* delegate_deleted_; | |
| 44 | |
| 45 DISALLOW_COPY_AND_ASSIGN(TestInkDropDelegate); | |
| 46 }; | |
| 47 | |
| 48 // Test Button class that owns a TestInkDropDelegate. | |
| 49 class TestButton : public views::CustomButton, public views::InkDropHost { | |
| 50 public: | |
| 51 TestButton(bool* layer_added, | |
| 52 bool* layer_removed, | |
| 53 bool* button_deleted, | |
| 54 bool* delegate_deleted) | |
| 55 : CustomButton(nullptr), | |
| 56 layer_added_(layer_added), | |
| 57 layer_removed_(layer_removed), | |
| 58 button_deleted_(button_deleted) { | |
| 59 scoped_ptr<views::InkDropDelegate> new_ink_drop_delegate( | |
| 60 new views::TestInkDropDelegate(this, button_deleted, delegate_deleted)); | |
| 61 SetInkDropDelegate(new_ink_drop_delegate.Pass()); | |
| 62 EXPECT_TRUE(*layer_added_); | |
|
bruthig
2015/12/03 04:11:35
ASSERT instead of EXPECT
varkha
2015/12/03 19:20:43
Acknowledged.
| |
| 63 } | |
| 64 ~TestButton() override { | |
| 65 SetInkDropDelegate(scoped_ptr<views::InkDropDelegate>()); | |
| 66 EXPECT_TRUE(*layer_removed_); | |
|
bruthig
2015/12/03 04:11:35
ASSERT instead of EXPECT
varkha
2015/12/03 19:20:43
Acknowledged.
| |
| 67 *button_deleted_ = true; | |
| 68 } | |
| 69 | |
| 70 // views::InkDropHost: | |
| 71 void AddInkDropLayer(ui::Layer* ink_drop_layer) override { | |
| 72 *layer_added_ = true; | |
| 73 } | |
| 74 void RemoveInkDropLayer(ui::Layer* ink_drop_layer) override { | |
| 75 *layer_removed_ = true; | |
| 76 } | |
| 77 gfx::Point CalculateInkDropCenter() const override { return gfx::Point(); } | |
| 78 | |
| 79 private: | |
| 80 bool* layer_added_; | |
| 81 bool* layer_removed_; | |
| 82 bool* button_deleted_; | |
| 83 | |
| 84 DISALLOW_COPY_AND_ASSIGN(TestButton); | |
| 85 }; | |
| 86 | |
| 87 } // namespace | |
| 88 | |
| 89 TEST(InkDropDelegateTest, CanBeDeleted) { | |
| 90 bool layer_added = false; | |
| 91 bool layer_removed = false; | |
| 92 bool button_deleted = false; | |
| 93 bool delegate_deleted = false; | |
| 94 | |
| 95 TestButton* button = new TestButton(&layer_added, &layer_removed, | |
| 96 &button_deleted, &delegate_deleted); | |
| 97 EXPECT_TRUE(layer_added); | |
| 98 EXPECT_FALSE(layer_removed); | |
| 99 EXPECT_FALSE(button_deleted); | |
| 100 EXPECT_FALSE(delegate_deleted); | |
| 101 | |
| 102 delete button; | |
| 103 EXPECT_TRUE(layer_added); | |
| 104 EXPECT_TRUE(layer_removed); | |
| 105 EXPECT_TRUE(button_deleted); | |
| 106 EXPECT_TRUE(delegate_deleted); | |
| 107 } | |
| 108 | |
| 109 } // namespace views | |
| OLD | NEW |