| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/browser/chromeos/drive/file_change.h" | 5 #include "chrome/browser/chromeos/drive/file_change.h" |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 namespace drive { | 9 namespace drive { |
| 10 | 10 |
| 11 TEST(FileChangeTest, Getters) { | 11 TEST(ChangeListTest, FileChange_Change) { |
| 12 base::FilePath change_path(FILE_PATH_LITERAL("test")); | 12 FileChange::ChangeType change_type = FileChange::ADD_OR_UPDATE; |
| 13 FileChange::Type change_type = FileChange::ADDED; | 13 FileType file_type = FileChange::FILE_TYPE_FILE; |
| 14 | 14 |
| 15 FileChange file_change(change_path, change_type); | 15 FileChange::Change change1(change_type, file_type); |
| 16 EXPECT_EQ(change_type, change1.change()); |
| 17 EXPECT_EQ(file_type, change1.file_type()); |
| 16 | 18 |
| 17 EXPECT_EQ(change_path, file_change.path()); | 19 FileChange::Change change2(change_type, file_type); |
| 18 EXPECT_EQ(change_type, file_change.type()); | 20 EXPECT_EQ(change_type, change1.change()); |
| 21 EXPECT_EQ(file_type, change1.file_type()); |
| 22 EXPECT_EQ(change1, change2); |
| 23 |
| 24 FileChange::Change change3(change_type, FileChange::FILE_TYPE_DIRECTORY); |
| 25 EXPECT_EQ(change_type, change3.change()); |
| 26 EXPECT_EQ(FILE_TYPE_DIRECTORY, change3.file_type()); |
| 27 EXPECT_TRUE(!(change1 == change3)); |
| 19 } | 28 } |
| 20 | 29 |
| 21 TEST(FileChangeTest, FactoryMethod) { | 30 TEST(ChangeListTest, FileChangeChangeList) { |
| 22 base::FilePath change_path(FILE_PATH_LITERAL("a/b/c/d")); | 31 FileChange::ChangeList changes; |
| 23 FileChange::Type change_type = FileChange::CHANGED; | 32 EXPECT_TRUE(changes.empty()); |
| 33 EXPECT_EQ(0u, changes.size()); |
| 24 | 34 |
| 25 FileChangeSet changed_files = | 35 changes.Update(FileChange::Change(FileChange::ADD_OR_UPDATE, |
| 26 FileChange::CreateSingleSet(change_path, change_type); | 36 FileChange::FILE_TYPE_FILE)); |
| 27 | 37 EXPECT_EQ(1u, changes.size()); |
| 28 ASSERT_EQ(1u, changed_files.size()); | |
| 29 FileChangeSet::iterator it = changed_files.begin(); | |
| 30 | |
| 31 EXPECT_EQ(change_path, it->path()); | |
| 32 EXPECT_EQ(change_type, it->type()); | |
| 33 } | 38 } |
| 34 | 39 |
| 35 TEST(FileChangeTest, Equals) { | 40 TEST(ChangeListTest, FileChange) { |
| 36 // Change is equal if and only if both path and type are equal. | 41 base::FilePath change_path1(FILE_PATH_LITERAL("test")); |
| 37 // Paths differ, types are equal. | 42 base::FilePath change_path2(FILE_PATH_LITERAL("a/b/c/d")); |
| 38 FileChange file_change1(base::FilePath(FILE_PATH_LITERAL("a")), | 43 base::FilePath change_path3(FILE_PATH_LITERAL("a/b/c/e")); |
| 39 FileChange::ADDED); | 44 base::FilePath change_dir(FILE_PATH_LITERAL("a/b/c")); |
| 40 FileChange file_change2(base::FilePath(FILE_PATH_LITERAL("b")), | |
| 41 FileChange::ADDED); | |
| 42 EXPECT_EQ(file_change1, file_change1); | |
| 43 EXPECT_FALSE(file_change1 == file_change2); | |
| 44 | 45 |
| 45 // Paths are equal, types differ. | 46 FileChange changed_files; |
| 46 FileChange file_change3(base::FilePath(FILE_PATH_LITERAL("a")), | 47 changed_files.Update(change_path1, |
| 47 FileChange::DELETED); | 48 FileChange::FILE_TYPE_FILE, |
| 48 FileChange file_change4(base::FilePath(FILE_PATH_LITERAL("a")), | 49 FileChange::ADD_OR_UPDATE); |
| 49 FileChange::CHANGED); | 50 changed_files.Update(change_path2, |
| 50 EXPECT_FALSE(file_change3 == file_change4); | 51 FileChange::FILE_TYPE_FILE, |
| 52 FileChange::ADD_OR_UPDATE); |
| 53 changed_files.Update(change_path2, |
| 54 FileChange::FILE_TYPE_FILE, |
| 55 FileChange::ADD_OR_UPDATE); |
| 56 changed_files.Update(change_path3, |
| 57 FileChange::FILE_TYPE_FILE, |
| 58 FileChange::ADD_OR_UPDATE); |
| 51 | 59 |
| 52 // Paths and types are equal. | 60 ASSERT_EQ(3u, changed_files.size()); |
| 53 FileChange file_change5(base::FilePath(FILE_PATH_LITERAL("c")), | 61 ASSERT_EQ(2u, changed_files.CountDirectory(change_dir)); |
| 54 FileChange::ADDED); | |
| 55 FileChange file_change6(base::FilePath(FILE_PATH_LITERAL("c")), | |
| 56 FileChange::ADDED); | |
| 57 EXPECT_EQ(file_change5, file_change6); | |
| 58 } | |
| 59 | |
| 60 TEST(FileChangeTest, Compare) { | |
| 61 FileChange file_change1(base::FilePath(FILE_PATH_LITERAL("a")), | |
| 62 FileChange::DELETED); | |
| 63 FileChange file_change2(base::FilePath(FILE_PATH_LITERAL("a")), | |
| 64 FileChange::ADDED); | |
| 65 FileChange file_change3(base::FilePath(FILE_PATH_LITERAL("a")), | |
| 66 FileChange::CHANGED); | |
| 67 FileChange file_change4(base::FilePath(FILE_PATH_LITERAL("b")), | |
| 68 FileChange::ADDED); | |
| 69 FileChange file_change5(base::FilePath(FILE_PATH_LITERAL("c")), | |
| 70 FileChange::DELETED); | |
| 71 | |
| 72 // Comparison operator should not return true for equal values. | |
| 73 EXPECT_FALSE(file_change1 < file_change1); | |
| 74 EXPECT_FALSE(file_change2 < file_change2); | |
| 75 EXPECT_FALSE(file_change3 < file_change3); | |
| 76 EXPECT_FALSE(file_change4 < file_change4); | |
| 77 EXPECT_FALSE(file_change5 < file_change5); | |
| 78 | |
| 79 EXPECT_LT(file_change1, file_change2); | |
| 80 EXPECT_LT(file_change1, file_change3); | |
| 81 EXPECT_LT(file_change1, file_change4); | |
| 82 EXPECT_LT(file_change1, file_change5); | |
| 83 | |
| 84 EXPECT_FALSE(file_change2 < file_change1); | |
| 85 EXPECT_LT(file_change2, file_change3); | |
| 86 EXPECT_LT(file_change2, file_change4); | |
| 87 EXPECT_LT(file_change2, file_change5); | |
| 88 | |
| 89 EXPECT_FALSE(file_change3 < file_change1); | |
| 90 EXPECT_FALSE(file_change3 < file_change2); | |
| 91 EXPECT_LT(file_change3, file_change4); | |
| 92 EXPECT_LT(file_change3, file_change5); | |
| 93 | |
| 94 EXPECT_FALSE(file_change4 < file_change1); | |
| 95 EXPECT_FALSE(file_change4 < file_change2); | |
| 96 EXPECT_FALSE(file_change4 < file_change3); | |
| 97 EXPECT_LT(file_change4, file_change5); | |
| 98 } | 62 } |
| 99 | 63 |
| 100 } // namespace drive | 64 } // namespace drive |
| OLD | NEW |