summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Pod/t/Select.t116
1 files changed, 116 insertions, 0 deletions
diff --git a/lib/Pod/t/Select.t b/lib/Pod/t/Select.t
new file mode 100644
index 0000000000..27ef010394
--- /dev/null
+++ b/lib/Pod/t/Select.t
@@ -0,0 +1,116 @@
+#!perl
+use warnings;
+use strict;
+
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = '../lib';
+};
+
+use Test::More tests => 9;
+
+require_ok( 'Pod::Select' );
+
+my $fake_out = tie *FAKEOUT, 'CatchOut';
+
+my $p_s = Pod::Select->new;
+isa_ok( $p_s, 'Pod::Select' );
+
+my $pod = << 'EO_NAME';
+=head1 NAME
+
+Select.t - Tests for Pod::Select.
+
+EO_NAME
+
+$p_s->select( 'NAME' );
+$p_s->parse_from_file( $0, \*FAKEOUT );
+is( $$fake_out, $pod, 'select( NAME )' );
+
+$pod .= << 'EO_SYNOPSIS';
+=head1 SYNOPSIS
+
+This program just tests the basics of the Pod::Select module.
+
+EO_SYNOPSIS
+
+$$fake_out = '';
+$p_s->select( 'NAME', 'SYNOPSIS' );
+$p_s->parse_from_file( $0, \*FAKEOUT );
+is( $$fake_out, $pod, 'select( NAME, SYNOPSIS )' );
+
+$pod .= << 'EO_AUTHOR';
+=head1 AUTHOR
+
+Abe Timmerman <abe@ztreet.demon.nl>
+
+EO_AUTHOR
+
+$$fake_out = '';
+$p_s->add_selection( 'AUTHOR' );
+$p_s->parse_from_file( $0, \*FAKEOUT );
+is( $$fake_out, $pod, 'add_selection( AUTHOR )' );
+
+my $head1 = $p_s->curr_headings(1);
+is( $head1, 'AUTHOR', 'curr_headings()' );
+
+$pod = << 'EO_DESCRIPTION';
+=head2 subsection
+
+a sub-section can be specified
+
+EO_DESCRIPTION
+
+$$fake_out = '';
+$p_s->select( 'DESCRIPTION/subsection' );
+$p_s->parse_from_file( $0, \*FAKEOUT );
+is( $$fake_out, $pod, 'select( DESCRIPTION/subsection )' );
+
+
+ok( $p_s->match_section( 'DESCRIPTION', 'subsection' ),
+ 'match_section( DESCRIPTION, subsection )' );
+
+$pod = << 'EO_DESCRIPTION';
+=head1 DESCRIPTION
+
+I'll go by the POD in Pod::Select.
+
+EO_DESCRIPTION
+
+$$fake_out = '';
+$p_s->select( 'DESCRIPTION/!.+' );
+$p_s->parse_from_file( $0, \*FAKEOUT );
+is( $$fake_out, $pod, 'select( DESCRIPTION/!.+ )' );
+
+
+package CatchOut;
+sub TIEHANDLE { bless \( my $self ), shift }
+sub PRINT { my $self = shift; $$self .= $_[0] }
+
+__END__
+
+=head1 NAME
+
+Select.t - Tests for Pod::Select.
+
+=head1 SYNOPSIS
+
+This program just tests the basics of the Pod::Select module.
+
+=head1 DESCRIPTION
+
+I'll go by the POD in Pod::Select.
+
+=head2 selection + add_selection
+
+Pull out the specified sections
+
+=head2 subsection
+
+a sub-section can be specified
+
+=head1 AUTHOR
+
+Abe Timmerman <abe@ztreet.demon.nl>
+
+=cut