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

Side by Side Diff: extensions/common/url_pattern_unittest.cc

Issue 441643009: Merge 285492 "Don't allow null bytes in hosts of host permissions." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/2062/src/
Patch Set: Created 6 years, 4 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
« no previous file with comments | « extensions/common/url_pattern.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "extensions/common/url_pattern.h" 6 #include "extensions/common/url_pattern.h"
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "url/gurl.h" 8 #include "url/gurl.h"
9 9
10 namespace { 10 namespace {
(...skipping 26 matching lines...) Expand all
37 { "http:/bar", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR }, 37 { "http:/bar", URLPattern::PARSE_ERROR_WRONG_SCHEME_SEPARATOR },
38 { "http://bar", URLPattern::PARSE_ERROR_EMPTY_PATH }, 38 { "http://bar", URLPattern::PARSE_ERROR_EMPTY_PATH },
39 }; 39 };
40 40
41 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kInvalidPatterns); ++i) { 41 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kInvalidPatterns); ++i) {
42 URLPattern pattern(URLPattern::SCHEME_ALL); 42 URLPattern pattern(URLPattern::SCHEME_ALL);
43 EXPECT_EQ(kInvalidPatterns[i].expected_result, 43 EXPECT_EQ(kInvalidPatterns[i].expected_result,
44 pattern.Parse(kInvalidPatterns[i].pattern)) 44 pattern.Parse(kInvalidPatterns[i].pattern))
45 << kInvalidPatterns[i].pattern; 45 << kInvalidPatterns[i].pattern;
46 } 46 }
47
48 {
49 // Cannot use a C string, because this contains a null byte.
50 std::string null_host("http://\0www/", 12);
51 URLPattern pattern(URLPattern::SCHEME_ALL);
52 EXPECT_EQ(URLPattern::PARSE_ERROR_INVALID_HOST,
53 pattern.Parse(null_host))
54 << null_host;
55 }
47 }; 56 };
48 57
49 TEST(ExtensionURLPatternTest, Ports) { 58 TEST(ExtensionURLPatternTest, Ports) {
50 const struct { 59 const struct {
51 const char* pattern; 60 const char* pattern;
52 URLPattern::ParseResult expected_result; 61 URLPattern::ParseResult expected_result;
53 const char* expected_port; 62 const char* expected_port;
54 } kTestPatterns[] = { 63 } kTestPatterns[] = {
55 { "http://foo:1234/", URLPattern::PARSE_SUCCESS, "1234" }, 64 { "http://foo:1234/", URLPattern::PARSE_SUCCESS, "1234" },
56 { "http://foo:1234/bar", URLPattern::PARSE_SUCCESS, "1234" }, 65 { "http://foo:1234/bar", URLPattern::PARSE_SUCCESS, "1234" },
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 EXPECT_TRUE(StrictlyContains(pattern10, pattern12)); 803 EXPECT_TRUE(StrictlyContains(pattern10, pattern12));
795 EXPECT_TRUE(StrictlyContains(pattern10, pattern13)); 804 EXPECT_TRUE(StrictlyContains(pattern10, pattern13));
796 805
797 // More... 806 // More...
798 EXPECT_TRUE(StrictlyContains(pattern12, pattern11)); 807 EXPECT_TRUE(StrictlyContains(pattern12, pattern11));
799 EXPECT_TRUE(NeitherContains(pattern11, pattern13)); 808 EXPECT_TRUE(NeitherContains(pattern11, pattern13));
800 EXPECT_TRUE(StrictlyContains(pattern12, pattern13)); 809 EXPECT_TRUE(StrictlyContains(pattern12, pattern13));
801 } 810 }
802 811
803 } // namespace 812 } // namespace
OLDNEW
« no previous file with comments | « extensions/common/url_pattern.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698