~andreas-pokorny/mir/activate-pointer-acceleration

« back to all changes in this revision

Viewing changes to tests/unit-tests/client/test_mir_screencast.cpp

  • Committer: Christopher James Halse Rogers
  • Date: 2015-02-12 05:55:17 UTC
  • mfrom: (2314 development-branch)
  • mto: This revision was merged to the branch mainline in revision 2326.
  • Revision ID: christopher.halse.rogers@canonical.com-20150212055517-4ebh62tbmq4co2m8
Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
227
227
    screencast.release(null_callback_func, nullptr);
228
228
}
229
229
 
230
 
TEST_F(MirScreencastTest, advances_buffer_stream_on_next_buffer)
231
 
{
232
 
    using namespace testing;
233
 
 
234
 
    InSequence seq;
235
 
 
236
 
    EXPECT_CALL(mock_bs, next_buffer(_)).Times(1)
237
 
        .WillOnce(Return(nullptr));
238
 
    
239
 
    MirScreencast screencast{
240
 
        default_region,
241
 
        default_size,
242
 
        default_pixel_format, stub_server,
243
 
        mock_buffer_stream_factory,
244
 
        null_callback_func, nullptr};
245
 
 
246
 
    screencast.creation_wait_handle()->wait_for_all();
247
 
 
248
 
    screencast.next_buffer(null_callback_func, nullptr);
249
 
}
250
 
 
251
230
TEST_F(MirScreencastTest, executes_callback_on_creation)
252
231
{
253
232
    using namespace testing;
318
297
    }, std::runtime_error);
319
298
}
320
299
 
321
 
TEST_F(MirScreencastTest, returns_params_from_buffer_stream)
322
 
{
323
 
    using namespace ::testing;
324
 
 
325
 
    MirSurfaceParameters expected_params;
326
 
    expected_params.width = 1732;
327
 
    expected_params.height = 33;
328
 
    expected_params.pixel_format = default_pixel_format;
329
 
    expected_params.buffer_usage = mir_buffer_usage_hardware;
330
 
    expected_params.output_id = mir_display_output_id_invalid;
331
 
    
332
 
    EXPECT_CALL(mock_bs, get_parameters()).Times(1)
333
 
        .WillOnce(Return(expected_params));
334
 
 
335
 
    MirScreencast screencast{
336
 
        default_region,
337
 
        default_size,
338
 
        default_pixel_format, stub_server,
339
 
        mock_buffer_stream_factory,
340
 
        null_callback_func, nullptr};
341
 
 
342
 
    screencast.creation_wait_handle()->wait_for_all();
343
 
 
344
 
    auto params = screencast.get_parameters();
345
 
    EXPECT_EQ(expected_params.width, params.width);
346
 
    EXPECT_EQ(expected_params.height, params.height);
347
 
    EXPECT_EQ(expected_params.pixel_format, params.pixel_format);
348
 
    EXPECT_EQ(expected_params.buffer_usage, params.buffer_usage);
349
 
    EXPECT_EQ(expected_params.output_id, params.output_id);
350
 
}
351
 
 
352
 
TEST_F(MirScreencastTest, returns_current_client_buffer)
353
 
{
354
 
    using namespace testing;
355
 
 
356
 
    auto const expected_client_buffer = std::make_shared<mtd::NullClientBuffer>();
357
 
 
358
 
    EXPECT_CALL(mock_bs, get_current_buffer()).Times(1)
359
 
        .WillOnce(Return(expected_client_buffer));
360
 
 
361
 
    MirScreencast screencast{
362
 
        default_region,
363
 
        default_size,
364
 
        default_pixel_format, stub_server,
365
 
        mock_buffer_stream_factory,
366
 
        null_callback_func, nullptr};
367
 
 
368
 
    screencast.creation_wait_handle()->wait_for_all();
369
 
 
370
 
    EXPECT_EQ(expected_client_buffer, screencast.get_current_buffer());
371
 
}
372
 
 
373
 
TEST_F(MirScreencastTest, gets_egl_native_window)
374
 
{
375
 
    using namespace testing;
376
 
    
377
 
    EGLNativeWindowType expected_native_window = reinterpret_cast<EGLNativeWindowType>(this); // any unique value
378
 
    EXPECT_CALL(mock_bs, egl_native_window()).Times(1)
379
 
        .WillOnce(Return(expected_native_window));
380
 
 
381
 
    MirScreencast screencast{
382
 
        default_region,
383
 
        default_size,
384
 
        default_pixel_format, stub_server,
385
 
        mock_buffer_stream_factory,
386
 
        null_callback_func, nullptr};
387
 
 
388
 
    screencast.creation_wait_handle()->wait_for_all();
389
 
 
390
 
    auto egl_native_window = screencast.egl_native_window();
391
 
 
392
 
    EXPECT_EQ(expected_native_window, egl_native_window);
393
 
}
394
 
 
395
300
TEST_F(MirScreencastTest, is_invalid_if_server_create_screencast_fails)
396
301
{
397
302
    using namespace testing;