• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/ucode/tests/custom/18_lib_netaddr/03_cidr_ops

  1 Arithmetic (add/sub), comparison (lower/higher/equal/contains),
  2 predicate methods and byte-level access on netaddr.range instances.
  3 
  4 -- Testcase --
  5 import * as netaddr from 'netaddr';
  6 
  7 let a = netaddr.new("192.168.1.1/24");
  8 print(a.add(1), "\n");
  9 print(a.add(253), "\n");
 10 print(a.sub(1), "\n");
 11 print(a.sub(2), "\n");
 12 
 13 a = netaddr.new("255.255.255.255/32");
 14 print(a.add(1), "\n");
 15 
 16 a = netaddr.new("0.0.0.0/0");
 17 print(a.sub(1), "\n");
 18 
 19 a = netaddr.new("2001:db8::1/64");
 20 print(a.add(1), "\n");
 21 print(a.sub(1), "\n");
 22 
 23 a = netaddr.new("fe80::1%lo");
 24 print(a.add(1), "\n");
 25 print(a.sub(1), "\n");
 26 
 27 a = netaddr.new("00:11:22:33:44:55");
 28 print(a.add(1), "\n");
 29 print(a.sub(1), "\n");
 30 
 31 let b = netaddr.new("192.168.1.2");
 32 print(netaddr.new("192.168.1.1/24").contains(b), "\n");
 33 print(netaddr.new("192.168.1.1/24").contains(netaddr.new("192.168.2.1")), "\n");
 34 print(netaddr.new("192.168.1.1/24").contains(netaddr.new("10.0.0.1")), "\n");
 35 print(netaddr.new("2001:db8::/32").contains(netaddr.new("2001:db8:1::1")), "\n");
 36 print(netaddr.new("2001:db8::/32").contains(netaddr.new("2001:db9::1")), "\n");
 37 
 38 let c = netaddr.new("10.0.0.1");
 39 print(netaddr.new("192.168.1.1").lower(c), "\n");
 40 print(netaddr.new("192.168.1.1").higher(c), "\n");
 41 print(netaddr.new("192.168.1.1").equal(netaddr.new("192.168.1.1/24")), "\n");
 42 print(netaddr.new("192.168.1.1").equal(netaddr.new("192.168.1.2")), "\n");
 43 print(netaddr.new("1.2.3.4").lower(netaddr.new("2001:db8::1")), "\n");
 44 print(netaddr.new("2001:db8::1").higher(netaddr.new("1.2.3.4")), "\n");
 45 
 46 print(netaddr.new("10.0.0.1").is4(), "\n");
 47 print(netaddr.new("10.0.0.1").is4rfc1918(), "\n");
 48 print(netaddr.new("192.168.1.1").is4rfc1918(), "\n");
 49 print(netaddr.new("172.16.0.1").is4rfc1918(), "\n");
 50 print(netaddr.new("172.32.0.1").is4rfc1918(), "\n");
 51 print(netaddr.new("169.254.1.1").is4linklocal(), "\n");
 52 print(netaddr.new("10.0.0.1").is4linklocal(), "\n");
 53 print(netaddr.new("2001:db8::1").is6(), "\n");
 54 print(netaddr.new("2001:db8::1").is4(), "\n");
 55 print(netaddr.new("fe80::1").is6linklocal(), "\n");
 56 print(netaddr.new("fe80::1%lo").is6linklocal(), "\n");
 57 print(netaddr.new("2001:db8::1").is6linklocal(), "\n");
 58 print(netaddr.new("::ffff:1.2.3.4").is6mapped4(), "\n");
 59 print(netaddr.new("ffff::1.2.3.4").is6mapped4(), "\n");
 60 print(netaddr.new("00:11:22:33:44:55").ismac(), "\n");
 61 print(netaddr.new("00:11:22:33:44:55").ismaclocal(), "\n");
 62 print(netaddr.new("02:11:22:33:44:55").ismaclocal(), "\n");
 63 print(netaddr.new("01:00:5e:00:00:01").ismacmcast(), "\n");
 64 print(netaddr.new("01:80:c2:00:00:01").ismacmcast(), "\n");
 65 print(netaddr.new("02:11:22:33:44:55").ismacmcast(), "\n");
 66 print(netaddr.new("00:11:22:33:44:55").ismacmcast(), "\n");
 67 
 68 a = netaddr.new("192.168.1.1");
 69 print(a[0], a[1], a[2], a[3], "\n");
 70 print(a[-1], a[-4], "\n");
 71 a[3] = 2;
 72 print(a.string(), "\n");
 73 a[0] = 10;
 74 print(a.string(), "\n");
 75 
 76 a = netaddr.new("2001:db8::1");
 77 print(a[0], a[1], a[12], a[15], "\n");
 78 a[15] = 2;
 79 print(a.string(), "\n");
 80 
 81 a = netaddr.new("00:11:22:33:44:55");
 82 print(a[0], a[1], a[5], "\n");
 83 a[5] = 0xee;
 84 print(a.string(), "\n");
 85 
 86 a = netaddr.new("10.0.0.1/8");
 87 print(a.prefix(), "\n");
 88 print(a.prefix(24), "\n");
 89 print(a.string(), "\n");
 90 print(a.prefix("255.255.255.0"), "\n");
 91 print(a.string(), "\n");
 92 
 93 a = netaddr.new("2001:db8::1");
 94 print(a.prefix(64), "\n");
 95 print(a.string(), "\n");
 96 
 97 a = netaddr.new("192.168.1.1");
 98 print(a.netmask, "\n");
 99 a = netaddr.new("192.168.1.1/24");
100 print(a.netmask, "\n");
101 -- End --
102 
103 -- Args --
104 -R
105 -- End --
106 
107 -- Expect stdout --
108 192.168.1.2/24
109 192.168.1.254/24
110 192.168.1.0/24
111 192.168.0.255/24
112 255.255.255.255
113 0.0.0.0/0
114 2001:db8::2/64
115 2001:db8::/64
116 fe80::2%lo
117 fe80::%lo
118 00:11:22:33:44:56
119 00:11:22:33:44:54
120 true
121 false
122 false
123 true
124 false
125 false
126 true
127 true
128 false
129 true
130 true
131 true
132 true
133 true
134 true
135 false
136 true
137 false
138 true
139 false
140 true
141 true
142 false
143 true
144 false
145 true
146 false
147 true
148 true
149 true
150 false
151 false
152 19216811
153 1192
154 192.168.1.2
155 10.168.1.2
156 32101
157 2001:db8::2
158 01785
159 00:11:22:33:44:EE
160 8
161 24
162 10.0.0.1/24
163 24
164 10.0.0.1/24
165 64
166 2001:db8::1/64
167 255.255.255.255
168 255.255.255.0
169 -- End --

This page was automatically generated by LXR 0.3.1.  •  OpenWrt