| 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 extensions::ManifestHandler::Register( |
| 29 extension_manifest_keys::kMIMETypes, |
| 30 make_linked_ptr(new MimeTypesHandlerParser)); |
| 31 } |
| 32 }; |
| 33 |
| 34 TEST_F(StreamsPrivateManifestTest, ValidMimeTypesHandlerMIMETypes) { |
| 35 scoped_refptr<const Extension> extension = |
| 36 ExtensionBuilder() |
| 37 .SetID(extension_misc::kQuickOfficeExtensionId) |
| 38 .SetManifest(DictionaryBuilder() |
| 39 .Set("name", "file browser handler test") |
| 40 .Set("version", "1.0.0") |
| 41 .Set("manifest_version", 2) |
| 42 .Set("mime_types", ListBuilder() |
| 43 .Append("plain/text"))) |
| 44 .Build(); |
| 45 |
| 46 ASSERT_TRUE(extension.get()); |
| 47 MimeTypesHandler* handler = MimeTypesHandler::GetHandler(extension); |
| 48 ASSERT_TRUE(handler != NULL); |
| 49 |
| 50 EXPECT_FALSE(handler->CanHandleMIMEType("plain/html")); |
| 51 EXPECT_TRUE(handler->CanHandleMIMEType("plain/text")); |
| 52 } |
| 53 |
| 54 TEST_F(StreamsPrivateManifestTest, |
| 55 MimeTypesHandlerMIMETypesNotWhitelisted) { |
| 56 scoped_ptr<DictionaryValue> manifest_value = |
| 57 DictionaryBuilder() |
| 58 .Set("name", "MIME types test") |
| 59 .Set("version", "1.0.0") |
| 60 .Set("manifest_version", 2) |
| 61 .Set("mime_types", ListBuilder() |
| 62 .Append("plain/text")) |
| 63 .Build(); |
| 64 |
| 65 LoadAndExpectError(Manifest(manifest_value.get(), "MIME types test"), |
| 66 errors::kNoPermissionForMIMETypes); |
| 67 } |
| 68 |
| 69 } // namespace |
| OLD | NEW |