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

Unified Diff: chrome/browser/chromeos/drive/file_write_watcher_unittest.cc

Issue 1215503010: OBSOLETE: Move (most of) chrome/browser/chromeos/drive into components/drive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@drive-componentize-service
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/drive/file_write_watcher_unittest.cc
diff --git a/chrome/browser/chromeos/drive/file_write_watcher_unittest.cc b/chrome/browser/chromeos/drive/file_write_watcher_unittest.cc
deleted file mode 100644
index 3c9fe1ca8d33813ef8ccf87047bfb43cab0979e6..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/drive/file_write_watcher_unittest.cc
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chromeos/drive/file_write_watcher.h"
-
-#include <set>
-
-#include "base/bind.h"
-#include "base/files/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/run_loop.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/test/test_browser_thread_bundle.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace drive {
-namespace internal {
-
-namespace {
-
-class TestObserver {
- public:
- // After all the resource_ids in |expected_upload| are notified for the
- // need of uploading, runs |quit_closure|. Also checks that each id is
- // notified only once.
- TestObserver(const std::set<std::string>& expected_upload,
- const base::Closure& quit_closure)
- : expected_upload_(expected_upload),
- quit_closure_(quit_closure) {
- }
-
- void OnWrite(const std::string& id) {
- EXPECT_EQ(1U, expected_upload_.count(id)) << id;
- expected_upload_.erase(id);
- if (expected_upload_.empty())
- quit_closure_.Run();
- }
-
- private:
- std::set<std::string> expected_upload_;
- base::Closure quit_closure_;
-};
-
-// Writes something on the file at |path|.
-void WriteSomethingAfterStartWatch(const base::FilePath& path,
- bool watch_success) {
- EXPECT_TRUE(watch_success) << path.value();
-
- const char kDummy[] = "hello";
- ASSERT_TRUE(base::WriteFile(path, kDummy, arraysize(kDummy)));
-}
-
-class FileWriteWatcherTest : public testing::Test {
- protected:
- // The test requires UI thread (FileWriteWatcher DCHECKs that its public
- // interface is running on UI thread) and FILE thread (Linux version of
- // base::FilePathWatcher needs to live on an IOAllowed thread with TYPE_IO,
- // which is FILE thread in the production environment).
- //
- // By using the IO_MAINLOOP test thread bundle, the main thread is used
- // both as UI and FILE thread, with TYPE_IO message loop.
- FileWriteWatcherTest()
- : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
- }
-
- void SetUp() override { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); }
-
- base::FilePath GetTempPath(const std::string& name) {
- return temp_dir_.path().Append(name);
- }
-
- private:
- content::TestBrowserThreadBundle thread_bundle_;
- base::ScopedTempDir temp_dir_;
-};
-
-} // namespace
-
-TEST_F(FileWriteWatcherTest, WatchThreeFiles) {
- std::set<std::string> expected;
- expected.insert("1");
- expected.insert("2");
- expected.insert("3");
-
- base::RunLoop loop;
- TestObserver observer(expected, loop.QuitClosure());
-
- // Set up the watcher.
- scoped_refptr<base::SingleThreadTaskRunner> file_task_runner =
- content::BrowserThread::GetMessageLoopProxyForThread(
- content::BrowserThread::FILE);
- FileWriteWatcher watcher(file_task_runner.get());
- watcher.DisableDelayForTesting();
-
- // Start watching and running.
- base::FilePath path1 = GetTempPath("foo.txt");
- base::FilePath path2 = GetTempPath("bar.png");
- base::FilePath path3 = GetTempPath("buz.doc");
- base::FilePath path4 = GetTempPath("mya.mp3");
- watcher.StartWatch(
- path1,
- base::Bind(&WriteSomethingAfterStartWatch, path1),
- base::Bind(&TestObserver::OnWrite, base::Unretained(&observer), "1"));
- watcher.StartWatch(
- path2,
- base::Bind(&WriteSomethingAfterStartWatch, path2),
- base::Bind(&TestObserver::OnWrite, base::Unretained(&observer), "2"));
- watcher.StartWatch(
- path3,
- base::Bind(&WriteSomethingAfterStartWatch, path3),
- base::Bind(&TestObserver::OnWrite, base::Unretained(&observer), "3"));
-
- // Unwatched write. It shouldn't be notified.
- WriteSomethingAfterStartWatch(path4, true);
-
- // The loop should quit if all the three paths are notified to be written.
- loop.Run();
-}
-
-} // namespace internal
-} // namespace drive

Powered by Google App Engine
This is Rietveld 408576698