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

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: rockot@s nit 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
« no previous file with comments | « media/capture/video/fake_video_capture_device.cc ('k') | media/capture/video/scoped_result_callback.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 045d3f3378ece38a78b2300f309c56069ee93121..517d3eb77f3eed7470a794c84abadec80398d931 100644
--- a/media/capture/video/fake_video_capture_device_unittest.cc
+++ b/media/capture/video/fake_video_capture_device_unittest.cc
@@ -21,6 +21,7 @@
#include "media/base/video_capture_types.h"
#include "media/capture/video/fake_video_capture_device_factory.h"
#include "media/capture/video/video_capture_device.h"
+#include "mojo/public/cpp/bindings/string.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -138,18 +139,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>;
@@ -287,10 +290,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_);
+ ScopedResultCallback<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();
« no previous file with comments | « media/capture/video/fake_video_capture_device.cc ('k') | media/capture/video/scoped_result_callback.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698