Index: chrome/browser/extensions/api/file_system/file_system_apitest.cc |
diff --git a/chrome/browser/extensions/api/file_system/file_system_apitest.cc b/chrome/browser/extensions/api/file_system/file_system_apitest.cc |
index 0bc334da3a5cf8df4fe9f09d813f275b431ab32d..d8d93b37acf096b91fc2b5585f691272e1e22e3c 100644 |
--- a/chrome/browser/extensions/api/file_system/file_system_apitest.cc |
+++ b/chrome/browser/extensions/api/file_system/file_system_apitest.cc |
@@ -6,6 +6,7 @@ |
#include "base/path_service.h" |
#include "chrome/browser/extensions/api/file_system/file_system_api.h" |
#include "chrome/browser/extensions/platform_app_browsertest_util.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
using extensions::FileSystemChooseFileFunction; |
@@ -202,3 +203,28 @@ IN_PROC_BROWSER_TEST_F(FileSystemApiTest, FileSystemApiIsWritableTest) { |
ASSERT_TRUE(RunPlatformAppTest( |
"api_test/file_system/is_writable_file_entry")) << message_; |
} |
+ |
+class FileSystemApiUnitTest : public testing::Test { |
benwells
2012/07/26 08:10:23
This should go in file file_system_unittest.cc, an
thorogood
2012/07/27 03:14:38
Done.
|
+}; |
+ |
+TEST_F(FileSystemApiUnitTest, |
+ FileSystemChooseFileFunctionFileTypeInfoTest) { |
+ // AcceptsAllTypes is ignored when no other extensions are available. |
+ scoped_ptr<SelectFileDialog::FileTypeInfo> file_type_info( |
+ new SelectFileDialog::FileTypeInfo()); |
+ bool acceptsAllTypes = false; |
+ FileSystemChooseFileFunction::BuildFileTypeInfo(file_type_info.get(), |
+ NULL, &acceptsAllTypes); |
+ EXPECT_TRUE(file_type_info->include_all_files); |
+ EXPECT_TRUE(file_type_info->extensions.empty()); |
+ |
+ // Test grouping of multiple types. |
+ file_type_info.reset(new SelectFileDialog::FileTypeInfo()); |
+ std::vector<std::string> accepts; |
+ accepts.push_back(".jso,application/x-chrome-extension"); |
+ acceptsAllTypes = false; |
+ FileSystemChooseFileFunction::BuildFileTypeInfo(file_type_info.get(), |
+ &accepts, &acceptsAllTypes); |
+ EXPECT_FALSE(file_type_info->include_all_files); |
+ EXPECT_EQ(file_type_info->extensions.size(), (size_t) 1); |
+} |