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

Unified Diff: chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc

Issue 24242010: Media Galleries: Refactor test to not need RunSecondPhase(). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 3 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 | chrome/test/data/extensions/api_test/media_galleries/access_attached/test.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc
===================================================================
--- chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc (revision 224775)
+++ chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc (working copy)
@@ -2,28 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/command_line.h"
+#include "base/file_util.h"
#include "base/files/scoped_temp_dir.h"
+#include "base/json/json_writer.h"
#include "base/path_service.h"
-#include "base/strings/stringprintf.h"
+#include "base/safe_numerics.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/values.h"
#include "chrome/browser/apps/app_browsertest_util.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/media_galleries/media_file_system_registry.h"
#include "chrome/browser/media_galleries/media_galleries_preferences.h"
#include "chrome/browser/media_galleries/media_galleries_test_util.h"
#include "chrome/browser/storage_monitor/storage_info.h"
#include "chrome/browser/storage_monitor/storage_monitor.h"
-#include "chrome/browser/ui/browser.h"
#include "chrome/common/chrome_paths.h"
-#include "content/public/browser/render_view_host.h"
#include "content/public/test/test_utils.h"
-#include "extensions/common/switches.h"
using extensions::PlatformAppBrowserTest;
@@ -38,8 +33,6 @@
base::FilePath::CharType kDevicePath[] = FILE_PATH_LITERAL("/qux");
#endif
-const char kTestGalleries[] = "testGalleries(%d)";
-
} // namespace
// This function is to ensure at least one (fake) media gallery exists for
@@ -68,6 +61,9 @@
class MediaGalleriesPlatformAppBrowserTest : public PlatformAppBrowserTest {
protected:
+ MediaGalleriesPlatformAppBrowserTest() : test_jpg_size_(0) {}
+ virtual ~MediaGalleriesPlatformAppBrowserTest() {}
+
virtual void SetUpOnMainThread() OVERRIDE {
PlatformAppBrowserTest::SetUpOnMainThread();
ensure_media_directories_exist_.reset(new EnsureMediaDirectoriesExists);
@@ -79,19 +75,22 @@
PlatformAppBrowserTest::TearDownOnMainThread();
}
- // Since ExtensionTestMessageListener does not work with RunPlatformAppTest(),
- // This helper method can be used to run additional media gallery tests.
- void RunSecondTestPhase(const std::string& command) {
- const extensions::Extension* extension = GetSingleLoadedExtension();
- extensions::ExtensionHost* host =
- extensions::ExtensionSystem::Get(browser()->profile())->
- process_manager()->GetBackgroundHostForExtension(extension->id());
- ASSERT_TRUE(host);
+ bool RunMediaGalleriesTest(const std::string& extension_name) {
+ base::ListValue empty_list_value;
+ return RunMediaGalleriesTestWithArg(extension_name, empty_list_value);
+ }
- ResultCatcher catcher;
- host->render_view_host()->ExecuteJavascriptInWebFrame(
- base::string16(), base::UTF8ToUTF16(command));
- EXPECT_TRUE(catcher.GetNextResult()) << message_;
+ bool RunMediaGalleriesTestWithArg(const std::string& extension_name,
+ const base::ListValue& custom_arg_value) {
+ const char* custom_arg = NULL;
+ std::string json_string;
+ if (!custom_arg_value.empty()) {
+ base::JSONWriter::Write(&custom_arg_value, &json_string);
+ custom_arg = json_string.c_str();
+ }
+
+ const char kTestDir[] = "api_test/media_galleries/";
+ return RunPlatformAppTestWithArg(kTestDir + extension_name, custom_arg);
}
void AttachFakeDevice() {
@@ -128,40 +127,51 @@
// Invalid file, should not show up as a FileEntry in JS at all.
ASSERT_TRUE(base::CopyFile(test_data_path.AppendASCII("test.txt"),
write_path.AppendASCII("test.txt")));
+
+ int64 file_size;
+ ASSERT_TRUE(file_util::GetFileSize(test_data_path.AppendASCII("test.jpg"),
+ &file_size));
+ test_jpg_size_ = base::checked_numeric_cast<int>(file_size);
}
int num_galleries() const {
return ensure_media_directories_exist_->num_galleries();
}
+ int test_jpg_size() const { return test_jpg_size_; }
+
private:
std::string device_id_;
+ int test_jpg_size_;
scoped_ptr<EnsureMediaDirectoriesExists> ensure_media_directories_exist_;
};
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
MediaGalleriesNoAccess) {
- ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/no_access"))
+ base::ListValue custom_args;
+ custom_args.AppendInteger(num_galleries());
+
+ ASSERT_TRUE(RunMediaGalleriesTestWithArg("no_access", custom_args))
<< message_;
- RunSecondTestPhase(base::StringPrintf(kTestGalleries, num_galleries()));
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, NoGalleriesRead) {
- ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/no_galleries"))
- << message_;
+ ASSERT_TRUE(RunMediaGalleriesTest("no_galleries")) << message_;
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
NoGalleriesCopyTo) {
- ASSERT_TRUE(RunPlatformAppTest(
- "api_test/media_galleries/no_galleries_copy_to")) << message_;
+ ASSERT_TRUE(RunMediaGalleriesTest("no_galleries_copy_to")) << message_;
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
MediaGalleriesRead) {
- ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/read_access"))
+ base::ListValue custom_args;
+ custom_args.AppendInteger(num_galleries());
+ custom_args.AppendInteger(test_jpg_size());
+
+ ASSERT_TRUE(RunMediaGalleriesTestWithArg("read_access", custom_args))
<< message_;
- RunSecondTestPhase(base::StringPrintf(kTestGalleries, num_galleries()));
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
@@ -169,8 +179,7 @@
base::ScopedTempDir temp_dir;
ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
MakeFakeMediaGalleryForTest(browser()->profile(), temp_dir.path());
- ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/copy_to_access"))
- << message_;
+ ASSERT_TRUE(RunMediaGalleriesTest("copy_to_access")) << message_;
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
@@ -178,26 +187,24 @@
base::ScopedTempDir temp_dir;
ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
MakeFakeMediaGalleryForTest(browser()->profile(), temp_dir.path());
- ASSERT_TRUE(RunPlatformAppTest(
- "api_test/media_galleries/copy_to_access/no_access"))
- << message_;
+ ASSERT_TRUE(RunMediaGalleriesTest("copy_to_access/no_access")) << message_;
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
MediaGalleriesAccessAttached) {
AttachFakeDevice();
- ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/access_attached"))
+ base::ListValue custom_args;
+ custom_args.AppendInteger(num_galleries() + 1);
+ custom_args.AppendString(kDeviceName);
+
+ ASSERT_TRUE(RunMediaGalleriesTestWithArg("access_attached", custom_args))
<< message_;
- RunSecondTestPhase(base::StringPrintf(
- "testGalleries(%d, \"%s\")", num_galleries() + 1, kDeviceName));
-
DetachFakeDevice();
}
IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest,
GetFilesystemMetadata) {
- ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/metadata"))
- << message_;
+ ASSERT_TRUE(RunMediaGalleriesTest("metadata")) << message_;
}
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/media_galleries/access_attached/test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698