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

Unified Diff: media/capture/video/fake_video_capture_device_unittest.cc

Issue 2005753006: ImageCapture: ScopedResultCallback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: reillyg@ second round of comments Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: media/capture/video/fake_video_capture_device_unittest.cc
diff --git a/media/capture/video/fake_video_capture_device_unittest.cc b/media/capture/video/fake_video_capture_device_unittest.cc
index c68944f9f5ee5fe8255a612f43b9bb1d98b2622a..7620e169a9bfc958ab1a2090dbff5c792fff7917 100644
--- a/media/capture/video/fake_video_capture_device_unittest.cc
+++ b/media/capture/video/fake_video_capture_device_unittest.cc
@@ -136,18 +136,20 @@ class PhotoTakenListener : public base::RefCounted<PhotoTakenListener> {
public:
MOCK_METHOD0(OnCorrectPhotoTaken, void(void));
// GMock doesn't support move-only arguments, so we use this forward method.
- void DoOnPhotoTaken(const std::string& mime_type,
- std::unique_ptr<std::vector<uint8_t>> data) {
+ void DoOnPhotoTaken(const mojo::String& mime_type,
+ mojo::Array<uint8_t> data) {
// Only PNG images are supported right now.
- EXPECT_STREQ("image/png", mime_type.c_str());
+ EXPECT_STREQ("image/png", mime_type.storage().c_str());
// Not worth decoding the incoming data. Just check that the header is PNG.
// http://www.libpng.org/pub/png/spec/1.2/PNG-Rationale.html#R.PNG-file-signature
- ASSERT_GT(data->size(), 4u);
- EXPECT_EQ('P', data->data()[1]);
- EXPECT_EQ('N', data->data()[2]);
- EXPECT_EQ('G', data->data()[3]);
+ ASSERT_GT(data.size(), 4u);
+ EXPECT_EQ('P', data[1]);
+ EXPECT_EQ('N', data[2]);
+ EXPECT_EQ('G', data[3]);
OnCorrectPhotoTaken();
}
+ MOCK_METHOD1(OnTakePhotoFailure,
+ void(const VideoCaptureDevice::TakePhotoCallback&));
private:
friend class base::RefCounted<PhotoTakenListener>;
@@ -285,10 +287,13 @@ TEST_F(FakeVideoCaptureDeviceTest, TakePhoto) {
capture_params.requested_format.frame_rate = 30.0;
device->AllocateAndStart(capture_params, std::move(client_));
- const VideoCaptureDevice::TakePhotoCallback photo_callback =
- base::Bind(&PhotoTakenListener::DoOnPhotoTaken, photo_taken_listener_);
+ ScopedCallback<VideoCaptureDevice::TakePhotoCallback> scoped_callback(
+ base::Bind(&PhotoTakenListener::DoOnPhotoTaken, photo_taken_listener_),
+ base::Bind(&PhotoTakenListener::OnTakePhotoFailure,
+ photo_taken_listener_));
+
EXPECT_CALL(*photo_taken_listener_.get(), OnCorrectPhotoTaken()).Times(1);
- ASSERT_TRUE(device->TakePhoto(photo_callback));
+ device->TakePhoto(std::move(scoped_callback));
run_loop_.reset(new base::RunLoop());
run_loop_->Run();

Powered by Google App Engine
This is Rietveld 408576698