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

Side by Side Diff: chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute_unittest.cc

Issue 136683004: Removes MessageLoop::TYPE_XXX where possible (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: resolve merge Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condit ion_attribute.h" 5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condit ion_attribute.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 14 matching lines...) Expand all
25 namespace { 25 namespace {
26 const char kUnknownConditionName[] = "unknownType"; 26 const char kUnknownConditionName[] = "unknownType";
27 } // namespace 27 } // namespace
28 28
29 namespace extensions { 29 namespace extensions {
30 30
31 namespace keys = declarative_webrequest_constants; 31 namespace keys = declarative_webrequest_constants;
32 32
33 TEST(WebRequestConditionAttributeTest, CreateConditionAttribute) { 33 TEST(WebRequestConditionAttributeTest, CreateConditionAttribute) {
34 // Necessary for TestURLRequest. 34 // Necessary for TestURLRequest.
35 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 35 base::MessageLoopForIO message_loop;
36 36
37 std::string error; 37 std::string error;
38 scoped_refptr<const WebRequestConditionAttribute> result; 38 scoped_refptr<const WebRequestConditionAttribute> result;
39 base::StringValue string_value("main_frame"); 39 base::StringValue string_value("main_frame");
40 base::ListValue resource_types; 40 base::ListValue resource_types;
41 resource_types.Append(new base::StringValue("main_frame")); 41 resource_types.Append(new base::StringValue("main_frame"));
42 42
43 // Test wrong condition name passed. 43 // Test wrong condition name passed.
44 error.clear(); 44 error.clear();
45 result = WebRequestConditionAttribute::Create( 45 result = WebRequestConditionAttribute::Create(
(...skipping 20 matching lines...) Expand all
66 keys::kResourceTypeKey, &resource_types, &error); 66 keys::kResourceTypeKey, &resource_types, &error);
67 EXPECT_EQ("", error); 67 EXPECT_EQ("", error);
68 ASSERT_TRUE(result.get()); 68 ASSERT_TRUE(result.get());
69 EXPECT_EQ(WebRequestConditionAttribute::CONDITION_RESOURCE_TYPE, 69 EXPECT_EQ(WebRequestConditionAttribute::CONDITION_RESOURCE_TYPE,
70 result->GetType()); 70 result->GetType());
71 EXPECT_EQ(std::string(keys::kResourceTypeKey), result->GetName()); 71 EXPECT_EQ(std::string(keys::kResourceTypeKey), result->GetName());
72 } 72 }
73 73
74 TEST(WebRequestConditionAttributeTest, ResourceType) { 74 TEST(WebRequestConditionAttributeTest, ResourceType) {
75 // Necessary for TestURLRequest. 75 // Necessary for TestURLRequest.
76 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 76 base::MessageLoopForIO message_loop;
77 77
78 std::string error; 78 std::string error;
79 base::ListValue resource_types; 79 base::ListValue resource_types;
80 // The 'sub_frame' value is chosen arbitrarily, so as the corresponding 80 // The 'sub_frame' value is chosen arbitrarily, so as the corresponding
81 // ResourceType::Type is not 0, the default value. 81 // ResourceType::Type is not 0, the default value.
82 resource_types.Append(new base::StringValue("sub_frame")); 82 resource_types.Append(new base::StringValue("sub_frame"));
83 83
84 scoped_refptr<const WebRequestConditionAttribute> attribute = 84 scoped_refptr<const WebRequestConditionAttribute> attribute =
85 WebRequestConditionAttribute::Create( 85 WebRequestConditionAttribute::Create(
86 keys::kResourceTypeKey, &resource_types, &error); 86 keys::kResourceTypeKey, &resource_types, &error);
(...skipping 12 matching lines...) Expand all
99 net::TestURLRequest url_request_fail( 99 net::TestURLRequest url_request_fail(
100 GURL("http://www.example.com"), net::DEFAULT_PRIORITY, NULL, &context); 100 GURL("http://www.example.com"), net::DEFAULT_PRIORITY, NULL, &context);
101 content::ResourceRequestInfo::AllocateForTesting( 101 content::ResourceRequestInfo::AllocateForTesting(
102 &url_request_fail, ResourceType::MAIN_FRAME, NULL, -1, -1, -1, false); 102 &url_request_fail, ResourceType::MAIN_FRAME, NULL, -1, -1, -1, false);
103 EXPECT_FALSE(attribute->IsFulfilled(WebRequestData(&url_request_fail, 103 EXPECT_FALSE(attribute->IsFulfilled(WebRequestData(&url_request_fail,
104 ON_BEFORE_REQUEST))); 104 ON_BEFORE_REQUEST)));
105 } 105 }
106 106
107 TEST(WebRequestConditionAttributeTest, ContentType) { 107 TEST(WebRequestConditionAttributeTest, ContentType) {
108 // Necessary for TestURLRequest. 108 // Necessary for TestURLRequest.
109 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 109 base::MessageLoopForIO message_loop;
110 110
111 std::string error; 111 std::string error;
112 scoped_refptr<const WebRequestConditionAttribute> result; 112 scoped_refptr<const WebRequestConditionAttribute> result;
113 113
114 net::SpawnedTestServer test_server( 114 net::SpawnedTestServer test_server(
115 net::SpawnedTestServer::TYPE_HTTP, 115 net::SpawnedTestServer::TYPE_HTTP,
116 net::SpawnedTestServer::kLocalhost, 116 net::SpawnedTestServer::kLocalhost,
117 base::FilePath(FILE_PATH_LITERAL( 117 base::FilePath(FILE_PATH_LITERAL(
118 "chrome/test/data/extensions/api_test/webrequest/declarative"))); 118 "chrome/test/data/extensions/api_test/webrequest/declarative")));
119 ASSERT_TRUE(test_server.Start()); 119 ASSERT_TRUE(test_server.Start());
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 EXPECT_TRUE(attribute_unexcluded->IsFulfilled( 170 EXPECT_TRUE(attribute_unexcluded->IsFulfilled(
171 WebRequestData(&url_request, ON_HEADERS_RECEIVED, 171 WebRequestData(&url_request, ON_HEADERS_RECEIVED,
172 url_request.response_headers()))); 172 url_request.response_headers())));
173 EXPECT_EQ(std::string(keys::kExcludeContentTypeKey), 173 EXPECT_EQ(std::string(keys::kExcludeContentTypeKey),
174 attribute_unexcluded->GetName()); 174 attribute_unexcluded->GetName());
175 } 175 }
176 176
177 // Testing WebRequestConditionAttributeThirdParty. 177 // Testing WebRequestConditionAttributeThirdParty.
178 TEST(WebRequestConditionAttributeTest, ThirdParty) { 178 TEST(WebRequestConditionAttributeTest, ThirdParty) {
179 // Necessary for TestURLRequest. 179 // Necessary for TestURLRequest.
180 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 180 base::MessageLoopForIO message_loop;
181 181
182 std::string error; 182 std::string error;
183 const FundamentalValue value_true(true); 183 const FundamentalValue value_true(true);
184 // This attribute matches only third party requests. 184 // This attribute matches only third party requests.
185 scoped_refptr<const WebRequestConditionAttribute> third_party_attribute = 185 scoped_refptr<const WebRequestConditionAttribute> third_party_attribute =
186 WebRequestConditionAttribute::Create(keys::kThirdPartyKey, 186 WebRequestConditionAttribute::Create(keys::kThirdPartyKey,
187 &value_true, 187 &value_true,
188 &error); 188 &error);
189 ASSERT_EQ("", error); 189 ASSERT_EQ("", error);
190 ASSERT_TRUE(third_party_attribute.get()); 190 ASSERT_TRUE(third_party_attribute.get());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 stage))); 232 stage)));
233 } 233 }
234 } 234 }
235 235
236 // Testing WebRequestConditionAttributeStages. This iterates over all stages, 236 // Testing WebRequestConditionAttributeStages. This iterates over all stages,
237 // and tests a couple of "stage" attributes -- one created with an empty set of 237 // and tests a couple of "stage" attributes -- one created with an empty set of
238 // applicable stages, one for each stage applicable for that stage, and one 238 // applicable stages, one for each stage applicable for that stage, and one
239 // applicable in all stages. 239 // applicable in all stages.
240 TEST(WebRequestConditionAttributeTest, Stages) { 240 TEST(WebRequestConditionAttributeTest, Stages) {
241 // Necessary for TestURLRequest. 241 // Necessary for TestURLRequest.
242 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 242 base::MessageLoopForIO message_loop;
243 243
244 typedef std::pair<RequestStage, const char*> StageNamePair; 244 typedef std::pair<RequestStage, const char*> StageNamePair;
245 static const StageNamePair active_stages[] = { 245 static const StageNamePair active_stages[] = {
246 StageNamePair(ON_BEFORE_REQUEST, keys::kOnBeforeRequestEnum), 246 StageNamePair(ON_BEFORE_REQUEST, keys::kOnBeforeRequestEnum),
247 StageNamePair(ON_BEFORE_SEND_HEADERS, keys::kOnBeforeSendHeadersEnum), 247 StageNamePair(ON_BEFORE_SEND_HEADERS, keys::kOnBeforeSendHeadersEnum),
248 StageNamePair(ON_HEADERS_RECEIVED, keys::kOnHeadersReceivedEnum), 248 StageNamePair(ON_HEADERS_RECEIVED, keys::kOnHeadersReceivedEnum),
249 StageNamePair(ON_AUTH_REQUIRED, keys::kOnAuthRequiredEnum) 249 StageNamePair(ON_AUTH_REQUIRED, keys::kOnAuthRequiredEnum)
250 }; 250 };
251 251
252 // Check that exactly all active stages are considered in this test. 252 // Check that exactly all active stages are considered in this test.
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 } 411 }
412 412
413 } // namespace 413 } // namespace
414 414
415 // Here we test WebRequestConditionAttributeRequestHeaders for matching 415 // Here we test WebRequestConditionAttributeRequestHeaders for matching
416 // correctly against request headers. This test is not as extensive as 416 // correctly against request headers. This test is not as extensive as
417 // "ResponseHeaders" (below), because the header-matching code is shared 417 // "ResponseHeaders" (below), because the header-matching code is shared
418 // by both types of condition attributes, so it is enough to test it once. 418 // by both types of condition attributes, so it is enough to test it once.
419 TEST(WebRequestConditionAttributeTest, RequestHeaders) { 419 TEST(WebRequestConditionAttributeTest, RequestHeaders) {
420 // Necessary for TestURLRequest. 420 // Necessary for TestURLRequest.
421 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 421 base::MessageLoopForIO message_loop;
422 422
423 net::TestURLRequestContext context; 423 net::TestURLRequestContext context;
424 net::TestDelegate delegate; 424 net::TestDelegate delegate;
425 net::TestURLRequest url_request(GURL("http://example.com"), // Dummy URL. 425 net::TestURLRequest url_request(GURL("http://example.com"), // Dummy URL.
426 net::DEFAULT_PRIORITY, 426 net::DEFAULT_PRIORITY,
427 &delegate, 427 &delegate,
428 &context); 428 &context);
429 url_request.SetExtraRequestHeaderByName( 429 url_request.SetExtraRequestHeaderByName(
430 "Custom-header", "custom/value", true /* overwrite */); 430 "Custom-header", "custom/value", true /* overwrite */);
431 url_request.Start(); 431 url_request.Start();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 tests, keys::kExcludeRequestHeadersKey, stage, &url_request, &result); 491 tests, keys::kExcludeRequestHeadersKey, stage, &url_request, &result);
492 EXPECT_FALSE(result); 492 EXPECT_FALSE(result);
493 } 493 }
494 494
495 // Here we test WebRequestConditionAttributeResponseHeaders for: 495 // Here we test WebRequestConditionAttributeResponseHeaders for:
496 // 1. Correct implementation of prefix/suffix/contains/equals matching. 496 // 1. Correct implementation of prefix/suffix/contains/equals matching.
497 // 2. Performing logical disjunction (||) between multiple specifications. 497 // 2. Performing logical disjunction (||) between multiple specifications.
498 // 3. Negating the match in case of 'doesNotContainHeaders'. 498 // 3. Negating the match in case of 'doesNotContainHeaders'.
499 TEST(WebRequestConditionAttributeTest, ResponseHeaders) { 499 TEST(WebRequestConditionAttributeTest, ResponseHeaders) {
500 // Necessary for TestURLRequest. 500 // Necessary for TestURLRequest.
501 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); 501 base::MessageLoopForIO message_loop;
502 502
503 net::SpawnedTestServer test_server( 503 net::SpawnedTestServer test_server(
504 net::SpawnedTestServer::TYPE_HTTP, 504 net::SpawnedTestServer::TYPE_HTTP,
505 net::SpawnedTestServer::kLocalhost, 505 net::SpawnedTestServer::kLocalhost,
506 base::FilePath(FILE_PATH_LITERAL( 506 base::FilePath(FILE_PATH_LITERAL(
507 "chrome/test/data/extensions/api_test/webrequest/declarative"))); 507 "chrome/test/data/extensions/api_test/webrequest/declarative")));
508 ASSERT_TRUE(test_server.Start()); 508 ASSERT_TRUE(test_server.Start());
509 509
510 net::TestURLRequestContext context; 510 net::TestURLRequestContext context;
511 net::TestDelegate delegate; 511 net::TestDelegate delegate;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 keys::kValueEqualsKey, "valueB" 674 keys::kValueEqualsKey, "valueB"
675 }; 675 };
676 const size_t kExistingSize[] = { arraysize(kExisting) }; 676 const size_t kExistingSize[] = { arraysize(kExisting) };
677 GetArrayAsVector(kExisting, kExistingSize, 1u, &tests); 677 GetArrayAsVector(kExisting, kExistingSize, 1u, &tests);
678 MatchAndCheck( 678 MatchAndCheck(
679 tests, keys::kExcludeResponseHeadersKey, stage, &url_request, &result); 679 tests, keys::kExcludeResponseHeadersKey, stage, &url_request, &result);
680 EXPECT_FALSE(result); 680 EXPECT_FALSE(result);
681 } 681 }
682 682
683 } // namespace extensions 683 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698