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

Side by Side Diff: chrome/utility/importer/edge_database_reader_unittest_win.cc

Issue 1899083002: Convert //chrome from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/utility/importer/edge_database_reader_win.h" 5 #include "chrome/utility/importer/edge_database_reader_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 127
128 TEST_F(EdgeDatabaseReaderTest, OpenTableDatabaseTest) { 128 TEST_F(EdgeDatabaseReaderTest, OpenTableDatabaseTest) {
129 // Only verified to work with ESE library on Windows 7 and above. 129 // Only verified to work with ESE library on Windows 7 and above.
130 if (base::win::GetVersion() < base::win::VERSION_WIN7) 130 if (base::win::GetVersion() < base::win::VERSION_WIN7)
131 return; 131 return;
132 132
133 base::FilePath database_path; 133 base::FilePath database_path;
134 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 134 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
135 EdgeDatabaseReader reader; 135 EdgeDatabaseReader reader;
136 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 136 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
137 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 137 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
138 reader.OpenTableEnumerator(L"TestTable"); 138 reader.OpenTableEnumerator(L"TestTable");
139 EXPECT_NE(nullptr, table_enum); 139 EXPECT_NE(nullptr, table_enum);
140 } 140 }
141 141
142 TEST_F(EdgeDatabaseReaderTest, InvalidTableDatabaseTest) { 142 TEST_F(EdgeDatabaseReaderTest, InvalidTableDatabaseTest) {
143 // Only verified to work with ESE library on Windows 7 and above. 143 // Only verified to work with ESE library on Windows 7 and above.
144 if (base::win::GetVersion() < base::win::VERSION_WIN7) 144 if (base::win::GetVersion() < base::win::VERSION_WIN7)
145 return; 145 return;
146 146
147 base::FilePath database_path; 147 base::FilePath database_path;
148 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 148 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
149 EdgeDatabaseReader reader; 149 EdgeDatabaseReader reader;
150 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 150 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
151 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 151 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
152 reader.OpenTableEnumerator(L"NotARealTableName"); 152 reader.OpenTableEnumerator(L"NotARealTableName");
153 EXPECT_EQ(nullptr, table_enum); 153 EXPECT_EQ(nullptr, table_enum);
154 } 154 }
155 155
156 TEST_F(EdgeDatabaseReaderTest, NotOpenDatabaseTest) { 156 TEST_F(EdgeDatabaseReaderTest, NotOpenDatabaseTest) {
157 // Only verified to work with ESE library on Windows 7 and above. 157 // Only verified to work with ESE library on Windows 7 and above.
158 if (base::win::GetVersion() < base::win::VERSION_WIN7) 158 if (base::win::GetVersion() < base::win::VERSION_WIN7)
159 return; 159 return;
160 160
161 EdgeDatabaseReader reader; 161 EdgeDatabaseReader reader;
162 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 162 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
163 reader.OpenTableEnumerator(L"TestTable"); 163 reader.OpenTableEnumerator(L"TestTable");
164 EXPECT_EQ(nullptr, table_enum); 164 EXPECT_EQ(nullptr, table_enum);
165 EXPECT_EQ(JET_errDatabaseNotFound, reader.last_error()); 165 EXPECT_EQ(JET_errDatabaseNotFound, reader.last_error());
166 } 166 }
167 167
168 TEST_F(EdgeDatabaseReaderTest, AlreadyOpenDatabaseTest) { 168 TEST_F(EdgeDatabaseReaderTest, AlreadyOpenDatabaseTest) {
169 // Only verified to work with ESE library on Windows 7 and above. 169 // Only verified to work with ESE library on Windows 7 and above.
170 if (base::win::GetVersion() < base::win::VERSION_WIN7) 170 if (base::win::GetVersion() < base::win::VERSION_WIN7)
171 return; 171 return;
172 172
173 base::FilePath database_path; 173 base::FilePath database_path;
174 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 174 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
175 EdgeDatabaseReader reader; 175 EdgeDatabaseReader reader;
176 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 176 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
177 EXPECT_FALSE(reader.OpenDatabase(database_path.value())); 177 EXPECT_FALSE(reader.OpenDatabase(database_path.value()));
178 EXPECT_EQ(JET_errOneDatabasePerSession, reader.last_error()); 178 EXPECT_EQ(JET_errOneDatabasePerSession, reader.last_error());
179 } 179 }
180 180
181 TEST_F(EdgeDatabaseReaderTest, OpenTableAndReadDataDatabaseTest) { 181 TEST_F(EdgeDatabaseReaderTest, OpenTableAndReadDataDatabaseTest) {
182 // Only verified to work with ESE library on Windows 7 and above. 182 // Only verified to work with ESE library on Windows 7 and above.
183 if (base::win::GetVersion() < base::win::VERSION_WIN7) 183 if (base::win::GetVersion() < base::win::VERSION_WIN7)
184 return; 184 return;
185 185
186 base::FilePath database_path; 186 base::FilePath database_path;
187 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 187 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
188 EdgeDatabaseReader reader; 188 EdgeDatabaseReader reader;
189 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 189 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
190 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 190 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
191 reader.OpenTableEnumerator(L"TestTable"); 191 reader.OpenTableEnumerator(L"TestTable");
192 EXPECT_NE(nullptr, table_enum); 192 EXPECT_NE(nullptr, table_enum);
193 int row_count = 0; 193 int row_count = 0;
194 do { 194 do {
195 int32_t int_col_value = 0; 195 int32_t int_col_value = 0;
196 EXPECT_TRUE(table_enum->RetrieveColumn(L"IntCol", &int_col_value)); 196 EXPECT_TRUE(table_enum->RetrieveColumn(L"IntCol", &int_col_value));
197 EXPECT_EQ(-row_count, int_col_value); 197 EXPECT_EQ(-row_count, int_col_value);
198 198
199 uint32_t uint_col_value = 0; 199 uint32_t uint_col_value = 0;
200 EXPECT_TRUE(table_enum->RetrieveColumn(L"UIntCol", &uint_col_value)); 200 EXPECT_TRUE(table_enum->RetrieveColumn(L"UIntCol", &uint_col_value));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 243
244 TEST_F(EdgeDatabaseReaderTest, CheckEnumResetDatabaseTest) { 244 TEST_F(EdgeDatabaseReaderTest, CheckEnumResetDatabaseTest) {
245 // Only verified to work with ESE library on Windows 7 and above. 245 // Only verified to work with ESE library on Windows 7 and above.
246 if (base::win::GetVersion() < base::win::VERSION_WIN7) 246 if (base::win::GetVersion() < base::win::VERSION_WIN7)
247 return; 247 return;
248 248
249 base::FilePath database_path; 249 base::FilePath database_path;
250 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 250 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
251 EdgeDatabaseReader reader; 251 EdgeDatabaseReader reader;
252 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 252 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
253 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 253 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
254 reader.OpenTableEnumerator(L"TestTable"); 254 reader.OpenTableEnumerator(L"TestTable");
255 EXPECT_NE(nullptr, table_enum); 255 EXPECT_NE(nullptr, table_enum);
256 int row_count = 0; 256 int row_count = 0;
257 do { 257 do {
258 row_count++; 258 row_count++;
259 } while (table_enum->Next()); 259 } while (table_enum->Next());
260 EXPECT_NE(0, row_count); 260 EXPECT_NE(0, row_count);
261 EXPECT_TRUE(table_enum->Reset()); 261 EXPECT_TRUE(table_enum->Reset());
262 do { 262 do {
263 row_count--; 263 row_count--;
264 } while (table_enum->Next()); 264 } while (table_enum->Next());
265 EXPECT_EQ(0, row_count); 265 EXPECT_EQ(0, row_count);
266 } 266 }
267 267
268 TEST_F(EdgeDatabaseReaderTest, InvalidColumnDatabaseTest) { 268 TEST_F(EdgeDatabaseReaderTest, InvalidColumnDatabaseTest) {
269 // Only verified to work with ESE library on Windows 7 and above. 269 // Only verified to work with ESE library on Windows 7 and above.
270 if (base::win::GetVersion() < base::win::VERSION_WIN7) 270 if (base::win::GetVersion() < base::win::VERSION_WIN7)
271 return; 271 return;
272 272
273 base::FilePath database_path; 273 base::FilePath database_path;
274 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 274 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
275 EdgeDatabaseReader reader; 275 EdgeDatabaseReader reader;
276 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 276 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
277 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 277 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
278 reader.OpenTableEnumerator(L"TestTable"); 278 reader.OpenTableEnumerator(L"TestTable");
279 EXPECT_NE(nullptr, table_enum); 279 EXPECT_NE(nullptr, table_enum);
280 int32_t int_col_value = 0; 280 int32_t int_col_value = 0;
281 EXPECT_FALSE(table_enum->RetrieveColumn(L"NotARealNameCol", &int_col_value)); 281 EXPECT_FALSE(table_enum->RetrieveColumn(L"NotARealNameCol", &int_col_value));
282 EXPECT_EQ(JET_errColumnNotFound, table_enum->last_error()); 282 EXPECT_EQ(JET_errColumnNotFound, table_enum->last_error());
283 } 283 }
284 284
285 TEST_F(EdgeDatabaseReaderTest, NoColumnDatabaseTest) { 285 TEST_F(EdgeDatabaseReaderTest, NoColumnDatabaseTest) {
286 // Only verified to work with ESE library on Windows 7 and above. 286 // Only verified to work with ESE library on Windows 7 and above.
287 if (base::win::GetVersion() < base::win::VERSION_WIN7) 287 if (base::win::GetVersion() < base::win::VERSION_WIN7)
288 return; 288 return;
289 289
290 base::FilePath database_path; 290 base::FilePath database_path;
291 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 291 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
292 EdgeDatabaseReader reader; 292 EdgeDatabaseReader reader;
293 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 293 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
294 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 294 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
295 reader.OpenTableEnumerator(L"NoColsTable"); 295 reader.OpenTableEnumerator(L"NoColsTable");
296 EXPECT_NE(nullptr, table_enum); 296 EXPECT_NE(nullptr, table_enum);
297 int32_t int_col_value = 0; 297 int32_t int_col_value = 0;
298 EXPECT_FALSE(table_enum->RetrieveColumn(L"IntCol", &int_col_value)); 298 EXPECT_FALSE(table_enum->RetrieveColumn(L"IntCol", &int_col_value));
299 EXPECT_EQ(JET_errColumnNotFound, table_enum->last_error()); 299 EXPECT_EQ(JET_errColumnNotFound, table_enum->last_error());
300 } 300 }
301 301
302 TEST_F(EdgeDatabaseReaderTest, EmptyTableDatabaseTest) { 302 TEST_F(EdgeDatabaseReaderTest, EmptyTableDatabaseTest) {
303 // Only verified to work with ESE library on Windows 7 and above. 303 // Only verified to work with ESE library on Windows 7 and above.
304 if (base::win::GetVersion() < base::win::VERSION_WIN7) 304 if (base::win::GetVersion() < base::win::VERSION_WIN7)
305 return; 305 return;
306 306
307 base::FilePath database_path; 307 base::FilePath database_path;
308 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 308 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
309 EdgeDatabaseReader reader; 309 EdgeDatabaseReader reader;
310 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 310 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
311 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 311 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
312 reader.OpenTableEnumerator(L"EmptyTable"); 312 reader.OpenTableEnumerator(L"EmptyTable");
313 EXPECT_NE(nullptr, table_enum); 313 EXPECT_NE(nullptr, table_enum);
314 int32_t int_col_value = 0; 314 int32_t int_col_value = 0;
315 EXPECT_FALSE(table_enum->RetrieveColumn(L"IntCol", &int_col_value)); 315 EXPECT_FALSE(table_enum->RetrieveColumn(L"IntCol", &int_col_value));
316 EXPECT_NE(JET_errColumnNotFound, table_enum->last_error()); 316 EXPECT_NE(JET_errColumnNotFound, table_enum->last_error());
317 EXPECT_FALSE(table_enum->Reset()); 317 EXPECT_FALSE(table_enum->Reset());
318 EXPECT_FALSE(table_enum->Next()); 318 EXPECT_FALSE(table_enum->Next());
319 } 319 }
320 320
321 TEST_F(EdgeDatabaseReaderTest, UnicodeStringsDatabaseTest) { 321 TEST_F(EdgeDatabaseReaderTest, UnicodeStringsDatabaseTest) {
322 const char* utf8_strings[] = { 322 const char* utf8_strings[] = {
323 "\xE3\x81\x93\xE3\x81\xAB\xE3\x81\xA1\xE3\x81\xAF", 323 "\xE3\x81\x93\xE3\x81\xAB\xE3\x81\xA1\xE3\x81\xAF",
324 "\xE4\xBD\xA0\xE5\xA5\xBD", 324 "\xE4\xBD\xA0\xE5\xA5\xBD",
325 "\xD0\x97\xD0\xB4\xD1\x80\xD0\xB0\xD0\xB2\xD1\x81\xD1\x82\xD0\xB2\xD1\x83" 325 "\xD0\x97\xD0\xB4\xD1\x80\xD0\xB0\xD0\xB2\xD1\x81\xD1\x82\xD0\xB2\xD1\x83"
326 "\xD0\xB9\xD1\x82\xD0\xB5", 326 "\xD0\xB9\xD1\x82\xD0\xB5",
327 "\x48\x65\x6C\x6C\x6F", 327 "\x48\x65\x6C\x6C\x6F",
328 "\xEC\x95\x88\xEB\x85\x95\xED\x95\x98\xEC\x84\xB8\xEC\x9A\x94", 328 "\xEC\x95\x88\xEB\x85\x95\xED\x95\x98\xEC\x84\xB8\xEC\x9A\x94",
329 }; 329 };
330 // Only verified to work with ESE library on Windows 7 and above. 330 // Only verified to work with ESE library on Windows 7 and above.
331 if (base::win::GetVersion() < base::win::VERSION_WIN7) 331 if (base::win::GetVersion() < base::win::VERSION_WIN7)
332 return; 332 return;
333 333
334 base::FilePath database_path; 334 base::FilePath database_path;
335 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 335 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
336 EdgeDatabaseReader reader; 336 EdgeDatabaseReader reader;
337 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 337 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
338 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 338 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
339 reader.OpenTableEnumerator(L"UnicodeTable"); 339 reader.OpenTableEnumerator(L"UnicodeTable");
340 EXPECT_NE(nullptr, table_enum); 340 EXPECT_NE(nullptr, table_enum);
341 size_t utf8_strings_count = arraysize(utf8_strings); 341 size_t utf8_strings_count = arraysize(utf8_strings);
342 for (size_t row_count = 0; row_count < utf8_strings_count; ++row_count) { 342 for (size_t row_count = 0; row_count < utf8_strings_count; ++row_count) {
343 std::wstring row_string = base::UTF8ToWide(utf8_strings[row_count]); 343 std::wstring row_string = base::UTF8ToWide(utf8_strings[row_count]);
344 base::string16 str_col_value; 344 base::string16 str_col_value;
345 EXPECT_TRUE(table_enum->RetrieveColumn(L"StrCol", &str_col_value)); 345 EXPECT_TRUE(table_enum->RetrieveColumn(L"StrCol", &str_col_value));
346 EXPECT_EQ(row_string, str_col_value); 346 EXPECT_EQ(row_string, str_col_value);
347 if (row_count < utf8_strings_count - 1) 347 if (row_count < utf8_strings_count - 1)
348 EXPECT_TRUE(table_enum->Next()); 348 EXPECT_TRUE(table_enum->Next());
349 else 349 else
350 EXPECT_FALSE(table_enum->Next()); 350 EXPECT_FALSE(table_enum->Next());
351 } 351 }
352 } 352 }
353 353
354 TEST_F(EdgeDatabaseReaderTest, NonUnicodeStringsDatabaseTest) { 354 TEST_F(EdgeDatabaseReaderTest, NonUnicodeStringsDatabaseTest) {
355 // Only verified to work with ESE library on Windows 7 and above. 355 // Only verified to work with ESE library on Windows 7 and above.
356 if (base::win::GetVersion() < base::win::VERSION_WIN7) 356 if (base::win::GetVersion() < base::win::VERSION_WIN7)
357 return; 357 return;
358 358
359 base::FilePath database_path; 359 base::FilePath database_path;
360 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 360 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
361 EdgeDatabaseReader reader; 361 EdgeDatabaseReader reader;
362 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 362 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
363 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 363 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
364 reader.OpenTableEnumerator(L"NonUnicodeTable"); 364 reader.OpenTableEnumerator(L"NonUnicodeTable");
365 EXPECT_NE(nullptr, table_enum); 365 EXPECT_NE(nullptr, table_enum);
366 base::string16 str_col_value; 366 base::string16 str_col_value;
367 EXPECT_FALSE(table_enum->RetrieveColumn(L"StrCol", &str_col_value)); 367 EXPECT_FALSE(table_enum->RetrieveColumn(L"StrCol", &str_col_value));
368 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 368 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
369 } 369 }
370 370
371 TEST_F(EdgeDatabaseReaderTest, CheckNullColumnDatabaseTest) { 371 TEST_F(EdgeDatabaseReaderTest, CheckNullColumnDatabaseTest) {
372 // Only verified to work with ESE library on Windows 7 and above. 372 // Only verified to work with ESE library on Windows 7 and above.
373 if (base::win::GetVersion() < base::win::VERSION_WIN7) 373 if (base::win::GetVersion() < base::win::VERSION_WIN7)
374 return; 374 return;
375 375
376 base::FilePath database_path; 376 base::FilePath database_path;
377 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 377 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
378 EdgeDatabaseReader reader; 378 EdgeDatabaseReader reader;
379 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 379 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
380 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 380 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
381 reader.OpenTableEnumerator(L"NullTable"); 381 reader.OpenTableEnumerator(L"NullTable");
382 EXPECT_NE(nullptr, table_enum); 382 EXPECT_NE(nullptr, table_enum);
383 383
384 // We expect to successfully open a column value but get the default value 384 // We expect to successfully open a column value but get the default value
385 // back. 385 // back.
386 int32_t int_col_value = 1; 386 int32_t int_col_value = 1;
387 EXPECT_TRUE(table_enum->RetrieveColumn(L"IntCol", &int_col_value)); 387 EXPECT_TRUE(table_enum->RetrieveColumn(L"IntCol", &int_col_value));
388 EXPECT_EQ(0, int_col_value); 388 EXPECT_EQ(0, int_col_value);
389 389
390 uint32_t uint_col_value = 1; 390 uint32_t uint_col_value = 1;
(...skipping 30 matching lines...) Expand all
421 421
422 TEST_F(EdgeDatabaseReaderTest, CheckInvalidColumnTypeDatabaseTest) { 422 TEST_F(EdgeDatabaseReaderTest, CheckInvalidColumnTypeDatabaseTest) {
423 // Only verified to work with ESE library on Windows 7 and above. 423 // Only verified to work with ESE library on Windows 7 and above.
424 if (base::win::GetVersion() < base::win::VERSION_WIN7) 424 if (base::win::GetVersion() < base::win::VERSION_WIN7)
425 return; 425 return;
426 426
427 base::FilePath database_path; 427 base::FilePath database_path;
428 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path)); 428 ASSERT_TRUE(CopyTestDatabase(L"testdata.edb", &database_path));
429 EdgeDatabaseReader reader; 429 EdgeDatabaseReader reader;
430 EXPECT_TRUE(reader.OpenDatabase(database_path.value())); 430 EXPECT_TRUE(reader.OpenDatabase(database_path.value()));
431 scoped_ptr<EdgeDatabaseTableEnumerator> table_enum = 431 std::unique_ptr<EdgeDatabaseTableEnumerator> table_enum =
432 reader.OpenTableEnumerator(L"TestTable"); 432 reader.OpenTableEnumerator(L"TestTable");
433 EXPECT_NE(nullptr, table_enum); 433 EXPECT_NE(nullptr, table_enum);
434 434
435 uint32_t uint_col_value = 0; 435 uint32_t uint_col_value = 0;
436 EXPECT_FALSE(table_enum->RetrieveColumn(L"IntCol", &uint_col_value)); 436 EXPECT_FALSE(table_enum->RetrieveColumn(L"IntCol", &uint_col_value));
437 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 437 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
438 // Check unsigned int with a signed int. 438 // Check unsigned int with a signed int.
439 int32_t int_col_value = 0; 439 int32_t int_col_value = 0;
440 EXPECT_FALSE(table_enum->RetrieveColumn(L"UIntCol", &int_col_value)); 440 EXPECT_FALSE(table_enum->RetrieveColumn(L"UIntCol", &int_col_value));
441 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 441 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
442 EXPECT_FALSE(table_enum->RetrieveColumn(L"LongLongCol", &uint_col_value)); 442 EXPECT_FALSE(table_enum->RetrieveColumn(L"LongLongCol", &uint_col_value));
443 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 443 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
444 EXPECT_FALSE(table_enum->RetrieveColumn(L"GuidCol", &uint_col_value)); 444 EXPECT_FALSE(table_enum->RetrieveColumn(L"GuidCol", &uint_col_value));
445 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 445 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
446 EXPECT_FALSE(table_enum->RetrieveColumn(L"DateCol", &uint_col_value)); 446 EXPECT_FALSE(table_enum->RetrieveColumn(L"DateCol", &uint_col_value));
447 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 447 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
448 EXPECT_FALSE(table_enum->RetrieveColumn(L"StrCol", &uint_col_value)); 448 EXPECT_FALSE(table_enum->RetrieveColumn(L"StrCol", &uint_col_value));
449 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 449 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
450 EXPECT_FALSE(table_enum->RetrieveColumn(L"BoolCol", &uint_col_value)); 450 EXPECT_FALSE(table_enum->RetrieveColumn(L"BoolCol", &uint_col_value));
451 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error()); 451 EXPECT_EQ(JET_errInvalidColumnType, table_enum->last_error());
452 } 452 }
OLDNEW
« no previous file with comments | « chrome/utility/image_writer/image_writer_win.cc ('k') | chrome/utility/importer/edge_database_reader_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698