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

Side by Side Diff: ui/ozone/platform/wayland/wayland_surface_factory_unittest.cc

Issue 1742883002: ozone/platform/wayland: Drop WaylandWindow::GetWidget() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@wayland-test1
Patch Set: Created 4 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "third_party/skia/include/core/SkSurface.h" 6 #include "third_party/skia/include/core/SkSurface.h"
7 #include "ui/ozone/platform/wayland/fake_server.h" 7 #include "ui/ozone/platform/wayland/fake_server.h"
8 #include "ui/ozone/platform/wayland/mock_platform_window_delegate.h" 8 #include "ui/ozone/platform/wayland/mock_platform_window_delegate.h"
9 #include "ui/ozone/platform/wayland/wayland_surface_factory.h" 9 #include "ui/ozone/platform/wayland/wayland_surface_factory.h"
10 #include "ui/ozone/platform/wayland/wayland_test.h" 10 #include "ui/ozone/platform/wayland/wayland_test.h"
11 #include "ui/ozone/platform/wayland/wayland_window.h" 11 #include "ui/ozone/platform/wayland/wayland_window.h"
12 #include "ui/ozone/public/surface_ozone_canvas.h" 12 #include "ui/ozone/public/surface_ozone_canvas.h"
13 13
14 using ::testing::Expectation; 14 using ::testing::Expectation;
15 using ::testing::SaveArg; 15 using ::testing::SaveArg;
16 using ::testing::_; 16 using ::testing::_;
17 17
18 namespace ui { 18 namespace ui {
19 19
20 class WaylandSurfaceFactoryTest : public WaylandTest { 20 class WaylandSurfaceFactoryTest : public WaylandTest {
21 public: 21 public:
22 WaylandSurfaceFactoryTest() : surface_factory(&display) {} 22 WaylandSurfaceFactoryTest() : surface_factory(&display) {}
23 23
24 ~WaylandSurfaceFactoryTest() override {} 24 ~WaylandSurfaceFactoryTest() override {}
25 25
26 void SetUp() override {
27 WaylandTest::SetUp();
28 canvas = surface_factory.CreateCanvasForWidget(widget);
29 ASSERT_TRUE(canvas);
30 }
31
26 protected: 32 protected:
27 WaylandSurfaceFactory surface_factory; 33 WaylandSurfaceFactory surface_factory;
34 scoped_ptr<SurfaceOzoneCanvas> canvas;
28 35
29 private: 36 private:
30 DISALLOW_COPY_AND_ASSIGN(WaylandSurfaceFactoryTest); 37 DISALLOW_COPY_AND_ASSIGN(WaylandSurfaceFactoryTest);
31 }; 38 };
32 39
33 TEST_F(WaylandSurfaceFactoryTest, Canvas) { 40 TEST_F(WaylandSurfaceFactoryTest, Canvas) {
34 auto canvas = surface_factory.CreateCanvasForWidget(window.GetWidget());
35 ASSERT_TRUE(canvas);
36
37 canvas->GetSurface(); 41 canvas->GetSurface();
38 canvas->PresentCanvas(gfx::Rect(5, 10, 20, 15)); 42 canvas->PresentCanvas(gfx::Rect(5, 10, 20, 15));
39 43
40 Expectation damage = EXPECT_CALL(*surface, Damage(5, 10, 20, 15)); 44 Expectation damage = EXPECT_CALL(*surface, Damage(5, 10, 20, 15));
41 wl_resource* buffer_resource = nullptr; 45 wl_resource* buffer_resource = nullptr;
42 Expectation attach = EXPECT_CALL(*surface, Attach(_, 0, 0)) 46 Expectation attach = EXPECT_CALL(*surface, Attach(_, 0, 0))
43 .WillOnce(SaveArg<0>(&buffer_resource)); 47 .WillOnce(SaveArg<0>(&buffer_resource));
44 EXPECT_CALL(*surface, Commit()).After(damage, attach); 48 EXPECT_CALL(*surface, Commit()).After(damage, attach);
45 49
46 Sync(); 50 Sync();
47 51
48 ASSERT_TRUE(buffer_resource); 52 ASSERT_TRUE(buffer_resource);
49 wl_shm_buffer* buffer = wl_shm_buffer_get(buffer_resource); 53 wl_shm_buffer* buffer = wl_shm_buffer_get(buffer_resource);
50 ASSERT_TRUE(buffer); 54 ASSERT_TRUE(buffer);
51 EXPECT_EQ(wl_shm_buffer_get_width(buffer), 800); 55 EXPECT_EQ(wl_shm_buffer_get_width(buffer), 800);
52 EXPECT_EQ(wl_shm_buffer_get_height(buffer), 600); 56 EXPECT_EQ(wl_shm_buffer_get_height(buffer), 600);
53 57
54 // TODO(forney): We could check that the contents match something drawn to the 58 // TODO(forney): We could check that the contents match something drawn to the
55 // SkSurface above. 59 // SkSurface above.
56 } 60 }
57 61
58 TEST_F(WaylandSurfaceFactoryTest, CanvasResize) { 62 TEST_F(WaylandSurfaceFactoryTest, CanvasResize) {
59 auto canvas = surface_factory.CreateCanvasForWidget(window.GetWidget());
60 ASSERT_TRUE(canvas);
61
62 canvas->GetSurface(); 63 canvas->GetSurface();
63 canvas->ResizeCanvas(gfx::Size(100, 50)); 64 canvas->ResizeCanvas(gfx::Size(100, 50));
64 canvas->GetSurface(); 65 canvas->GetSurface();
65 canvas->PresentCanvas(gfx::Rect(0, 0, 100, 50)); 66 canvas->PresentCanvas(gfx::Rect(0, 0, 100, 50));
66 67
67 Expectation damage = EXPECT_CALL(*surface, Damage(0, 0, 100, 50)); 68 Expectation damage = EXPECT_CALL(*surface, Damage(0, 0, 100, 50));
68 wl_resource* buffer_resource = nullptr; 69 wl_resource* buffer_resource = nullptr;
69 Expectation attach = EXPECT_CALL(*surface, Attach(_, 0, 0)) 70 Expectation attach = EXPECT_CALL(*surface, Attach(_, 0, 0))
70 .WillOnce(SaveArg<0>(&buffer_resource)); 71 .WillOnce(SaveArg<0>(&buffer_resource));
71 EXPECT_CALL(*surface, Commit()).After(damage, attach); 72 EXPECT_CALL(*surface, Commit()).After(damage, attach);
72 73
73 Sync(); 74 Sync();
74 75
75 ASSERT_TRUE(buffer_resource); 76 ASSERT_TRUE(buffer_resource);
76 wl_shm_buffer* buffer = wl_shm_buffer_get(buffer_resource); 77 wl_shm_buffer* buffer = wl_shm_buffer_get(buffer_resource);
77 ASSERT_TRUE(buffer); 78 ASSERT_TRUE(buffer);
78 EXPECT_EQ(wl_shm_buffer_get_width(buffer), 100); 79 EXPECT_EQ(wl_shm_buffer_get_width(buffer), 100);
79 EXPECT_EQ(wl_shm_buffer_get_height(buffer), 50); 80 EXPECT_EQ(wl_shm_buffer_get_height(buffer), 50);
80 } 81 }
81 82
82 } // namespace ui 83 } // namespace ui
OLDNEW
« no previous file with comments | « ui/ozone/platform/wayland/wayland_surface_factory.cc ('k') | ui/ozone/platform/wayland/wayland_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698