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

Unified Diff: chrome/browser/chromeos/extensions/file_manager/file_manager_browsertest.cc

Issue 16016002: Parameterize FileManagerBrowserTransferTest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/extensions/file_manager/file_manager_browsertest.cc
diff --git a/chrome/browser/chromeos/extensions/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/extensions/file_manager/file_manager_browsertest.cc
index 6ec9d31d303e3049097870202917ff1d5da562fe..975630a52c2d6d25dd558ca83f61e627bebe5073 100644
--- a/chrome/browser/chromeos/extensions/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/file_manager_browsertest.cc
@@ -47,6 +47,16 @@ enum SharedOption {
SHARED,
};
+enum GestModeOption {
hashimoto 2013/05/31 09:16:21 s/Gest/Guest/?
hirono 2013/06/03 01:45:53 Done.
+ NOT_IN_GEST_MODE,
+ IN_GEST_MODE
+};
+
+std::ostream& operator<<(std::ostream& os, const GestModeOption& option) {
hashimoto 2013/05/31 09:16:21 Please add a comment to describe why we need this.
hirono 2013/06/03 01:45:53 Done.
+ return os << (option == NOT_IN_GEST_MODE ?
+ "Not in guest mode" : "In gest mode");
+}
+
struct TestEntryInfo {
EntryType type;
const char* source_file_name; // Source file name to be used as a prototype.
@@ -314,11 +324,13 @@ class DriveTestVolume : public TestVolume {
// The base test class. Used by FileManagerBrowserLocalTest,
// FileManagerBrowserDriveTest, and FileManagerBrowserTransferTest.
-// The boolean parameter, retrieved by GetParam(), is true if testing in the
-// guest mode. See SetUpCommandLine() below for details.
-class FileManagerBrowserTestBase : public ExtensionApiTest,
- public ::testing::WithParamInterface<bool> {
+class FileManagerBrowserTestBase : public ExtensionApiTest {
protected:
+ // gest_mode is true if testing in the guest mode. See SetUpCommandLine()
hashimoto 2013/05/31 09:16:21 nit: I think this comment is useless or at least w
hirono 2013/06/03 01:45:53 Done.
+ // below for details.
+ explicit FileManagerBrowserTestBase(GestModeOption gest_mode) :
+ gest_mode_(gest_mode_) {}
+
// Adds an incognito and guest-mode flags for tests in the guest mode.
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE;
@@ -332,11 +344,13 @@ class FileManagerBrowserTestBase : public ExtensionApiTest,
// Runs the file display test on the passed |volume|, shared by subclasses.
void DoTestFileDisplay(TestVolume* volume);
+
+ private:
+ GestModeOption gest_mode_;
};
void FileManagerBrowserTestBase::SetUpCommandLine(CommandLine* command_line) {
- bool in_guest_mode = GetParam();
- if (in_guest_mode) {
+ if (gest_mode_ == IN_GEST_MODE) {
command_line->AppendSwitch(chromeos::switches::kGuestSession);
command_line->AppendSwitchNative(chromeos::switches::kLoginUser, "");
command_line->AppendSwitch(switches::kIncognito);
@@ -349,7 +363,7 @@ void FileManagerBrowserTestBase::StartTest(const std::string& test_name) {
const extensions::Extension* extension = LoadExtensionAsComponent(path);
ASSERT_TRUE(extension);
- bool in_guest_mode = GetParam();
+ bool in_guest_mode = gest_mode_ == IN_GEST_MODE;
ExtensionTestMessageListener listener(
in_guest_mode ? "which test guest" : "which test non-guest", true);
ASSERT_TRUE(listener.WaitUntilSatisfied());
@@ -384,9 +398,12 @@ void FileManagerBrowserTestBase::DoTestFileDisplay(TestVolume* volume) {
}
// A class to test local volumes.
-class FileManagerBrowserLocalTest : public FileManagerBrowserTestBase {
+class FileManagerBrowserLocalTest :
+ public FileManagerBrowserTestBase,
+ public ::testing::WithParamInterface<GestModeOption> {
public:
- FileManagerBrowserLocalTest() : volume_("Downloads") {}
+ FileManagerBrowserLocalTest() : FileManagerBrowserTestBase(GetParam()),
+ volume_("Downloads") {}
protected:
virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
@@ -404,16 +421,17 @@ class FileManagerBrowserLocalTest : public FileManagerBrowserTestBase {
LocalTestVolume volume_;
};
-INSTANTIATE_TEST_CASE_P(InGuestMode,
+INSTANTIATE_TEST_CASE_P(BothGuestMode,
FileManagerBrowserLocalTest,
- ::testing::Values(true));
-
-INSTANTIATE_TEST_CASE_P(InNonGuestMode,
- FileManagerBrowserLocalTest,
- ::testing::Values(false));
+ ::testing::Values(IN_GEST_MODE, NOT_IN_GEST_MODE));
// A class to test Drive's volumes
-class FileManagerBrowserDriveTest : public FileManagerBrowserTestBase {
+class FileManagerBrowserDriveTest :
+ public FileManagerBrowserTestBase,
+ public ::testing::WithParamInterface<GestModeOption> {
hashimoto 2013/05/31 09:16:21 Can't we just pass NOT_IN_GUEST_MODE to the ctor o
hirono 2013/06/03 01:45:53 Done.
+ public:
+ FileManagerBrowserDriveTest() : FileManagerBrowserTestBase(GetParam()) {}
+
protected:
virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
FileManagerBrowserTestBase::SetUpInProcessBrowserTestFixture();
@@ -438,12 +456,20 @@ class FileManagerBrowserDriveTest : public FileManagerBrowserTestBase {
// Don't test Drive in the guest mode as it's not supported.
INSTANTIATE_TEST_CASE_P(InNonGuestMode,
FileManagerBrowserDriveTest,
- ::testing::Values(false));
+ ::testing::Values(NOT_IN_GEST_MODE));
+
+typedef std::tr1::tuple<GestModeOption, const char*> TransferTestParam;
// A class to test both local and Drive's volumes.
-class FileManagerBrowserTransferTest : public FileManagerBrowserTestBase {
+class FileManagerBrowserJavaScriptTest :
hashimoto 2013/05/31 09:16:21 "JavaScriptTest" seems to be too generic. Why did
hirono 2013/06/03 01:45:53 To parameterize all the tests, I removed FileManag
+ public FileManagerBrowserTestBase,
+ public ::testing::WithParamInterface<TransferTestParam> {
public:
- FileManagerBrowserTransferTest() : local_volume_("Downloads") {}
+ FileManagerBrowserJavaScriptTest() :
+ // FileManagerBrowserJavaScriptTest depends on Drive, which is not
+ // supported in the guest mode.
+ FileManagerBrowserTestBase(std::tr1::get<0>(GetParam())),
+ local_volume_("Downloads") {}
protected:
virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
@@ -468,11 +494,20 @@ class FileManagerBrowserTransferTest : public FileManagerBrowserTestBase {
DriveTestVolume drive_volume_;
};
-// FileManagerBrowserTransferTest depends on Drive and Drive is not supported in
-// the guest mode.
-INSTANTIATE_TEST_CASE_P(InNonGuestMode,
- FileManagerBrowserTransferTest,
- ::testing::Values(false));
+INSTANTIATE_TEST_CASE_P(
hashimoto 2013/05/31 09:16:21 Can't we do the same thing for all tests except Fi
hirono 2013/06/03 01:45:53 Done.
+ TransferTest,
+ FileManagerBrowserJavaScriptTest,
+ ::testing::Combine(
+ ::testing::Values(NOT_IN_GEST_MODE),
+ ::testing::Values(
+ "transferFromDriveToDownloads",
+ "transferFromDownloadsToDrive",
+ "transferFromSharedToDownloads",
+ "transferFromSharedToDrive",
+ "transferFromRecentToDownloads",
+ "transferFromRecentToDrive",
+ "transferFromOfflineToDownloads",
+ "transferFromOfflineToDrive")));
IN_PROC_BROWSER_TEST_P(FileManagerBrowserLocalTest, TestFileDisplay) {
DoTestFileDisplay(&volume_);
@@ -557,60 +592,10 @@ IN_PROC_BROWSER_TEST_P(FileManagerBrowserDriveTest, TestAutocomplete) {
ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
}
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromDriveToDownloads) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromDriveToDownloads"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromDownloadsToDrive) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromDownloadsToDrive"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromSharedToDownloads) {
+IN_PROC_BROWSER_TEST_P(FileManagerBrowserJavaScriptTest,
+ ExecuteJavaScript) {
ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromSharedToDownloads"));
+ ASSERT_NO_FATAL_FAILURE(StartTest(std::tr1::get<1>(GetParam())));
ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromSharedToDrive) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromSharedToDrive"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromRecentToDownloads) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromRecentToDownloads"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromRecentToDrive) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromRecentToDrive"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromOfflineToDownloads) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromOfflineToDownloads"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest,
- TransferFromOfflineToDrive) {
- ResultCatcher catcher;
- ASSERT_NO_FATAL_FAILURE(StartTest("transferFromOfflineToDrive"));
- ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
} // namespace
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698