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

Side by Side Diff: chrome/utility/image_writer/image_writer_unittest.cc

Issue 61643015: Adds imageWriterPrivate support for Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reorganization and test updates. Created 7 years, 1 month 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/callback.h"
6 #include "base/file_util.h"
7 #include "base/run_loop.h"
8 #include "chrome/common/chrome_utility_messages.h"
9 #include "chrome/utility/image_writer/error_messages.h"
10 #include "chrome/utility/image_writer/image_writer.h"
11 #include "chrome/utility/image_writer/image_writer_handler.h"
12 #include "chrome/utility/image_writer/image_writer_test_utils.h"
13 #include "testing/gmock/include/gmock/gmock.h"
14 #include "testing/gtest/include/gtest/gtest.h"
15
16 namespace chrome {
17 namespace image_writer {
18
19 using testing::_;
20 using testing::AnyNumber;
21 using testing::AtLeast;
22 using testing::Lt;
23
24 namespace {
25
26 class ImageWriterUtilityTest : public testing::Test {
27 protected:
28 virtual void SetUp() OVERRIDE {
29 temp_files_.SetUp();
30 }
31
32 virtual void TearDown() OVERRIDE {
33 }
34
35 TempFilesForTesting temp_files_;
36
37 private:
38 base::MessageLoop message_loop_;
39 };
40
41 class MockHandler : public ImageWriterHandler {
42 public:
43 MOCK_METHOD1(SendProgress, void(int));
44 MOCK_METHOD1(SendFailed, void(const std::string& message));
45 MOCK_METHOD0(SendSucceeded, void());
46 MOCK_METHOD1(OnMessageReceived, bool(const IPC::Message& message));
47 };
48
49 } // namespace
50
51 TEST_F(ImageWriterUtilityTest, WriteSuccessful) {
52 MockHandler mock_handler;
53 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
54 scoped_refptr<ImageWriter> image_writer(
55 new ImageWriter(mock_handler_factory.GetWeakPtr()));
56
57 EXPECT_CALL(mock_handler, SendProgress(Lt(100))).Times(AnyNumber());
58 EXPECT_CALL(mock_handler, SendProgress(100)).Times(AtLeast(1));
59 EXPECT_CALL(mock_handler, SendSucceeded()).Times(1);
60 EXPECT_CALL(mock_handler, SendFailed(_)).Times(0);
61
62 temp_files_.InitializeImage();
63 image_writer->Write(temp_files_.ImagePath(), temp_files_.DevicePath());
64 base::RunLoop().RunUntilIdle();
65 }
66
67 TEST_F(ImageWriterUtilityTest, WriteInvalidImageFile) {
68 MockHandler mock_handler;
69 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
70 scoped_refptr<ImageWriter> image_writer(
71 new ImageWriter(mock_handler_factory.GetWeakPtr()));
72
73 EXPECT_CALL(mock_handler, SendProgress(_)).Times(0);
74 EXPECT_CALL(mock_handler, SendSucceeded()).Times(0);
75 EXPECT_CALL(mock_handler, SendFailed(error::kOpenImage)).Times(1);
76
77 base::DeleteFile(temp_files_.ImagePath(), false);
78 image_writer->Write(temp_files_.ImagePath(), temp_files_.DevicePath());
79 base::RunLoop().RunUntilIdle();
80 }
81
82 TEST_F(ImageWriterUtilityTest, WriteInvalidDeviceFile) {
83 MockHandler mock_handler;
84 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
85 scoped_refptr<ImageWriter> image_writer(
86 new ImageWriter(mock_handler_factory.GetWeakPtr()));
87
88 EXPECT_CALL(mock_handler, SendProgress(_)).Times(0);
89 EXPECT_CALL(mock_handler, SendSucceeded()).Times(0);
90 EXPECT_CALL(mock_handler, SendFailed(error::kOpenDevice)).Times(1);
91
92 base::DeleteFile(temp_files_.DevicePath(), false);
93 image_writer->Write(temp_files_.ImagePath(), temp_files_.DevicePath());
94 base::RunLoop().RunUntilIdle();
95 }
96
97 TEST_F(ImageWriterUtilityTest, VerifySuccessful) {
98 MockHandler mock_handler;
99 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
100 scoped_refptr<ImageWriter> image_writer(
101 new ImageWriter(mock_handler_factory.GetWeakPtr()));
102
103 EXPECT_CALL(mock_handler, SendProgress(Lt(100))).Times(AnyNumber());
104 EXPECT_CALL(mock_handler, SendProgress(100)).Times(AtLeast(1));
105 EXPECT_CALL(mock_handler, SendSucceeded()).Times(1);
106 EXPECT_CALL(mock_handler, SendFailed(_)).Times(0);
107
108 temp_files_.InitializeImage();
109 temp_files_.InitializeFile(temp_files_.DevicePath(),
110 kTestFileSize,
111 kTestBytePattern);
112
113 image_writer->Verify(temp_files_.ImagePath(), temp_files_.DevicePath());
114
115 base::RunLoop().RunUntilIdle();
116 }
117
118 TEST_F(ImageWriterUtilityTest, VerifyInvalidImageFile) {
119 MockHandler mock_handler;
120 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
121 scoped_refptr<ImageWriter> image_writer(
122 new ImageWriter(mock_handler_factory.GetWeakPtr()));
123
124 EXPECT_CALL(mock_handler, SendProgress(_)).Times(0);
125 EXPECT_CALL(mock_handler, SendSucceeded()).Times(0);
126 EXPECT_CALL(mock_handler, SendFailed(error::kOpenImage)).Times(1);
127
128 base::DeleteFile(temp_files_.ImagePath(), false);
129
130 image_writer->Verify(temp_files_.ImagePath(), temp_files_.DevicePath());
131
132 base::RunLoop().RunUntilIdle();
133 }
134
135 TEST_F(ImageWriterUtilityTest, VerifyInvalidDeviceFile) {
136 MockHandler mock_handler;
137 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
138 scoped_refptr<ImageWriter> image_writer(
139 new ImageWriter(mock_handler_factory.GetWeakPtr()));
140
141 EXPECT_CALL(mock_handler, SendProgress(_)).Times(0);
142 EXPECT_CALL(mock_handler, SendSucceeded()).Times(0);
143 EXPECT_CALL(mock_handler, SendFailed(error::kOpenDevice)).Times(1);
144
145 base::DeleteFile(temp_files_.DevicePath(), false);
146
147 image_writer->Verify(temp_files_.ImagePath(), temp_files_.DevicePath());
148
149 base::RunLoop().RunUntilIdle();
150 }
151
152 TEST_F(ImageWriterUtilityTest, VerifyFailed) {
153 MockHandler mock_handler;
154 base::WeakPtrFactory<ImageWriterHandler> mock_handler_factory(&mock_handler);
155 scoped_refptr<ImageWriter> image_writer(
156 new ImageWriter(mock_handler_factory.GetWeakPtr()));
157
158 EXPECT_CALL(mock_handler, SendProgress(_)).Times(0);
159 EXPECT_CALL(mock_handler, SendSucceeded()).Times(0);
160 EXPECT_CALL(mock_handler, SendFailed(error::kVerificationFailed)).Times(1);
161
162 temp_files_.InitializeImage();
163 image_writer->Verify(temp_files_.ImagePath(), temp_files_.DevicePath());
164
165 base::RunLoop().RunUntilIdle();
166 }
167
168
169 } // namespace image_writer
170 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698