| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "net/base/ip_pattern.h" | 5 #include "net/base/ip_pattern.h" | 
| 6 | 6 | 
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" | 
| 8 | 8 | 
| 9 namespace net { | 9 namespace net { | 
| 10 | 10 | 
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 119   EXPECT_FALSE(CheckForMatch(pattern_v4, "1.2.3.6")); | 119   EXPECT_FALSE(CheckForMatch(pattern_v4, "1.2.3.6")); | 
| 120   EXPECT_FALSE(CheckForMatch(pattern_v4, "1.4.3.4")); | 120   EXPECT_FALSE(CheckForMatch(pattern_v4, "1.4.3.4")); | 
| 121   EXPECT_TRUE(CheckForMatch(pattern_v4, "1.2.3.4")); | 121   EXPECT_TRUE(CheckForMatch(pattern_v4, "1.2.3.4")); | 
| 122 | 122 | 
| 123   IPPattern pattern_v6; | 123   IPPattern pattern_v6; | 
| 124   EXPECT_TRUE(pattern_v6.ParsePattern("1:2fab:3:4:[5-7]:6:7:[8-A]")); | 124   EXPECT_TRUE(pattern_v6.ParsePattern("1:2fab:3:4:[5-7]:6:7:[8-A]")); | 
| 125   EXPECT_FALSE(pattern_v6.is_ipv4()); | 125   EXPECT_FALSE(pattern_v6.is_ipv4()); | 
| 126   EXPECT_FALSE(CheckForMatch(pattern_v6, "1:2fab:3:4:4:5:7:F")); | 126   EXPECT_FALSE(CheckForMatch(pattern_v6, "1:2fab:3:4:4:5:7:F")); | 
| 127   EXPECT_FALSE(CheckForMatch(pattern_v6, "1:2fab:3:4:5:5:7:F")); | 127   EXPECT_FALSE(CheckForMatch(pattern_v6, "1:2fab:3:4:5:5:7:F")); | 
| 128   EXPECT_FALSE(CheckForMatch(pattern_v6, "1:2fab:3:4:4:6:7:A")); | 128   EXPECT_FALSE(CheckForMatch(pattern_v6, "1:2fab:3:4:4:6:7:A")); | 
| 129   EXPECT_TRUE(CheckForMatch(pattern_v6,  "1:2fab:3:4:5:6:7:A")); | 129   EXPECT_TRUE(CheckForMatch(pattern_v6, "1:2fab:3:4:5:6:7:A")); | 
| 130 } | 130 } | 
| 131 | 131 | 
| 132 TEST(IPPatternTest, BytoOrderInIPv6Ranges) { | 132 TEST(IPPatternTest, BytoOrderInIPv6Ranges) { | 
| 133   IPPattern pattern_v6_low_byte; | 133   IPPattern pattern_v6_low_byte; | 
| 134   EXPECT_TRUE(pattern_v6_low_byte.ParsePattern("1:2:3:4:5:6:7:[0-FF]")); | 134   EXPECT_TRUE(pattern_v6_low_byte.ParsePattern("1:2:3:4:5:6:7:[0-FF]")); | 
| 135   EXPECT_TRUE(CheckForMatch(pattern_v6_low_byte, "1:2:3:4:5:6:7:0088")); | 135   EXPECT_TRUE(CheckForMatch(pattern_v6_low_byte, "1:2:3:4:5:6:7:0088")); | 
| 136   EXPECT_FALSE(CheckForMatch(pattern_v6_low_byte, "1:2:3:4:5:6:7:8800")); | 136   EXPECT_FALSE(CheckForMatch(pattern_v6_low_byte, "1:2:3:4:5:6:7:8800")); | 
| 137 | 137 | 
| 138   IPPattern pattern_v6_high_byte; | 138   IPPattern pattern_v6_high_byte; | 
| 139   EXPECT_TRUE(pattern_v6_high_byte.ParsePattern("1:2:3:4:5:6:7:[0-FF00]")); | 139   EXPECT_TRUE(pattern_v6_high_byte.ParsePattern("1:2:3:4:5:6:7:[0-FF00]")); | 
| 140   EXPECT_TRUE(CheckForMatch(pattern_v6_high_byte, "1:2:3:4:5:6:7:0088")); | 140   EXPECT_TRUE(CheckForMatch(pattern_v6_high_byte, "1:2:3:4:5:6:7:0088")); | 
| 141   EXPECT_TRUE(CheckForMatch(pattern_v6_high_byte, "1:2:3:4:5:6:7:FF00")); | 141   EXPECT_TRUE(CheckForMatch(pattern_v6_high_byte, "1:2:3:4:5:6:7:FF00")); | 
| 142   EXPECT_FALSE(CheckForMatch(pattern_v6_high_byte, "1:2:3:4:5:6:7:FF01")); | 142   EXPECT_FALSE(CheckForMatch(pattern_v6_high_byte, "1:2:3:4:5:6:7:FF01")); | 
| 143 } | 143 } | 
| 144 | 144 | 
| 145 TEST(IPPatternTest, InvalidPatterns) { | 145 TEST(IPPatternTest, InvalidPatterns) { | 
| 146   EXPECT_FALSE(IsValidPattern("1:2:3:4:5:6:7:8:9"));  // Too long. | 146   EXPECT_FALSE(IsValidPattern("1:2:3:4:5:6:7:8:9"));  // Too long. | 
| 147   EXPECT_FALSE(IsValidPattern("1:2:3:4:5:6:7"));      // Too Short | 147   EXPECT_FALSE(IsValidPattern("1:2:3:4:5:6:7"));      // Too Short | 
| 148   EXPECT_FALSE(IsValidPattern("1:2:3:4:5:6:7:H"));    // Non-hex. | 148   EXPECT_FALSE(IsValidPattern("1:2:3:4:5:6:7:H"));    // Non-hex. | 
| 149   EXPECT_FALSE(IsValidPattern("1:G:3:4:5:6:7:8"));    // Non-hex. | 149   EXPECT_FALSE(IsValidPattern("1:G:3:4:5:6:7:8"));    // Non-hex. | 
| 150 | 150 | 
| 151   EXPECT_FALSE(IsValidPattern("1.2.3.4.5"));  // Too long | 151   EXPECT_FALSE(IsValidPattern("1.2.3.4.5"));  // Too long | 
| 152   EXPECT_FALSE(IsValidPattern("1.2.3"));  // Too short | 152   EXPECT_FALSE(IsValidPattern("1.2.3"));      // Too short | 
| 153   EXPECT_FALSE(IsValidPattern("1.2.3.A"));  // Non-decimal. | 153   EXPECT_FALSE(IsValidPattern("1.2.3.A"));    // Non-decimal. | 
| 154   EXPECT_FALSE(IsValidPattern("1.A.3.4"));  // Non-decimal | 154   EXPECT_FALSE(IsValidPattern("1.A.3.4"));    // Non-decimal | 
| 155   EXPECT_FALSE(IsValidPattern("1.256.3.4"));  // Out of range | 155   EXPECT_FALSE(IsValidPattern("1.256.3.4"));  // Out of range | 
| 156 } | 156 } | 
| 157 | 157 | 
| 158 }  // namespace | 158 }  // namespace | 
| 159 | 159 | 
| 160 }  // namespace net | 160 }  // namespace net | 
| OLD | NEW | 
|---|