diff options
author | Nicholas Clark <nick@ccl4.org> | 2009-09-13 16:57:40 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2009-09-13 16:57:40 +0100 |
commit | d298f468fca65d287753530a975a3d396dd25e1d (patch) | |
tree | 684f0eae8de163a0df94236f4a1b07c7cf4f8a06 /lib | |
parent | 92d4c6331040f899673234f65d5ab2a406c5a32d (diff) | |
download | perl-d298f468fca65d287753530a975a3d396dd25e1d.tar.gz |
Move PerlIO::via::QuotedPrint from lib to ext.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/.gitignore | 1 | ||||
-rw-r--r-- | lib/PerlIO/via/QuotedPrint.pm | 94 | ||||
-rw-r--r-- | lib/PerlIO/via/t/QuotedPrint.t | 79 |
3 files changed, 1 insertions, 173 deletions
diff --git a/lib/.gitignore b/lib/.gitignore index ec42bb5ddf..523b247138 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -287,6 +287,7 @@ /PerlIO/encoding.pm /PerlIO/scalar.pm /PerlIO/via.pm +/PerlIO/via/QuotedPrint.pm /Pod/Checker.pm /Pod/Escapes.pm /Pod/Find.pm diff --git a/lib/PerlIO/via/QuotedPrint.pm b/lib/PerlIO/via/QuotedPrint.pm deleted file mode 100644 index 2434191f09..0000000000 --- a/lib/PerlIO/via/QuotedPrint.pm +++ /dev/null @@ -1,94 +0,0 @@ -package PerlIO::via::QuotedPrint; - -# Set the version info -# Make sure we do things by the book from now on - -$VERSION = '0.06'; -use strict; - -# Make sure the encoding/decoding stuff is available - -use MIME::QuotedPrint (); # no need to pollute this namespace - -# Satisfy -require- - -1; - -#----------------------------------------------------------------------- -# IN: 1 class to bless with -# 2 mode string (ignored) -# 3 file handle of PerlIO layer below (ignored) -# OUT: 1 blessed object - -sub PUSHED { bless \*PUSHED,$_[0] } #PUSHED - -#----------------------------------------------------------------------- -# IN: 1 instantiated object (ignored) -# 2 handle to read from -# OUT: 1 decoded string - -sub FILL { - -# Read the line from the handle -# Decode if there is something decode and return result or signal eof - - my $line = readline( $_[1] ); - (defined $line) ? MIME::QuotedPrint::decode_qp( $line ) : undef; -} #FILL - -#----------------------------------------------------------------------- -# IN: 1 instantiated object (ignored) -# 2 buffer to be written -# 3 handle to write to -# OUT: 1 number of bytes written - -sub WRITE { - -# Encode whatever needs to be encoded and write to handle: indicate result - - (print {$_[2]} MIME::QuotedPrint::encode_qp($_[1])) ? length($_[1]) : -1; -} #WRITE - -__END__ - -=head1 NAME - -PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings - -=head1 SYNOPSIS - - use PerlIO::via::QuotedPrint; - - open( my $in,'<:via(QuotedPrint)','file.qp' ) - or die "Can't open file.qp for reading: $!\n"; - - open( my $out,'>:via(QuotedPrint)','file.qp' ) - or die "Can't open file.qp for writing: $!\n"; - -=head1 DESCRIPTION - -This module implements a PerlIO layer that works on files encoded in the -quoted-printable format. It will decode from quoted-printable while reading -from a handle, and it will encode as quoted-printable while writing to a handle. - -=head1 REQUIRED MODULES - - MIME::QuotedPrint (any) - -=head1 SEE ALSO - -L<PerlIO::via>, L<MIME::QuotedPrint>, L<PerlIO::via::Base64>, -L<PerlIO::via::MD5>, L<PerlIO::via::StripHTML>, L<PerlIO::via::Rotate>. - -=head1 ACKNOWLEDGEMENTS - -Based on example that was initially added to MIME::QuotedPrint.pm for the -5.8.0 distribution of Perl. - -=head1 COPYRIGHT - -Copyright (c) 2002-2003 Elizabeth Mattijsen. All rights reserved. This -library is free software; you can redistribute it and/or modify it under -the same terms as Perl itself. - -=cut diff --git a/lib/PerlIO/via/t/QuotedPrint.t b/lib/PerlIO/via/t/QuotedPrint.t deleted file mode 100644 index 40bca4fe60..0000000000 --- a/lib/PerlIO/via/t/QuotedPrint.t +++ /dev/null @@ -1,79 +0,0 @@ -BEGIN { # Magic Perl CORE pragma - if ($ENV{PERL_CORE}) { - chdir 't' if -d 't'; - @INC = '../lib'; - } - unless (find PerlIO::Layer 'perlio') { - print "1..0 # Skip: PerlIO not used\n"; - exit 0; - } - require Config; - if (($Config::Config{'extensions'} !~ m!\bPerlIO/via\b!) ){ - print "1..0 # Skip -- Perl configured without PerlIO::via module\n"; - exit 0; - } - if (ord("A") == 193) { - print "1..0 # Skip: EBCDIC\n"; - } -} - -use strict; -use warnings; -use Test::More tests => 11; - -BEGIN { use_ok('PerlIO::via::QuotedPrint') } - -my $file = 'test.qp'; - -my $decoded = <<EOD; -This is a tést for quoted-printable text that has hàrdly any speçial characters -in it. -EOD - -my $encoded; - -if (ord('A') == 193) { # EBCDIC. - $encoded = <<EOD; -This is a t=51st for quoted-printable text that has h=44rdly any spe=48ial = -characters -in it. -EOD -} else { - $encoded = <<EOD; -This is a t=E9st for quoted-printable text that has h=E0rdly any spe=E7ial = -characters -in it. -EOD -} - -# Create the encoded test-file - -ok( - open( my $out,'>:via(PerlIO::via::QuotedPrint)', $file ), - "opening '$file' for writing" -); - -ok( (print $out $decoded), 'print to file' ); -ok( close( $out ), 'closing encoding handle' ); - -# Check encoding without layers - -{ -local $/ = undef; -ok( open( my $test,$file ), 'opening without layer' ); -is( $encoded,readline( $test ), 'check encoded content' ); -ok( close( $test ), 'close test handle' ); -} - -# Check decoding _with_ layers - -ok( - open( my $in,'<:via(QuotedPrint)', $file ), - "opening '$file' for reading" -); -is( $decoded,join( '',<$in> ), 'check decoding' ); -ok( close( $in ), 'close decoding handle' ); - -# Remove whatever we created now - -ok( unlink( $file ), "remove test file '$file'" ); |