~cemil-azizoglu/mir/add-create-module-context-fn

« back to all changes in this revision

Viewing changes to tests/unit-tests/frontend/test_session_mediator.cpp

  • Committer: Cemil Azizoglu
  • Date: 2015-08-25 15:41:49 UTC
  • mfrom: (2795.2.83 development-branch)
  • Revision ID: cemil.azizoglu@canonical.com-20150825154149-tds8l20j20f1fdkm
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
974
974
    mediator.connect(&connect_parameters, &connection, null_callback.get());
975
975
    mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
976
976
 
 
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());
980
980
 
981
981
    InSequence seq;
982
982
    EXPECT_CALL(mock_ipc_operations, unpack_buffer(_,_));
1042
1042
 
1043
1043
    mediator.release_buffers(&request, &null, null_callback.get());
1044
1044
}
 
1045
 
 
1046
TEST_F(SessionMediator, doesnt_mind_swap_buffers_returning_nullptr_in_submit)
 
1047
{
 
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>()};
 
1059
 
 
1060
    mp::Void null;
 
1061
    mp::BufferRequest request;
 
1062
 
 
1063
    mediator.connect(&connect_parameters, &connection, null_callback.get());
 
1064
    mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
 
1065
 
 
1066
    request.mutable_id()->set_value(surface_response.id().value());
 
1067
    request.mutable_buffer()->set_buffer_id(buffer1->id().as_value());
 
1068
 
 
1069
    InSequence seq;
 
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));
 
1075
 
 
1076
    mediator.submit_buffer(&request, &null, null_callback.get());
 
1077
}
 
1078
 
 
1079
TEST_F(SessionMediator, doesnt_mind_swap_buffers_returning_nullptr_in_create)
 
1080
{
 
1081
    using namespace testing;
 
1082
    mf::SurfaceId surf_id{0};
 
1083
    mtd::StubBuffer buffer;
 
1084
 
 
1085
    auto stream = stubbed_session->mock_primary_stream_at(surf_id);
 
1086
    ON_CALL(*stream, swap_buffers(_,_))
 
1087
        .WillByDefault(InvokeArgument<1>(nullptr));
 
1088
 
 
1089
    Sequence seq;
 
1090
    EXPECT_CALL(*stream, swap_buffers(_,_))
 
1091
        .InSequence(seq)
 
1092
        .WillOnce(InvokeArgument<1>(nullptr));
 
1093
 
 
1094
    mediator.connect(&connect_parameters, &connection, null_callback.get());
 
1095
    mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
 
1096
}
 
1097
 
 
1098
TEST_F(SessionMediator, doesnt_mind_swap_buffers_returning_nullptr_in_bstream_create)
 
1099
{
 
1100
    using namespace testing;
 
1101
    mf::SurfaceId surf_id{0};
 
1102
    mtd::StubBuffer buffer;
 
1103
 
 
1104
    auto stream = stubbed_session->mock_primary_stream_at(surf_id);
 
1105
    ON_CALL(*stream, swap_buffers(_,_))
 
1106
        .WillByDefault(InvokeArgument<1>(nullptr));
 
1107
 
 
1108
    Sequence seq;
 
1109
    EXPECT_CALL(*stream, swap_buffers(_,_))
 
1110
        .InSequence(seq)
 
1111
        .WillOnce(InvokeArgument<1>(nullptr));
 
1112
 
 
1113
    mediator.connect(&connect_parameters, &connection, null_callback.get());
 
1114
    mediator.create_surface(&surface_parameters, &surface_response, null_callback.get());
 
1115
}