Index: chrome/browser/extensions/api/file_handlers/api_file_handler_util_unittest.cc |
diff --git a/chrome/browser/extensions/api/file_handlers/api_file_handler_util_unittest.cc b/chrome/browser/extensions/api/file_handlers/api_file_handler_util_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6454656fc7d75b22572f3bc794304e5eb6624ac1 |
--- /dev/null |
+++ b/chrome/browser/extensions/api/file_handlers/api_file_handler_util_unittest.cc |
@@ -0,0 +1,64 @@ |
+// Copyright 2014 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/extensions/api/file_handlers/app_file_handler_util.h" |
+ |
+#include "extensions/browser/entry_info.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace extensions { |
+namespace app_file_handler_util { |
+namespace { |
+ |
+FileHandlerInfo CreateHandlerInfoFromExtension(const std::string& extension) { |
+ FileHandlerInfo handler_info; |
+ handler_info.extensions.insert(extension); |
+ return handler_info; |
+} |
+ |
+FileHandlerInfo CreateHandlerInfoFromIncludeDirectories( |
+ bool include_directories) { |
+ FileHandlerInfo handler_info; |
+ handler_info.include_directories = include_directories; |
+ return handler_info; |
+} |
+ |
+} // namespace |
+ |
+TEST(FileHandlersAppFileHandlerUtilTest, FileHandlerCanHandleEntry) { |
+ // File handler for extension "gz" should accept "*.gz", including "*.tar.gz". |
+ EXPECT_TRUE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromExtension("gz"), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("foo.gz"), |
+ "application/octet-stream", false))); |
+ EXPECT_FALSE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromExtension("gz"), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("foo.tgz"), |
+ "application/octet-stream", false))); |
+ EXPECT_TRUE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromExtension("gz"), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("foo.tar.gz"), |
+ "application/octet-stream", false))); |
+ EXPECT_FALSE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromExtension("tar.gz"), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("foo.gz"), |
+ "application/octet-stream", false))); |
+ EXPECT_TRUE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromExtension("tar.gz"), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("foo.tar.gz"), |
+ "application/octet-stream", false))); |
+ EXPECT_FALSE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromExtension("gz"), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("directory"), "", true))); |
+ |
+ EXPECT_FALSE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromIncludeDirectories(false), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("directory"), "", true))); |
+ EXPECT_TRUE(FileHandlerCanHandleEntry( |
+ CreateHandlerInfoFromIncludeDirectories(true), |
+ EntryInfo(base::FilePath::FromUTF8Unsafe("directory"), "", true))); |
+} |
+ |
+} // namespace app_file_handler_util |
+} // namespace extensions |