@ -1,23 +1,22 @@
'use strict' ;
'use strict' ;
var common = require ( '../common' ) ;
const common = require ( '../common' ) ;
var assert = require ( 'assert' ) ;
const assert = require ( 'assert' ) ;
var net = require ( 'net' ) ;
const net = require ( 'net' ) ;
// Test on IPv4 Server
// Test on IPv4 Server
var family_ipv4 = 'IPv4' ;
const family_ipv4 = 'IPv4' ;
var server_ipv4 = net . createServer ( ) ;
const server_ipv4 = net . createServer ( ) ;
server_ipv4 . on ( 'error' , function ( e ) {
server_ipv4 . on ( 'error' , common . fail ) ;
console . log ( 'Error on ipv4 socket: ' + e . toString ( ) ) ;
} ) ;
server_ipv4 . listen ( common . PORT , common . localhostIPv4 , function ( ) {
server_ipv4
var address_ipv4 = server_ipv4 . address ( ) ;
. listen ( common . PORT + 1 , common . localhostIPv4 , common . mustCall ( ( ) => {
assert . strictEqual ( address_ipv4 . address , common . localhostIPv4 ) ;
const address_ipv4 = server_ipv4 . address ( ) ;
assert . strictEqual ( address_ipv4 . port , common . PORT ) ;
assert . strictEqual ( address_ipv4 . address , common . localhostIPv4 ) ;
assert . strictEqual ( address_ipv4 . family , family_ipv4 ) ;
assert . strictEqual ( address_ipv4 . port , common . PORT + 1 ) ;
server_ipv4 . close ( ) ;
assert . strictEqual ( address_ipv4 . family , family_ipv4 ) ;
} ) ;
server_ipv4 . close ( ) ;
} ) ) ;
if ( ! common . hasIPv6 ) {
if ( ! common . hasIPv6 ) {
common . skip ( 'ipv6 part of test, no IPv6 support' ) ;
common . skip ( 'ipv6 part of test, no IPv6 support' ) ;
@ -25,65 +24,57 @@ if (!common.hasIPv6) {
}
}
// Test on IPv6 Server
// Test on IPv6 Server
var localhost_ipv6 = '::1' ;
const localhost_ipv6 = '::1' ;
var family_ipv6 = 'IPv6' ;
const family_ipv6 = 'IPv6' ;
var server_ipv6 = net . createServer ( ) ;
const server_ipv6 = net . createServer ( ) ;
server_ipv6 . on ( 'error' , function ( e ) {
server_ipv6 . on ( 'error' , common . fail ) ;
console . log ( 'Error on ipv6 socket: ' + e . toString ( ) ) ;
} ) ;
server_ipv6 . listen ( common . PORT , localhost_ipv6 , function ( ) {
server_ipv6 . listen ( common . PORT + 2 , localhost_ipv6 , common . mustCall ( ( ) => {
var address_ipv6 = server_ipv6 . address ( ) ;
const address_ipv6 = server_ipv6 . address ( ) ;
assert . strictEqual ( address_ipv6 . address , localhost_ipv6 ) ;
assert . strictEqual ( address_ipv6 . address , localhost_ipv6 ) ;
assert . strictEqual ( address_ipv6 . port , common . PORT ) ;
assert . strictEqual ( address_ipv6 . port , common . PORT + 2 ) ;
assert . strictEqual ( address_ipv6 . family , family_ipv6 ) ;
assert . strictEqual ( address_ipv6 . family , family_ipv6 ) ;
server_ipv6 . close ( ) ;
server_ipv6 . close ( ) ;
} ) ;
} ) ) ;
// Test without hostname or ip
// Test without hostname or ip
var anycast_ipv6 = '::' ;
const anycast_ipv6 = '::' ;
var server1 = net . createServer ( ) ;
const server1 = net . createServer ( ) ;
server1 . on ( 'error' , function ( e ) {
server1 . on ( 'error' , common . fail ) ;
console . log ( 'Error on ip socket: ' + e . toString ( ) ) ;
} ) ;
// Specify the port number
// Specify the port number
server1 . listen ( common . PORT , function ( ) {
server1 . listen ( common . PORT + 3 , common . mustCall ( ( ) => {
var address = server1 . address ( ) ;
const address = server1 . address ( ) ;
assert . strictEqual ( address . address , anycast_ipv6 ) ;
assert . strictEqual ( address . address , anycast_ipv6 ) ;
assert . strictEqual ( address . port , common . PORT ) ;
assert . strictEqual ( address . port , common . PORT + 3 ) ;
assert . strictEqual ( address . family , family_ipv6 ) ;
assert . strictEqual ( address . family , family_ipv6 ) ;
server1 . close ( ) ;
server1 . close ( ) ;
} ) ;
} ) ) ;
// Test without hostname or port
// Test without hostname or port
var server2 = net . createServer ( ) ;
const server2 = net . createServer ( ) ;
server2 . on ( 'error' , function ( e ) {
server2 . on ( 'error' , common . fail ) ;
console . log ( 'Error on ip socket: ' + e . toString ( ) ) ;
} ) ;
// Don't specify the port number
// Don't specify the port number
server2 . listen ( function ( ) {
server2 . listen ( common . mustCall ( ( ) => {
var address = server2 . address ( ) ;
const address = server2 . address ( ) ;
assert . strictEqual ( address . address , anycast_ipv6 ) ;
assert . strictEqual ( address . address , anycast_ipv6 ) ;
assert . strictEqual ( address . family , family_ipv6 ) ;
assert . strictEqual ( address . family , family_ipv6 ) ;
server2 . close ( ) ;
server2 . close ( ) ;
} ) ;
} ) ) ;
// Test without hostname, but with a false-y port
// Test without hostname, but with a false-y port
var server3 = net . createServer ( ) ;
const server3 = net . createServer ( ) ;
server3 . on ( 'error' , function ( e ) {
server3 . on ( 'error' , common . fail ) ;
console . log ( 'Error on ip socket: ' + e . toString ( ) ) ;
} ) ;
// Specify a false-y port number
// Specify a false-y port number
server3 . listen ( 0 , function ( ) {
server3 . listen ( 0 , common . mustCall ( ( ) => {
var address = server3 . address ( ) ;
const address = server3 . address ( ) ;
assert . strictEqual ( address . address , anycast_ipv6 ) ;
assert . strictEqual ( address . address , anycast_ipv6 ) ;
assert . strictEqual ( address . family , family_ipv6 ) ;
assert . strictEqual ( address . family , family_ipv6 ) ;
server3 . close ( ) ;
server3 . close ( ) ;
} ) ;
} ) ) ;