@ -5,8 +5,6 @@ const dns = require('dns');
const net = require ( 'net' ) ;
const isIPv6 = net . isIPv6 ;
let expected = 0 ;
let completed = 0 ;
let running = false ;
const queue = [ ] ;
@ -17,7 +15,7 @@ if (!common.hasIPv6) {
function TEST ( f ) {
function next ( ) {
var f = queue . shift ( ) ;
const f = queue . shift ( ) ;
if ( f ) {
running = true ;
console . log ( f . name ) ;
@ -27,11 +25,9 @@ function TEST(f) {
function done ( ) {
running = false ;
completed ++ ;
process . nextTick ( next ) ;
}
expected ++ ;
queue . push ( f ) ;
if ( ! running ) {
@ -44,46 +40,46 @@ function checkWrap(req) {
}
TEST ( function test_resolve6 ( done ) {
var req = dns . resolve6 ( 'ipv6.google.com' , function ( err , ips ) {
if ( err ) throw err ;
const req = dns . resolve6 ( 'ipv6.google.com' ,
common . mustCall ( ( err , ips ) => {
assert . ifError ( err ) ;
assert . ok ( ips . length > 0 ) ;
for ( var i = 0 ; i < ips . length ; i ++ ) {
for ( let i = 0 ; i < ips . length ; i ++ )
assert . ok ( isIPv6 ( ips [ i ] ) ) ;
}
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
TEST ( function test_reverse_ipv6 ( done ) {
var req = dns . reverse ( '2001:4860:4860::8888' , function ( err , domains ) {
if ( err ) throw err ;
const req = dns . reverse ( '2001:4860:4860::8888' ,
common . mustCall ( ( err , domains ) => {
assert . ifError ( err ) ;
assert . ok ( domains . length > 0 ) ;
for ( var i = 0 ; i < domains . length ; i ++ ) {
assert . ok ( domains [ i ] ) ;
for ( let i = 0 ; i < domains . length ; i ++ )
assert . ok ( typeof domains [ i ] === 'string' ) ;
}
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
TEST ( function test_lookup_ipv6_explicit ( done ) {
var req = dns . lookup ( 'ipv6.google.com' , 6 , function ( err , ip , family ) {
if ( err ) throw err ;
assert . ok ( net . isIPv6 ( ip ) ) ;
const req = dns . lookup ( 'ipv6.google.com' , 6 ,
common . mustCall ( ( err , ip , family ) => {
assert . ifError ( err ) ;
assert . ok ( isIPv6 ( ip ) ) ;
assert . strictEqual ( family , 6 ) ;
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
@ -103,24 +99,24 @@ TEST(function test_lookup_ipv6_implicit(done) {
* /
TEST ( function test_lookup_ipv6_explicit_object ( done ) {
var req = dns . lookup ( 'ipv6.google.com' , {
const req = dns . lookup ( 'ipv6.google.com' , {
family : 6
} , function ( err , ip , family ) {
if ( err ) throw err ;
assert . ok ( net . isIPv6 ( ip ) ) ;
} , common . mustCall ( ( err , ip , family ) => {
assert . ifError ( err ) ;
assert . ok ( isIPv6 ( ip ) ) ;
assert . strictEqual ( family , 6 ) ;
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
TEST ( function test_lookup_ipv6_hint ( done ) {
var req = dns . lookup ( 'www.google.com' , {
const req = dns . lookup ( 'www.google.com' , {
family : 6 ,
hints : dns . V4MAPPED
} , function ( err , ip , family ) {
} , common . mustCall ( ( err , ip , family ) => {
if ( err ) {
// FreeBSD does not support V4MAPPED
if ( common . isFreeBSD ) {
@ -130,41 +126,43 @@ TEST(function test_lookup_ipv6_hint(done) {
assert . ok ( /getaddrinfo EAI_BADFLAGS/ . test ( err . message ) ) ;
done ( ) ;
return ;
} else {
throw err ;
}
assert . ifError ( err ) ;
}
assert . ok ( net . isIPv6 ( ip ) ) ;
assert . ok ( isIPv6 ( ip ) ) ;
assert . strictEqual ( family , 6 ) ;
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
TEST ( function test_lookup_ip_ipv6 ( done ) {
var req = dns . lookup ( '::1' , function ( err , ip , family ) {
if ( err ) throw err ;
assert . ok ( net . isIPv6 ( ip ) ) ;
const req = dns . lookup ( '::1' ,
common . mustCall ( ( err , ip , family ) => {
assert . ifError ( err ) ;
assert . ok ( isIPv6 ( ip ) ) ;
assert . strictEqual ( family , 6 ) ;
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
TEST ( function test_lookup_all_ipv6 ( done ) {
var req = dns . lookup (
const req = dns . lookup (
'www.google.com' ,
{ all : true , family : 6 } ,
function ( err , ips ) {
if ( err ) throw err ;
common . mustCall ( ( err , ips ) => {
assert . ifError ( err ) ;
assert . ok ( Array . isArray ( ips ) ) ;
assert . ok ( ips . length > 0 ) ;
ips . forEach ( function ( ip ) {
ips . forEach ( ( ip ) => {
assert . ok ( isIPv6 ( ip . address ) ,
'Invalid IPv6: ' + ip . address . toString ( ) ) ;
assert . strictEqual ( ip . family , 6 ) ;
@ -172,24 +170,25 @@ TEST(function test_lookup_all_ipv6(done) {
done ( ) ;
}
) ;
) ) ;
checkWrap ( req ) ;
} ) ;
TEST ( function test_lookupservice_ip_ipv6 ( done ) {
var req = dns . lookupService ( '::1' , 80 , function ( err , host , service ) {
const req = dns . lookupService ( '::1' , 80 ,
common . mustCall ( ( err , host , service ) => {
if ( err ) {
// Not skipping the test, rather checking an alternative result,
// i.e. that ::1 may not be configured (e.g. in /etc/hosts)
assert . strictEqual ( err . code , 'ENOTFOUND' ) ;
return done ( ) ;
}
assert . e qual( typeof host , 'string' ) ;
assert . strictE qual( typeof host , 'string' ) ;
assert ( host ) ;
assert ( [ 'http' , 'www' , '80' ] . includes ( service ) ) ;
done ( ) ;
} ) ;
} ) ) ;
checkWrap ( req ) ;
} ) ;
@ -206,9 +205,3 @@ TEST(function test_lookupservice_ip_ipv6(done) {
checkWrap ( req ) ;
} ) ; * /
process . on ( 'exit' , function ( ) {
console . log ( completed + ' tests completed' ) ;
assert . equal ( running , false ) ;
assert . strictEqual ( expected , completed ) ;
} ) ;