974
974
mediator.connect(&connect_parameters, &connection, null_callback.get());
975
975
mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
977
auto mock_stream = stubbed_session->mock_primary_stream_at(mf::SurfaceId{0});
977
978
request.mutable_id()->set_value(surface_response.id().value());
978
request.mutable_buffer()->set_buffer_id(surface_response.buffer_stream().buffer().buffer_id());
979
auto mock_stream = stubbed_session->mock_primary_stream_at(mf::SurfaceId{0});
979
request.mutable_buffer()->set_buffer_id(buffer1->id().as_value());
982
982
EXPECT_CALL(mock_ipc_operations, unpack_buffer(_,_));
1043
1043
mediator.release_buffers(&request, &null, null_callback.get());
1046
TEST_F(SessionMediator, doesnt_mind_swap_buffers_returning_nullptr_in_submit)
1048
using namespace testing;
1049
auto mock_stream = stubbed_session->mock_primary_stream_at(mf::SurfaceId{0});
1050
ON_CALL(*mock_stream, swap_buffers(_,_))
1051
.WillByDefault(InvokeArgument<1>(nullptr));
1052
auto mock_sink = std::make_shared<mtd::MockEventSink>();
1053
auto buffer1 = std::make_shared<mtd::StubBuffer>();
1054
mf::SessionMediator mediator{
1055
shell, mt::fake_shared(mock_ipc_operations), graphics_changer,
1056
surface_pixel_formats, report, mock_sink,
1057
resource_cache, stub_screencast, nullptr, nullptr, nullptr,
1058
std::make_shared<mtd::NullANRDetector>()};
1061
mp::BufferRequest request;
1063
mediator.connect(&connect_parameters, &connection, null_callback.get());
1064
mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
1066
request.mutable_id()->set_value(surface_response.id().value());
1067
request.mutable_buffer()->set_buffer_id(buffer1->id().as_value());
1070
EXPECT_CALL(*mock_stream, with_buffer(buffer1->id(),_))
1071
.WillOnce(InvokeArgument<1>(*buffer1));
1072
EXPECT_CALL(mock_ipc_operations, unpack_buffer(_,_));
1073
EXPECT_CALL(*mock_stream, swap_buffers(_,_))
1074
.WillOnce(InvokeArgument<1>(nullptr));
1076
mediator.submit_buffer(&request, &null, null_callback.get());
1079
TEST_F(SessionMediator, doesnt_mind_swap_buffers_returning_nullptr_in_create)
1081
using namespace testing;
1082
mf::SurfaceId surf_id{0};
1083
mtd::StubBuffer buffer;
1085
auto stream = stubbed_session->mock_primary_stream_at(surf_id);
1086
ON_CALL(*stream, swap_buffers(_,_))
1087
.WillByDefault(InvokeArgument<1>(nullptr));
1090
EXPECT_CALL(*stream, swap_buffers(_,_))
1092
.WillOnce(InvokeArgument<1>(nullptr));
1094
mediator.connect(&connect_parameters, &connection, null_callback.get());
1095
mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
1098
TEST_F(SessionMediator, doesnt_mind_swap_buffers_returning_nullptr_in_bstream_create)
1100
using namespace testing;
1101
mf::SurfaceId surf_id{0};
1102
mtd::StubBuffer buffer;
1104
auto stream = stubbed_session->mock_primary_stream_at(surf_id);
1105
ON_CALL(*stream, swap_buffers(_,_))
1106
.WillByDefault(InvokeArgument<1>(nullptr));
1109
EXPECT_CALL(*stream, swap_buffers(_,_))
1111
.WillOnce(InvokeArgument<1>(nullptr));
1113
mediator.connect(&connect_parameters, &connection, null_callback.get());
1114
mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());