diff options
author | Richard Clamp <richardc@unixbeard.net> | 2001-12-10 00:51:47 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-12-10 00:15:19 +0000 |
commit | e15d0a488cd96bf0cd62651d11d7a5718ab1cde3 (patch) | |
tree | 83cc5bbbfc0e3ee2e805275ee04e9eb672d49b95 /lib/Term | |
parent | 932b74874cde09c18c99efef628e815e5bd4bf76 (diff) | |
download | perl-e15d0a488cd96bf0cd62651d11d7a5718ab1cde3.tar.gz |
Term::ReadLine tweaks and test
Message-ID: <20011210005147.GA1073@mirth.demon.co.uk>
p4raw-id: //depot/perl@13576
Diffstat (limited to 'lib/Term')
-rw-r--r-- | lib/Term/ReadLine.pm | 4 | ||||
-rw-r--r-- | lib/Term/ReadLine.t | 39 |
2 files changed, 42 insertions, 1 deletions
diff --git a/lib/Term/ReadLine.pm b/lib/Term/ReadLine.pm index 5a8c251619..a23208c420 100644 --- a/lib/Term/ReadLine.pm +++ b/lib/Term/ReadLine.pm @@ -41,7 +41,7 @@ where $term is a return value of Term::ReadLine-E<gt>Init. returns the actual package that executes the commands. Among possible values are C<Term::ReadLine::Gnu>, C<Term::ReadLine::Perl>, -C<Term::ReadLine::Stub Exporter>. +C<Term::ReadLine::Stub>. =item C<new> @@ -311,6 +311,8 @@ if (defined &Term::ReadLine::Gnu::readline) { @ISA = qw(Term::ReadLine::Gnu Term::ReadLine::Stub); } elsif (defined &Term::ReadLine::Perl::readline) { @ISA = qw(Term::ReadLine::Perl Term::ReadLine::Stub); +} elsif (defined $which && defined &{"Term::ReadLine::$which\::readline"}) { + @ISA = "Term::ReadLine::$which"; } else { @ISA = qw(Term::ReadLine::Stub); } diff --git a/lib/Term/ReadLine.t b/lib/Term/ReadLine.t new file mode 100644 index 0000000000..a3d57564f6 --- /dev/null +++ b/lib/Term/ReadLine.t @@ -0,0 +1,39 @@ +#!./perl -w +use strict; + +BEGIN { + if ( $ENV{PERL_CORE} ) { + chdir 't' if -d 't'; + @INC = '../lib'; + } +} + +package Term::ReadLine::Mock; +our @ISA = 'Term::ReadLine::Stub'; +sub ReadLine {'Term::ReadLine::Mock'}; +sub readline { "a line" } +sub new { bless {} } + +package main; + +use Test::More tests => 15; + +BEGIN { + $ENV{PERL_RL} = 'Mock'; # test against our instrumented class + use_ok('Term::ReadLine'); +} + +my $t = new Term::ReadLine 'test term::readline'; + +ok($t, "made something"); + +isa_ok($t, 'Term::ReadLine::Mock'); + +for my $method (qw( ReadLine readline addhistory IN OUT MinLine + findConsole Attribs Features new ) ) { + can_ok($t, $method); +} + +is($t->ReadLine, 'Term::ReadLine::Mock', "\$object->ReadLine"); +is($t->readline, 'a line', "\$object->readline"); + |