@@ -8,16 +8,29 @@ isIpInAnyRange = anon.isIpInAnyRange
88
99describe ' anon' , ->
1010
11- describe " compareIps" , ->
11+ describe " compareIps ipv4 " , ->
1212
1313 it ' equal' , ->
1414 assert .equal 0 , compareIps ' 1.1.1.1' , ' 1.1.1.1'
15+
1516 it ' greater than' , ->
1617 assert .equal 1 , compareIps ' 1.1.1.2' , ' 1.1.1.1'
18+
1719 it ' less than' , ->
1820 assert .equal - 1 , compareIps ' 1.1.1.1' , ' 1.1.1.2'
1921
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' , ->
2134
2235 it ' ip in range' , ->
2336 assert .isTrue isIpInRange ' 123.123.123.123' , [' 123.123.123.0' , ' 123.123.123.255' ]
@@ -32,7 +45,30 @@ describe 'anon', ->
3245 assert .isTrue isIpInRange ' 123.123.123.123' , ' 123.123.0.0/16'
3346
3447 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'
3672
3773 describe ' isIpInAnyRange' , ->
3874
@@ -47,10 +83,8 @@ describe 'anon', ->
4783
4884 it ' ip not in any ranges' , ->
4985 assert .isFalse isIpInAnyRange ' 1.1.1.6' , [r1, r2]
50-
51- describe ' IP Range Error (#12)' , ->
5286
53- it ' false positive not in ranges' , ->
87+ it ' false positive not in ranges #12 ' , ->
5488 assert .isFalse isIpInAnyRange ' 199.19.250.20' , [[" 199.19.16.0" , " 199.19.27.255" ], [" 4.42.247.224" , " 4.42.247.255" ]]
5589 assert .isFalse isIpInAnyRange ' 39.255.255.148' , [[" 40.0.0.0" , " 40.127.255.255" ], [" 40.144.0.0" , " 40.255.255.255" ]]
5690
@@ -72,5 +106,3 @@ describe 'anon', ->
72106 template = " {{page}} edited by {{name}} {{&url}}"
73107 result = getStatus edit, name, template
74108 assert .isTrue result .length <= 140
75-
76-
0 commit comments