545
545
mediator.disconnect(nullptr, nullptr, nullptr, null_callback.get());
548
TEST_F(SessionMediatorTest, buffer_resource_for_surface_held_over_operations_on_other_surfaces)
550
using namespace testing;
552
auto stub_buffer1 = std::make_shared<mtd::StubBuffer>();
554
mp::ConnectParameters connect_parameters;
555
mp::Connection connection;
557
mediator.connect(nullptr, &connect_parameters, &connection, null_callback.get());
558
mp::SurfaceParameters surface_request;
559
mp::Surface surface_response;
562
* Note that the surface created by the first create_surface() call is
563
* the pre-created stubbed_session->mock_surface. Further create_surface()
564
* invocations create new surfaces in stubbed_session->mock_surfaces[].
566
EXPECT_CALL(*stubbed_session->mock_surface, advance_client_buffer())
567
.WillOnce(Return(stub_buffer1));
569
mediator.create_surface(nullptr, &surface_request, &surface_response, null_callback.get());
570
auto refcount = stub_buffer1.use_count();
572
/* Creating a new surface should not affect other surfaces' buffers */
573
mediator.create_surface(nullptr, &surface_request, &surface_response, null_callback.get());
574
EXPECT_EQ(refcount, stub_buffer1.use_count());
576
mp::SurfaceId buffer_request{surface_response.id()};
577
mp::Buffer buffer_response;
579
/* Getting the next buffer of a surface should not affect other surfaces' buffers */
580
mediator.next_buffer(nullptr, &buffer_request, &buffer_response, null_callback.get());
581
EXPECT_EQ(refcount, stub_buffer1.use_count());
583
mediator.disconnect(nullptr, nullptr, nullptr, null_callback.get());
548
586
TEST_F(SessionMediatorTest, display_config_request)
550
588
using namespace testing;