| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "base/strings/string_number_conversions.h" |
| 6 #include "chrome/common/extensions/extension_builder.h" |
| 7 #include "chrome/common/extensions/extension_manifest_constants.h" |
| 8 #include "chrome/common/extensions/manifest_handler.h" |
| 9 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" |
| 10 #include "chrome/common/extensions/manifest_url_handler.h" |
| 11 #include "chrome/common/extensions/mime_types_handler.h" |
| 12 #include "chrome/common/extensions/value_builder.h" |
| 13 #include "extensions/common/error_utils.h" |
| 14 #include "testing/gtest/include/gtest/gtest.h" |
| 15 |
| 16 namespace errors = extension_manifest_errors; |
| 17 |
| 18 using extensions::DictionaryBuilder; |
| 19 using extensions::Extension; |
| 20 using extensions::ExtensionBuilder; |
| 21 using extensions::ListBuilder; |
| 22 |
| 23 namespace { |
| 24 |
| 25 class StreamsPrivateManifestTest : public ExtensionManifestTest { |
| 26 virtual void SetUp() OVERRIDE { |
| 27 ExtensionManifestTest::SetUp(); |
| 28 (new MimeTypesHandlerParser)->Register(); |
| 29 } |
| 30 }; |
| 31 |
| 32 TEST_F(StreamsPrivateManifestTest, ValidMimeTypesHandlerMIMETypes) { |
| 33 scoped_refptr<const Extension> extension = |
| 34 ExtensionBuilder() |
| 35 .SetID(extension_misc::kQuickOfficeExtensionId) |
| 36 .SetManifest(DictionaryBuilder() |
| 37 .Set("name", "MIME type handler test") |
| 38 .Set("version", "1.0.0") |
| 39 .Set("manifest_version", 2) |
| 40 .Set("mime_types", ListBuilder() |
| 41 .Append("plain/text"))) |
| 42 .Build(); |
| 43 |
| 44 ASSERT_TRUE(extension.get()); |
| 45 MimeTypesHandler* handler = MimeTypesHandler::GetHandler(extension); |
| 46 ASSERT_TRUE(handler != NULL); |
| 47 |
| 48 EXPECT_FALSE(handler->CanHandleMIMEType("plain/html")); |
| 49 EXPECT_TRUE(handler->CanHandleMIMEType("plain/text")); |
| 50 } |
| 51 |
| 52 TEST_F(StreamsPrivateManifestTest, |
| 53 MimeTypesHandlerMIMETypesNotWhitelisted) { |
| 54 scoped_refptr<const Extension> extension = |
| 55 ExtensionBuilder() |
| 56 .SetManifest(DictionaryBuilder() |
| 57 .Set("name", "MIME types test") |
| 58 .Set("version", "1.0.0") |
| 59 .Set("manifest_version", 2) |
| 60 .Set("mime_types", ListBuilder() |
| 61 .Append("plain/text"))) |
| 62 .Build(); |
| 63 |
| 64 ASSERT_TRUE(extension.get()); |
| 65 |
| 66 MimeTypesHandler* handler = MimeTypesHandler::GetHandler(extension); |
| 67 ASSERT_TRUE(handler == NULL); |
| 68 } |
| 69 |
| 70 } // namespace |
| OLD | NEW |