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

Side by Side Diff: chrome/browser/extensions/api/streams_private/streams_private_manifest_unittest.cc

Issue 12381035: Move Mime type handling to streamsPrivate API, so that it works on Desktop Chrome. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix base files Created 7 years, 9 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 unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698