@@ -8,16 +8,29 @@ isIpInAnyRange = anon.isIpInAnyRange
8
8
9
9
describe ' anon' , ->
10
10
11
- describe " compareIps" , ->
11
+ describe " compareIps ipv4 " , ->
12
12
13
13
it ' equal' , ->
14
14
assert .equal 0 , compareIps ' 1.1.1.1' , ' 1.1.1.1'
15
+
15
16
it ' greater than' , ->
16
17
assert .equal 1 , compareIps ' 1.1.1.2' , ' 1.1.1.1'
18
+
17
19
it ' less than' , ->
18
20
assert .equal - 1 , compareIps ' 1.1.1.1' , ' 1.1.1.2'
19
21
20
- describe ' isIpInRange' , ->
22
+ describe " compareIps ipv6" , ->
23
+
24
+ it ' equal' , ->
25
+ assert .equal 0 , compareIps ' 2601:8:b380:3f3:540b:fdbf:bc5:a6bf' , ' 2601:8:b380:3f3:540b:fdbf:bc5:a6bf'
26
+
27
+ it ' greater than' , ->
28
+ assert .equal 1 , compareIps ' 2600:8:b380:3f3:540b:fdbf:bc5:a6bf' , ' 2600:8:b380:3f3:540b:fdbf:bc5:a6be'
29
+
30
+ it ' less than' , ->
31
+ assert .equal - 1 , compareIps ' 2600:8:b380:3f3:540b:fdbf:bc5:a6be' , ' 2601:8:b380:3f3:540b:fdbf:bc5:a6bf'
32
+
33
+ describe ' isIpInRange ipv4' , ->
21
34
22
35
it ' ip in range' , ->
23
36
assert .isTrue isIpInRange ' 123.123.123.123' , [' 123.123.123.0' , ' 123.123.123.255' ]
@@ -32,7 +45,30 @@ describe 'anon', ->
32
45
assert .isTrue isIpInRange ' 123.123.123.123' , ' 123.123.0.0/16'
33
46
34
47
it ' ip is not in cidr range' , ->
35
- assert .isFalse isIpInRange ' 123.123.123.123' , ' 123.123.123.122/32'
48
+ assert .isFalse isIpInRange ' 123.123.124.1' , ' 123.123.123.0/24'
49
+
50
+ describe ' isIpInRange ipv6' , ->
51
+
52
+ it ' ipv6 in range' , ->
53
+ assert .isTrue isIpInRange ' 0000:0000:0000:0000:0000:0000:0000:0001' , [' 0000:0000:0000:0000:0000:0000:0000:0000' , ' 0000:0000:0000:0000:0000:0000:0000:0002' ]
54
+
55
+ it ' ipv6 not in range' , ->
56
+ assert .isFalse isIpInRange ' 0000:0000:0000:0000:0000:0000:0000:0001' , [' 0000:0000:0000:0000:0000:0000:0000:0002' , ' 0000:0000:0000:0000:0000:0000:0000:0003' ]
57
+
58
+ it ' ipv4 in ipv6 range' , ->
59
+ assert .isTrue isIpInRange ' 127.0.0.1' , [' 0:0:0:0:0:ffff:7f00:1' , ' 0:0:0:0:0:ffff:7f00:2' ]
60
+
61
+ it ' ipv4 not in ipv6 range' , ->
62
+ assert .isFalse isIpInRange ' 127.0.0.3' , [' 0:0:0:0:0:ffff:7f00:1' , ' 0:0:0:0:0:ffff:7f00:2' ]
63
+
64
+ it ' ipv6 in ipv6 cidr' , ->
65
+ assert .isTrue isIpInRange ' 0000:0000:0000:0000:0000:0000:1000:0005' , ' 0000:0000:0000:0000:0000:0000:1000:0000/112'
66
+
67
+ it ' ipv6 in ipv4 cidr' , ->
68
+ assert .isTrue isIpInRange ' 0:0:0:0:0:ffff:8e33:1' , ' 142.51.0.0/16'
69
+
70
+ it ' ipv6 not in ipv4 cidr' , ->
71
+ assert .isFalse isIpInRange ' 0:0:0:0:0:ffff:8e34:1' , ' 142.51.0.0/16'
36
72
37
73
describe ' isIpInAnyRange' , ->
38
74
@@ -47,10 +83,8 @@ describe 'anon', ->
47
83
48
84
it ' ip not in any ranges' , ->
49
85
assert .isFalse isIpInAnyRange ' 1.1.1.6' , [r1, r2]
50
-
51
- describe ' IP Range Error (#12)' , ->
52
86
53
- it ' false positive not in ranges' , ->
87
+ it ' false positive not in ranges #12 ' , ->
54
88
assert .isFalse isIpInAnyRange ' 199.19.250.20' , [[" 199.19.16.0" , " 199.19.27.255" ], [" 4.42.247.224" , " 4.42.247.255" ]]
55
89
assert .isFalse isIpInAnyRange ' 39.255.255.148' , [[" 40.0.0.0" , " 40.127.255.255" ], [" 40.144.0.0" , " 40.255.255.255" ]]
56
90
@@ -72,5 +106,3 @@ describe 'anon', ->
72
106
template = " {{page}} edited by {{name}} {{&url}}"
73
107
result = getStatus edit, name, template
74
108
assert .isTrue result .length <= 140
75
-
76
-
0 commit comments