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

Side by Side Diff: chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_unittest.cc

Issue 2914433002: arc: Use the MIME type returned by the container to handle content URLs (Closed)
Patch Set: Comment drop. Created 3 years, 6 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 <memory> 5 #include <memory>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 }, 72 },
73 counter)); 73 counter));
74 runner_->GetDocument( 74 runner_->GetDocument(
75 kAuthority, kDocumentId, 75 kAuthority, kDocumentId,
76 base::Bind( 76 base::Bind(
77 [](int* counter, mojom::DocumentPtr document) { ++*counter; }, 77 [](int* counter, mojom::DocumentPtr document) { ++*counter; },
78 counter)); 78 counter));
79 runner_->GetFileSize( 79 runner_->GetFileSize(
80 GURL(kUrl), 80 GURL(kUrl),
81 base::Bind([](int* counter, int64_t size) { ++*counter; }, counter)); 81 base::Bind([](int* counter, int64_t size) { ++*counter; }, counter));
82 runner_->GetMimeType(
83 GURL(kUrl),
84 base::Bind(
85 [](int* counter, const base::Optional<std::string>& mime_type) {
86 ++*counter;
87 },
88 counter));
82 runner_->OpenFileToRead( 89 runner_->OpenFileToRead(
83 GURL(kUrl), 90 GURL(kUrl),
84 base::Bind([](int* counter, mojo::ScopedHandle handle) { ++*counter; }, 91 base::Bind([](int* counter, mojo::ScopedHandle handle) { ++*counter; },
85 counter)); 92 counter));
86 93
87 // RemoveWatcher() is never deferred. 94 // RemoveWatcher() is never deferred.
88 runner_->RemoveWatcher( 95 runner_->RemoveWatcher(
89 123, 96 123,
90 base::Bind([](int* counter, bool success) { ++*counter; }, counter)); 97 base::Bind([](int* counter, bool success) { ++*counter; }, counter));
91 } 98 }
92 99
93 content::TestBrowserThreadBundle thread_bundle_; 100 content::TestBrowserThreadBundle thread_bundle_;
94 FakeFileSystemInstance file_system_instance_; 101 FakeFileSystemInstance file_system_instance_;
95 std::unique_ptr<ArcServiceManager> arc_service_manager_; 102 std::unique_ptr<ArcServiceManager> arc_service_manager_;
96 // Owned by |arc_service_manager_|. 103 // Owned by |arc_service_manager_|.
97 ArcFileSystemOperationRunner* runner_; 104 ArcFileSystemOperationRunner* runner_;
98 105
99 private: 106 private:
100 DISALLOW_COPY_AND_ASSIGN(ArcFileSystemOperationRunnerTest); 107 DISALLOW_COPY_AND_ASSIGN(ArcFileSystemOperationRunnerTest);
101 }; 108 };
102 109
103 TEST_F(ArcFileSystemOperationRunnerTest, RunImmediately) { 110 TEST_F(ArcFileSystemOperationRunnerTest, RunImmediately) {
104 int counter = 0; 111 int counter = 0;
105 CallSetShouldDefer(false); 112 CallSetShouldDefer(false);
106 CallAllFunctions(&counter); 113 CallAllFunctions(&counter);
107 base::RunLoop().RunUntilIdle(); 114 base::RunLoop().RunUntilIdle();
108 EXPECT_EQ(6, counter); 115 EXPECT_EQ(7, counter);
109 } 116 }
110 117
111 TEST_F(ArcFileSystemOperationRunnerTest, DeferAndRun) { 118 TEST_F(ArcFileSystemOperationRunnerTest, DeferAndRun) {
112 int counter = 0; 119 int counter = 0;
113 CallSetShouldDefer(true); 120 CallSetShouldDefer(true);
114 CallAllFunctions(&counter); 121 CallAllFunctions(&counter);
115 base::RunLoop().RunUntilIdle(); 122 base::RunLoop().RunUntilIdle();
116 EXPECT_EQ(1, counter); 123 EXPECT_EQ(1, counter);
117 124
118 CallSetShouldDefer(false); 125 CallSetShouldDefer(false);
119 base::RunLoop().RunUntilIdle(); 126 base::RunLoop().RunUntilIdle();
120 EXPECT_EQ(6, counter); 127 EXPECT_EQ(7, counter);
121 } 128 }
122 129
123 TEST_F(ArcFileSystemOperationRunnerTest, DeferAndDiscard) { 130 TEST_F(ArcFileSystemOperationRunnerTest, DeferAndDiscard) {
124 int counter = 0; 131 int counter = 0;
125 CallSetShouldDefer(true); 132 CallSetShouldDefer(true);
126 CallAllFunctions(&counter); 133 CallAllFunctions(&counter);
127 base::RunLoop().RunUntilIdle(); 134 base::RunLoop().RunUntilIdle();
128 EXPECT_EQ(1, counter); 135 EXPECT_EQ(1, counter);
129 136
130 arc_service_manager_.reset(); 137 arc_service_manager_.reset();
131 base::RunLoop().RunUntilIdle(); 138 base::RunLoop().RunUntilIdle();
132 EXPECT_EQ(1, counter); 139 EXPECT_EQ(1, counter);
133 } 140 }
134 141
135 TEST_F(ArcFileSystemOperationRunnerTest, FileInstanceUnavailable) { 142 TEST_F(ArcFileSystemOperationRunnerTest, FileInstanceUnavailable) {
136 arc_service_manager_->arc_bridge_service()->file_system()->SetInstance( 143 arc_service_manager_->arc_bridge_service()->file_system()->SetInstance(
137 nullptr); 144 nullptr);
138 145
139 int counter = 0; 146 int counter = 0;
140 CallSetShouldDefer(false); 147 CallSetShouldDefer(false);
141 CallAllFunctions(&counter); 148 CallAllFunctions(&counter);
142 base::RunLoop().RunUntilIdle(); 149 base::RunLoop().RunUntilIdle();
143 EXPECT_EQ(6, counter); 150 EXPECT_EQ(7, counter);
144 } 151 }
145 152
146 } // namespace arc 153 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698