OLD | NEW |
---|---|
(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 <string> | |
6 | |
7 #include "base/file_path.h" | |
8 #include "base/scoped_temp_dir.h" | |
9 #include "content/browser/media_gallery/media_gallery_database.h" | |
10 #include "content/browser/media_gallery/media_gallery_types.h" | |
11 #include "sql/connection.h" | |
12 #include "testing/gtest/include/gtest/gtest.h" | |
13 | |
14 namespace media_gallery { | |
15 | |
16 class MediaGalleryDatabaseTest : public testing::Test, | |
17 public MediaGalleryDatabase { | |
18 public: | |
19 MediaGalleryDatabaseTest() { } | |
20 | |
21 protected: | |
22 virtual sql::Connection& GetDB() { | |
23 return db_; | |
24 } | |
25 | |
26 private: | |
27 // Test setup. | |
28 void SetUp() { | |
29 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | |
30 FilePath db_file = temp_dir_.path().AppendASCII("MediaGalleryTest.db"); | |
31 | |
32 ASSERT_TRUE(db_.Open(db_file)); | |
33 | |
34 // Initialize the tables for this test. | |
35 ASSERT_EQ(sql::INIT_OK, InitInternal(&db_)); | |
36 } | |
37 | |
38 void TearDown() { | |
39 db_.Close(); | |
40 } | |
41 | |
42 ScopedTempDir temp_dir_; | |
43 sql::Connection db_; | |
44 }; | |
45 | |
46 TEST_F(MediaGalleryDatabaseTest, Init) { | |
47 EXPECT_TRUE(DoesCollectionsTableExist(&GetDB())); | |
48 } | |
49 | |
50 TEST_F(MediaGalleryDatabaseTest, AddCollection) { | |
51 CollectionRow row1(FilePath(FILE_PATH_LITERAL("path1")), | |
52 base::Time::FromDoubleT(12345), | |
53 123, | |
54 false); | |
55 CollectionId rowid = CreateCollectionRow(&row1); | |
56 EXPECT_TRUE(rowid); | |
57 EXPECT_EQ(rowid, row1.id); | |
58 | |
59 CollectionRow row2; | |
60 EXPECT_TRUE(GetCollectionRow(rowid, &row2)); | |
61 EXPECT_TRUE(row1 == row2); | |
62 } | |
63 | |
64 TEST_F(MediaGalleryDatabaseTest, StandardizePath) { | |
65 #if defined(FILE_PATH_USES_WIN_SEPARATORS) | |
Lei Zhang
2012/03/07 21:24:37
You can also write this as:
FilePath foo(FILE_PAT
tpayne
2012/03/07 21:34:55
Done.
| |
66 #define PATH FILE_PATH_LITERAL("path1\\path2") | |
67 #else | |
68 #define PATH FILE_PATH_LITERAL("path1/path2") | |
69 #endif // FILE_PATH_USES_WIN_SEPARATORS | |
70 CollectionRow row1(FilePath(PATH), | |
71 base::Time::FromDoubleT(12345), | |
72 123, | |
73 false); | |
74 #undef PATH | |
75 CollectionId rowid = CreateCollectionRow(&row1); | |
76 EXPECT_EQ(rowid, row1.id); | |
77 | |
78 CollectionRow row2; | |
79 EXPECT_TRUE(GetCollectionRow(rowid, &row2)); | |
80 EXPECT_EQ(std::string("path1/path2"), row2.path.value()); | |
81 } | |
82 | |
83 } // namespace media_gallery | |
OLD | NEW |