Change 13576 by jhi@alpha on 2001/12/10 00:15:19
Subject: [PATCH] Term::ReadLine tweaks and test
From: Richard Clamp <[EMAIL PROTECTED]>
Date: Mon, 10 Dec 2001 00:51:47 +0000
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
.... //depot/perl/MANIFEST#658 edit
.... //depot/perl/lib/Term/ReadLine.pm#17 edit
.... //depot/perl/lib/Term/ReadLine.t#1 add
Differences ...
==== //depot/perl/MANIFEST#658 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST.~1~ Sun Dec 9 17:30:06 2001
+++ perl/MANIFEST Sun Dec 9 17:30:06 2001
@@ -1209,6 +1209,7 @@
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
==== //depot/perl/lib/Term/ReadLine.pm#17 (text) ====
Index: perl/lib/Term/ReadLine.pm
--- perl/lib/Term/ReadLine.pm.~1~ Sun Dec 9 17:30:06 2001
+++ perl/lib/Term/ReadLine.pm Sun Dec 9 17:30:06 2001
@@ -41,7 +41,7 @@
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 @@
@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);
}
==== //depot/perl/lib/Term/ReadLine.t#1 (text) ====
Index: perl/lib/Term/ReadLine.t
--- perl/lib/Term/ReadLine.t.~1~ Sun Dec 9 17:30:06 2001
+++ perl/lib/Term/ReadLine.t Sun Dec 9 17:30:06 2001
@@ -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");
+
End of Patch.