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

Side by Side Diff: ui/views/view_unittest.cc

Issue 2745163003: Improve doc of ViewObserver and clarify arguments (Closed)
Patch Set: merge Created 3 years, 9 months 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/view_observer.h ('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/view.h" 5 #include "ui/views/view.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 4849 matching lines...) Expand 10 before | Expand all | Expand 10 after
4860 4860
4861 //////////////////////////////////////////////////////////////////////////////// 4861 ////////////////////////////////////////////////////////////////////////////////
4862 // Observer tests. 4862 // Observer tests.
4863 //////////////////////////////////////////////////////////////////////////////// 4863 ////////////////////////////////////////////////////////////////////////////////
4864 4864
4865 class ViewObserverTest : public ViewTest, public ViewObserver { 4865 class ViewObserverTest : public ViewTest, public ViewObserver {
4866 public: 4866 public:
4867 ViewObserverTest() 4867 ViewObserverTest()
4868 : child_view_added_times_(0), 4868 : child_view_added_times_(0),
4869 child_view_removed_times_(0), 4869 child_view_removed_times_(0),
4870 child_view_added_parent_(nullptr),
4870 child_view_added_(nullptr), 4871 child_view_added_(nullptr),
4871 child_view_removed_(nullptr), 4872 child_view_removed_(nullptr),
4872 child_view_removed_parent_(nullptr), 4873 child_view_removed_parent_(nullptr),
4873 view_visibility_changed_(nullptr), 4874 view_visibility_changed_(nullptr),
4874 view_enabled_changed_(nullptr), 4875 view_enabled_changed_(nullptr),
4875 view_bounds_changed_(nullptr), 4876 view_bounds_changed_(nullptr),
4876 view_reordered_(nullptr) {} 4877 view_reordered_(nullptr) {}
4877 4878
4878 ~ViewObserverTest() override {} 4879 ~ViewObserverTest() override {}
4879 4880
4880 // ViewObserver: 4881 // ViewObserver:
4881 void OnChildViewAdded(View* child) override { 4882 void OnChildViewAdded(View* parent, View* child) override {
4882 child_view_added_times_++; 4883 child_view_added_times_++;
4883 child_view_added_ = child; 4884 child_view_added_ = child;
4885 child_view_added_parent_ = parent;
4884 } 4886 }
4885 void OnChildViewRemoved(View* child, View* parent) override { 4887 void OnChildViewRemoved(View* parent, View* child) override {
4886 child_view_removed_times_++; 4888 child_view_removed_times_++;
4887 child_view_removed_ = child; 4889 child_view_removed_ = child;
4888 child_view_removed_parent_ = parent; 4890 child_view_removed_parent_ = parent;
4889 } 4891 }
4890 4892
4891 void OnViewVisibilityChanged(View* view) override { 4893 void OnViewVisibilityChanged(View* view) override {
4892 view_visibility_changed_ = view; 4894 view_visibility_changed_ = view;
4893 } 4895 }
4894 4896
4895 void OnViewEnabledChanged(View* view) override { 4897 void OnViewEnabledChanged(View* view) override {
4896 view_enabled_changed_ = view; 4898 view_enabled_changed_ = view;
4897 } 4899 }
4898 4900
4899 void OnViewBoundsChanged(View* view) override { view_bounds_changed_ = view; } 4901 void OnViewBoundsChanged(View* view) override { view_bounds_changed_ = view; }
4900 4902
4901 void OnChildViewReordered(View* view) override { view_reordered_ = view; } 4903 void OnChildViewReordered(View* parent, View* view) override {
4904 view_reordered_ = view;
4905 }
4902 4906
4903 void reset() { 4907 void reset() {
4904 child_view_added_times_ = 0; 4908 child_view_added_times_ = 0;
4905 child_view_removed_times_ = 0; 4909 child_view_removed_times_ = 0;
4906 child_view_added_ = nullptr; 4910 child_view_added_ = nullptr;
4911 child_view_added_parent_ = nullptr;
4907 child_view_removed_ = nullptr; 4912 child_view_removed_ = nullptr;
4908 child_view_removed_parent_ = nullptr; 4913 child_view_removed_parent_ = nullptr;
4909 view_visibility_changed_ = nullptr; 4914 view_visibility_changed_ = nullptr;
4910 view_enabled_changed_ = nullptr; 4915 view_enabled_changed_ = nullptr;
4911 view_bounds_changed_ = nullptr; 4916 view_bounds_changed_ = nullptr;
4912 view_reordered_ = nullptr; 4917 view_reordered_ = nullptr;
4913 } 4918 }
4914 4919
4915 std::unique_ptr<View> NewView() { 4920 std::unique_ptr<View> NewView() {
4916 auto view = base::MakeUnique<View>(); 4921 auto view = base::MakeUnique<View>();
4917 view->AddObserver(this); 4922 view->AddObserver(this);
4918 return view; 4923 return view;
4919 } 4924 }
4920 4925
4921 int child_view_added_times() { return child_view_added_times_; } 4926 int child_view_added_times() { return child_view_added_times_; }
4922 int child_view_removed_times() { return child_view_removed_times_; } 4927 int child_view_removed_times() { return child_view_removed_times_; }
4923 const View* child_view_added() const { return child_view_added_; } 4928 const View* child_view_added() const { return child_view_added_; }
4929 const View* child_view_added_parent() const {
4930 return child_view_added_parent_;
4931 }
4924 const View* child_view_removed() const { return child_view_removed_; } 4932 const View* child_view_removed() const { return child_view_removed_; }
4925 const View* child_view_removed_parent() const { 4933 const View* child_view_removed_parent() const {
4926 return child_view_removed_parent_; 4934 return child_view_removed_parent_;
4927 } 4935 }
4928 const View* view_visibility_changed() const { 4936 const View* view_visibility_changed() const {
4929 return view_visibility_changed_; 4937 return view_visibility_changed_;
4930 } 4938 }
4931 const View* view_enabled_changed() const { return view_enabled_changed_; } 4939 const View* view_enabled_changed() const { return view_enabled_changed_; }
4932 const View* view_bounds_changed() const { return view_bounds_changed_; } 4940 const View* view_bounds_changed() const { return view_bounds_changed_; }
4933 const View* view_reordered() const { return view_reordered_; } 4941 const View* view_reordered() const { return view_reordered_; }
4934 4942
4935 private: 4943 private:
4936 int child_view_added_times_; 4944 int child_view_added_times_;
4937 int child_view_removed_times_; 4945 int child_view_removed_times_;
4938 4946
4947 View* child_view_added_parent_;
4939 View* child_view_added_; 4948 View* child_view_added_;
4940 View* child_view_removed_; 4949 View* child_view_removed_;
4941 View* child_view_removed_parent_; 4950 View* child_view_removed_parent_;
4942 View* view_visibility_changed_; 4951 View* view_visibility_changed_;
4943 View* view_enabled_changed_; 4952 View* view_enabled_changed_;
4944 View* view_bounds_changed_; 4953 View* view_bounds_changed_;
4945 View* view_reordered_; 4954 View* view_reordered_;
4946 4955
4947 DISALLOW_COPY_AND_ASSIGN(ViewObserverTest); 4956 DISALLOW_COPY_AND_ASSIGN(ViewObserverTest);
4948 }; 4957 };
4949 4958
4950 TEST_F(ViewObserverTest, ViewParentChanged) { 4959 TEST_F(ViewObserverTest, ViewParentChanged) {
4951 std::unique_ptr<View> parent1 = NewView(); 4960 std::unique_ptr<View> parent1 = NewView();
4952 std::unique_ptr<View> parent2 = NewView(); 4961 std::unique_ptr<View> parent2 = NewView();
4953 std::unique_ptr<View> child_view = NewView(); 4962 std::unique_ptr<View> child_view = NewView();
4954 4963
4955 parent1->AddChildView(child_view.get()); 4964 parent1->AddChildView(child_view.get());
4956 EXPECT_EQ(0, child_view_removed_times()); 4965 EXPECT_EQ(0, child_view_removed_times());
4957 EXPECT_EQ(1, child_view_added_times()); 4966 EXPECT_EQ(1, child_view_added_times());
4958 EXPECT_EQ(child_view.get(), child_view_added()); 4967 EXPECT_EQ(child_view.get(), child_view_added());
4959 EXPECT_EQ(child_view.get()->parent(), parent1.get()); 4968 EXPECT_EQ(child_view->parent(), child_view_added_parent());
4969 EXPECT_EQ(child_view->parent(), parent1.get());
4960 reset(); 4970 reset();
4961 4971
4962 // Removed from parent1, added to parent2 4972 // Removed from parent1, added to parent2
4963 parent2->AddChildView(child_view.get()); 4973 parent2->AddChildView(child_view.get());
4964 EXPECT_EQ(1, child_view_removed_times()); 4974 EXPECT_EQ(1, child_view_removed_times());
4965 EXPECT_EQ(1, child_view_added_times()); 4975 EXPECT_EQ(1, child_view_added_times());
4966 EXPECT_EQ(child_view.get(), child_view_removed()); 4976 EXPECT_EQ(child_view.get(), child_view_removed());
4967 EXPECT_EQ(parent1.get(), child_view_removed_parent()); 4977 EXPECT_EQ(parent1.get(), child_view_removed_parent());
4968 EXPECT_EQ(child_view.get(), child_view_added()); 4978 EXPECT_EQ(child_view.get(), child_view_added());
4969 EXPECT_EQ(child_view.get()->parent(), parent2.get()); 4979 EXPECT_EQ(child_view->parent(), parent2.get());
4970 4980
4971 reset(); 4981 reset();
4972 4982
4973 parent2->RemoveChildView(child_view.get()); 4983 parent2->RemoveChildView(child_view.get());
4974 EXPECT_EQ(1, child_view_removed_times()); 4984 EXPECT_EQ(1, child_view_removed_times());
4975 EXPECT_EQ(0, child_view_added_times()); 4985 EXPECT_EQ(0, child_view_added_times());
4976 EXPECT_EQ(child_view.get(), child_view_removed()); 4986 EXPECT_EQ(child_view.get(), child_view_removed());
4977 EXPECT_EQ(parent2.get(), child_view_removed_parent()); 4987 EXPECT_EQ(parent2.get(), child_view_removed_parent());
4978 } 4988 }
4979 4989
(...skipping 30 matching lines...) Expand all
5010 std::unique_ptr<View> view = NewView(); 5020 std::unique_ptr<View> view = NewView();
5011 std::unique_ptr<View> child_view = NewView(); 5021 std::unique_ptr<View> child_view = NewView();
5012 std::unique_ptr<View> child_view2 = NewView(); 5022 std::unique_ptr<View> child_view2 = NewView();
5013 view->AddChildView(child_view.get()); 5023 view->AddChildView(child_view.get());
5014 view->AddChildView(child_view2.get()); 5024 view->AddChildView(child_view2.get());
5015 view->ReorderChildView(child_view2.get(), 0); 5025 view->ReorderChildView(child_view2.get(), 0);
5016 EXPECT_EQ(child_view2.get(), view_reordered()); 5026 EXPECT_EQ(child_view2.get(), view_reordered());
5017 } 5027 }
5018 5028
5019 } // namespace views 5029 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/view_observer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698