view_tracker_unittest.cc 815 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2017 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. #include "ui/views/view_tracker.h"
  5. #include <memory>
  6. #include "ui/views/test/views_test_base.h"
  7. #include "ui/views/view.h"
  8. namespace views {
  9. using ViewTrackerTest = ViewsTestBase;
  10. TEST_F(ViewTrackerTest, RemovedOnDelete) {
  11. ViewTracker tracker;
  12. {
  13. View view;
  14. tracker.SetView(&view);
  15. EXPECT_EQ(&view, tracker.view());
  16. }
  17. EXPECT_EQ(nullptr, tracker.view());
  18. }
  19. TEST_F(ViewTrackerTest, ObservedAtConstruction) {
  20. std::unique_ptr<ViewTracker> tracker;
  21. {
  22. View view;
  23. tracker = std::make_unique<ViewTracker>(&view);
  24. EXPECT_EQ(&view, tracker->view());
  25. }
  26. EXPECT_EQ(nullptr, tracker->view());
  27. }
  28. } // namespace views