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

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

Issue 154473002: Support redirectUrl at onHeadersReceived in WebRequest / DWR API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix WebRequestRulesRegistrySimpleTest.StageChecker test Created 6 years, 8 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
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_rules_ registry.h" 5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_ registry.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 // Make sure that the right rule succeeded. 660 // Make sure that the right rule succeeded.
661 EXPECT_EQ(1u, matches.size()); 661 EXPECT_EQ(1u, matches.size());
662 EXPECT_EQ(WebRequestRule::GlobalRuleId(std::make_pair(kExtensionId, 662 EXPECT_EQ(WebRequestRule::GlobalRuleId(std::make_pair(kExtensionId,
663 matchingRuleIds[i])), 663 matchingRuleIds[i])),
664 (*matches.begin())->id()); 664 (*matches.begin())->id());
665 } 665 }
666 } 666 }
667 667
668 TEST(WebRequestRulesRegistrySimpleTest, StageChecker) { 668 TEST(WebRequestRulesRegistrySimpleTest, StageChecker) {
669 // The contentType condition can only be evaluated during ON_HEADERS_RECEIVED 669 // The contentType condition can only be evaluated during ON_HEADERS_RECEIVED
670 // but the redirect action can only be executed during ON_BEFORE_REQUEST. 670 // but the SetRequestHeader action can only be executed during
671 // ON_BEFORE_SEND_HEADERS.
671 // Therefore, this is an inconsistent rule that needs to be flagged. 672 // Therefore, this is an inconsistent rule that needs to be flagged.
672 const char kRule[] = 673 const char kRule[] =
673 "{ \n" 674 "{ \n"
674 " \"id\": \"rule1\", \n" 675 " \"id\": \"rule1\", \n"
675 " \"conditions\": [ \n" 676 " \"conditions\": [ \n"
676 " { \n" 677 " { \n"
677 " \"instanceType\": \"declarativeWebRequest.RequestMatcher\", \n" 678 " \"instanceType\": \"declarativeWebRequest.RequestMatcher\", \n"
678 " \"url\": {\"hostSuffix\": \"foo.com\"}, \n" 679 " \"url\": {\"hostSuffix\": \"foo.com\"}, \n"
679 " \"contentType\": [\"image/jpeg\"] \n" 680 " \"contentType\": [\"image/jpeg\"] \n"
680 " } \n" 681 " } \n"
681 " ], \n" 682 " ], \n"
682 " \"actions\": [ \n" 683 " \"actions\": [ \n"
683 " { \n" 684 " { \n"
684 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" 685 " \"instanceType\": \"declarativeWebRequest.SetRequestHeader\",\n"
685 " \"redirectUrl\": \"http://bar.com\" \n" 686 " \"name\": \"Content-Type\", \n"
686 " } \n" 687 " \"value\": \"text/plain\" \n"
687 " ], \n" 688 " } \n"
688 " \"priority\": 200 \n" 689 " ], \n"
689 "} "; 690 " \"priority\": 200 \n"
691 "} ";
690 692
691 scoped_ptr<base::Value> value(base::JSONReader::Read(kRule)); 693 scoped_ptr<base::Value> value(base::JSONReader::Read(kRule));
692 ASSERT_TRUE(value); 694 ASSERT_TRUE(value);
693 695
694 RulesRegistry::Rule rule; 696 RulesRegistry::Rule rule;
695 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value, &rule)); 697 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value, &rule));
696 698
697 std::string error; 699 std::string error;
698 URLMatcher matcher; 700 URLMatcher matcher;
699 scoped_ptr<WebRequestConditionSet> conditions = 701 scoped_ptr<WebRequestConditionSet> conditions =
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 805
804 // This is a correct match. 806 // This is a correct match.
805 GURL url2("http://foo.com/index.html"); 807 GURL url2("http://foo.com/index.html");
806 net::TestURLRequest request2(url2, net::DEFAULT_PRIORITY, NULL, &context); 808 net::TestURLRequest request2(url2, net::DEFAULT_PRIORITY, NULL, &context);
807 WebRequestData request_data2(&request2, ON_BEFORE_REQUEST); 809 WebRequestData request_data2(&request2, ON_BEFORE_REQUEST);
808 deltas = registry->CreateDeltas(NULL, request_data2, false); 810 deltas = registry->CreateDeltas(NULL, request_data2, false);
809 EXPECT_EQ(1u, deltas.size()); 811 EXPECT_EQ(1u, deltas.size());
810 } 812 }
811 813
812 } // namespace extensions 814 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698