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

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

Issue 2344123002: ImageCapture: Implement TakePhoto() for Linux/CrOs (Closed)
Patch Set: Created 4 years, 3 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/video_capture_device_unittest.cc
diff --git a/media/capture/video/video_capture_device_unittest.cc b/media/capture/video/video_capture_device_unittest.cc
index f752360a1c34c96c012bac03492825fef38318de..8cc2496d7b8e04f533b75c54bb1290fc59f3aaa2 100644
--- a/media/capture/video/video_capture_device_unittest.cc
+++ b/media/capture/video/video_capture_device_unittest.cc
@@ -63,7 +63,7 @@
// http://crbug.com/94134 http://crbug.com/137260 http://crbug.com/417824
#define MAYBE_AllocateBadSize DISABLED_AllocateBadSize
#define MAYBE_CaptureMjpeg CaptureMjpeg
-#define MAYBE_TakePhoto DISABLED_TakePhoto
+#define MAYBE_TakePhoto TakePhoto
#else
#define MAYBE_AllocateBadSize AllocateBadSize
#define MAYBE_CaptureMjpeg CaptureMjpeg
@@ -71,6 +71,7 @@
#endif
using ::testing::_;
+using ::testing::AnyOf;
mcasas 2016/09/16 03:50:37 Not used, remove.
xianglu 2016/09/16 18:22:34 Done.
using ::testing::SaveArg;
namespace media {
@@ -141,15 +142,24 @@ class MockImageCaptureClient : public base::RefCounted<MockImageCaptureClient> {
public:
// GMock doesn't support move-only arguments, so we use this forward method.
void DoOnPhotoTaken(mojom::BlobPtr blob) {
- EXPECT_STREQ("image/jpeg", blob->mime_type.c_str());
- ASSERT_GT(blob->data.size(), 4u);
- // Check some bytes that univocally identify |data| as a JPEG File.
- // https://en.wikipedia.org/wiki/JPEG_File_Interchange_Format#File_format_structure
- EXPECT_EQ(0xFF, blob->data[0]); // First SOI byte
- EXPECT_EQ(0xD8, blob->data[1]); // Second SOI byte
- EXPECT_EQ(0xFF, blob->data[2]); // First JFIF-APP0 byte
- EXPECT_EQ(0xE0, blob->data[3]); // Second JFIF-APP0 byte
- OnCorrectPhotoTaken();
+ if (strcmp("image/jpeg", blob->mime_type.c_str()) == 0) {
+ ASSERT_GT(blob->data.size(), 4u);
+ // Check some bytes that univocally identify |data| as a JPEG File.
+ // https://en.wikipedia.org/wiki/JPEG_File_Interchange_Format#File_format_structure
+ EXPECT_EQ(0xFF, blob->data[0]); // First SOI byte
+ EXPECT_EQ(0xD8, blob->data[1]); // Second SOI byte
+ EXPECT_EQ(0xFF, blob->data[2]); // First JFIF-APP0 byte
+ EXPECT_EQ(0xE0, blob->data[3]); // Second JFIF-APP0 byte
+ OnCorrectPhotoTaken();
+ } else if (strcmp("image/png", blob->mime_type.c_str()) == 0) {
+ ASSERT_GT(blob->data.size(), 4u);
+ EXPECT_EQ('P', blob->data[1]);
+ EXPECT_EQ('N', blob->data[2]);
+ EXPECT_EQ('G', blob->data[3]);
+ OnCorrectPhotoTaken();
+ } else {
+ NOTREACHED() << "Photo format should be jpeg or png";
mcasas 2016/09/16 03:50:37 NOTREACHED() would crash the test executable and p
xianglu 2016/09/16 18:22:34 Done.
+ }
}
MOCK_METHOD0(OnCorrectPhotoTaken, void(void));
MOCK_METHOD1(OnTakePhotoFailure,

Powered by Google App Engine
This is Rietveld 408576698