summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Clamp <richardc@unixbeard.net>2001-12-10 00:51:47 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-10 00:15:19 +0000
commite15d0a488cd96bf0cd62651d11d7a5718ab1cde3 (patch)
tree83cc5bbbfc0e3ee2e805275ee04e9eb672d49b95
parent932b74874cde09c18c99efef628e815e5bd4bf76 (diff)
downloadperl-e15d0a488cd96bf0cd62651d11d7a5718ab1cde3.tar.gz
Term::ReadLine tweaks and test
Message-ID: <20011210005147.GA1073@mirth.demon.co.uk> p4raw-id: //depot/perl@13576
-rw-r--r--MANIFEST1
-rw-r--r--lib/Term/ReadLine.pm4
-rw-r--r--lib/Term/ReadLine.t39
3 files changed, 43 insertions, 1 deletions
diff --git a/MANIFEST b/MANIFEST
index a2cb674bc3..b8ccc88739 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1209,6 +1209,7 @@ lib/Term/Cap.t See if Term::Cap works
lib/Term/Complete.pm A command completion subroutine
lib/Term/Complete.t See if Term::Complete works
lib/Term/ReadLine.pm Stub readline library
+lib/Term/ReadLine.t See if Term::ReadLine works
lib/termcap.pl Perl library supporting termcap usage
lib/Test.pm A simple framework for writing test scripts
lib/Test/Builder.pm For writing new test libraries
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");
+