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

Side by Side Diff: chrome/browser/chromeos/drive/file_change_unittest.cc

Issue 343073003: Files.app: Provide detailed change information on onDirectoryChanged event (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
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 FileChange::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(FileChange::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(
47 FileChange::DELETED); 48 change_path1, FileChange::FILE_TYPE_FILE, FileChange::ADD_OR_UPDATE);
48 FileChange file_change4(base::FilePath(FILE_PATH_LITERAL("a")), 49 changed_files.Update(
49 FileChange::CHANGED); 50 change_path2, FileChange::FILE_TYPE_FILE, FileChange::ADD_OR_UPDATE);
50 EXPECT_FALSE(file_change3 == file_change4); 51 changed_files.Update(
52 change_path2, FileChange::FILE_TYPE_FILE, FileChange::ADD_OR_UPDATE);
53 changed_files.Update(
54 change_path3, FileChange::FILE_TYPE_FILE, FileChange::ADD_OR_UPDATE);
51 55
52 // Paths and types are equal. 56 ASSERT_EQ(3u, changed_files.size());
53 FileChange file_change5(base::FilePath(FILE_PATH_LITERAL("c")), 57 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 } 58 }
99 59
100 } // namespace drive 60 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/file_change.cc ('k') | chrome/browser/chromeos/drive/file_system.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698