This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add note about scope in strict docs
[perl5.git] / cpan / libnet / t / hostname.t
1 #!perl
2
3 use 5.008001;
4
5 use strict;
6 use warnings;
7
8 BEGIN {
9     if (!eval { require Socket }) {
10         print "1..0 # no Socket\n"; exit 0;
11     }
12     if (ord('A') == 193 && !eval { require Convert::EBCDIC }) {
13         print "1..0 # EBCDIC but no Convert::EBCDIC\n"; exit 0;
14     }
15 }
16
17 use Net::Domain qw(hostname domainname hostdomain hostfqdn);
18 use Net::Config;
19
20 unless($NetConfig{test_hosts}) {
21     print "1..0\n";
22     exit 0;
23 }
24
25 print "1..5\n";
26
27 my $domain = domainname();
28
29 if(defined $domain && $domain ne "") {
30  print "ok 1 - defined, non-empty domainname\n";
31 }
32 elsif (not defined $domain) {
33  print "ok 1 # SKIP domain not fully defined\n";
34 }
35 else {
36  print "not ok 1\n";
37 }
38
39 # This checks thats hostanme does not overwrite $_
40 my @domain = qw(foo.example.com bar.example.jp);
41 my @copy = @domain;
42
43 my @dummy = grep { defined hostname() and hostname() eq $_ } @domain;
44
45 ($domain[0] && $domain[0] eq $copy[0])
46   ? print "ok 2\n"
47   : print "not ok 2\n";
48
49 @dummy = grep { defined hostdomain() and hostdomain() eq $_ } @domain;
50
51 ($domain[0] && $domain[0] eq $copy[0])
52   ? print "ok 3\n"
53   : print "not ok 3\n";
54
55 my $name = hostname();
56 $domain = hostdomain();
57 if(defined $domain && defined $name && $name ne "" && $domain ne "") {
58     hostfqdn() eq $name . "." . $domain ? print "ok 4\n" : print "not ok 4\n";
59     domainname() eq $name . "." . $domain ? print "ok 5\n" : print "not ok 5\n";} else {
60     print "ok 4 # SKIP domain not fully defined\n";
61     print "ok 5 # SKIP domain not fully defined\n";
62 }