summaryrefslogtreecommitdiff
path: root/lib/Net/t/netrc.t
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/t/netrc.t')
-rw-r--r--lib/Net/t/netrc.t155
1 files changed, 0 insertions, 155 deletions
diff --git a/lib/Net/t/netrc.t b/lib/Net/t/netrc.t
deleted file mode 100644
index cb5c35d907..0000000000
--- a/lib/Net/t/netrc.t
+++ /dev/null
@@ -1,155 +0,0 @@
-#!./perl
-
-BEGIN {
- if ($ENV{PERL_CORE}) {
- chdir 't' if -d 't';
- @INC = '../lib';
- }
- if (!eval "require Socket") {
- print "1..0 # no Socket\n"; exit 0;
- }
- if (ord('A') == 193 && !eval "require Convert::EBCDIC") {
- print "1..0 # EBCDIC but no Convert::EBCDIC\n"; exit 0;
- }
-}
-
-use strict;
-
-use Cwd;
-print "1..20\n";
-
-# for testing _readrc
-$ENV{HOME} = Cwd::cwd();
-
-# avoid "used only once" warning
-local (*CORE::GLOBAL::getpwuid, *CORE::GLOBAL::stat);
-
-*CORE::GLOBAL::getpwuid = sub ($) {
- ((undef) x 7, Cwd::cwd());
-};
-
-# for testing _readrc
-my @stat;
-*CORE::GLOBAL::stat = sub (*) {
- return @stat;
-};
-
-# for testing _readrc
-$INC{'FileHandle.pm'} = 1;
-
-(my $libnet_t = __FILE__) =~ s/\w+.t$/libnet_t.pl/;
-require $libnet_t;
-
-# now that the tricks are out of the way...
-eval { require Net::Netrc; };
-ok( !$@, 'should be able to require() Net::Netrc safely' );
-ok( exists $INC{'Net/Netrc.pm'}, 'should be able to use Net::Netrc' );
-
-SKIP: {
- skip('incompatible stat() handling for OS', 4), next SKIP
- if ($^O =~ /os2|win32|macos|cygwin/i or $] < 5.005);
-
- my $warn;
- local $SIG{__WARN__} = sub {
- $warn = shift;
- };
-
- # add write access for group/other
- $stat[2] = 077;
- ok( !defined(Net::Netrc::_readrc()),
- '_readrc() should not read world-writable file' );
- ok( scalar($warn =~ /^Bad permissions:/),
- '... and should warn about it' );
-
- # the owner field should still not match
- $stat[2] = 0;
-
- if ($<) {
- ok( !defined(Net::Netrc::_readrc()),
- '_readrc() should not read file owned by someone else' );
- ok( scalar($warn =~ /^Not owner:/),
- '... and should warn about it' );
- } else {
- skip("testing as root",2);
- }
-}
-
-# this field must now match, to avoid the last-tested warning
-$stat[4] = $<;
-
-# this curious mix of spaces and quotes tests a regex at line 79 (version 2.11)
-FileHandle::set_lines(split(/\n/, <<LINES));
-macdef bar
-login baz
- machine "foo"
-login nigol "password" drowssap
-machine foo "login" l2
- password p2
-account tnuocca
-default login "baz" password p2
-default "login" baz password p3
-macdef
-LINES
-
-# having set several lines and the uid, this should succeed
-is( Net::Netrc::_readrc(), 1, '_readrc() should succeed now' );
-
-# on 'foo', the login is 'nigol'
-is( Net::Netrc->lookup('foo')->{login}, 'nigol',
- 'lookup() should find value by host name' );
-
-# on 'foo' with login 'l2', the password is 'p2'
-is( Net::Netrc->lookup('foo', 'l2')->{password}, 'p2',
- 'lookup() should find value by hostname and login name' );
-
-# the default password is 'p3', as later declarations have priority
-is( Net::Netrc->lookup()->{password}, 'p3',
- 'lookup() should find default value' );
-
-# lookup() ignores the login parameter when using default data
-is( Net::Netrc->lookup('default', 'baz')->{password}, 'p3',
- 'lookup() should ignore passed login when searching default' );
-
-# lookup() goes to default data if hostname cannot be found in config data
-is( Net::Netrc->lookup('abadname')->{login}, 'baz',
- 'lookup() should use default for unknown machine name' );
-
-# now test these accessors
-my $instance = bless({}, 'Net::Netrc');
-for my $accessor (qw( login account password )) {
- is( $instance->$accessor(), undef,
- "$accessor() should return undef if $accessor is not set" );
- $instance->{$accessor} = $accessor;
- is( $instance->$accessor(), $accessor,
- "$accessor() should return value when $accessor is set" );
-}
-
-# and the three-for-one accessor
-is( scalar( () = $instance->lpa()), 3,
- 'lpa() should return login, password, account');
-is( join(' ', $instance->lpa), 'login password account',
- 'lpa() should return appropriate values for l, p, and a' );
-
-package FileHandle;
-
-sub new {
- tie *FH, 'FileHandle', @_;
- bless \*FH, $_[0];
-}
-
-sub TIEHANDLE {
- my ($class, $file, $mode) = @_[0,2,3];
- bless({ file => $file, mode => $mode }, $class);
-}
-
-my @lines;
-sub set_lines {
- @lines = @_;
-}
-
-sub READLINE {
- shift @lines;
-}
-
-sub close { 1 }
-