mirror of
https://github.com/StevenBlack/hosts.git
synced 2026-07-01 02:36:52 +00:00
Fix tests and logic.
Indeed, from on:
1. We strip out IPs.
2. We strip out "potential" INVALID that:
- doesn't contains dots
- contains at least 2 consecutive dots
- looks like an IP.
From now on an acceptable subject shall:
1. have at least 1 dot.
2. NOT be an IPv4 or IPv6
3. NOT look like an IP. (Example: 258.300.10.3)
This commit is contained in:
@@ -842,8 +842,7 @@ class TestNormalizeRule(BaseStdout):
|
||||
"128.0.0.1",
|
||||
"::1",
|
||||
"0.0.0.0 128.0.0.2",
|
||||
"0.0.0 google",
|
||||
"0.1.2.3.4 foo/bar",
|
||||
"0.1.2.3 foo/bar",
|
||||
"0.0.0.0 https",
|
||||
"0.0.0.0 https..",
|
||||
]:
|
||||
@@ -894,16 +893,16 @@ class TestNormalizeRule(BaseStdout):
|
||||
def test_two_ips(self):
|
||||
for target_ip in ("0.0.0.0", "127.0.0.1", "8.8.8.8"):
|
||||
rule = "127.0.0.1 11.22.33.44 foo"
|
||||
expected = ("11.22.33.44", str(target_ip) + " 11.22.33.44\n")
|
||||
|
||||
actual = normalize_rule(
|
||||
rule, target_ip=target_ip, keep_domain_comments=False
|
||||
)
|
||||
self.assertEqual(actual, expected)
|
||||
self.assertEqual(actual, (None, None))
|
||||
|
||||
# Nothing gets printed if there's a match.
|
||||
output = sys.stdout.getvalue()
|
||||
self.assertEqual(output, "")
|
||||
|
||||
expected = "==>" + rule + "<=="
|
||||
self.assertIn(expected, output)
|
||||
|
||||
sys.stdout = StringIO()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user