1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/usr/bin/perl -w
use strict;
use utf8;
use Encode qw(encode decode);
#Test::More::diag ( "This backend is ", Text::CSV::Encoded->backend );
my $csv = Text::CSV::Encoded->new({});
for my $enc_in ( undef, qw(latin1 utf8) ) {
for my $enc_out ( undef, qw(latin1 utf8) ) {
$csv->encoding_in ( $enc_in );
$csv->encoding_out( $enc_out );
ok( $csv->parse( $enc_in ? encode( $enc_in, "ü" ) : "ü" ) );
is( ($csv->fields)[0], "ü" ); # always Unicode
ok( $csv->combine( $csv->fields ) );
is( $csv->string, $enc_out ? encode( $enc_out, "ü" ) : "ü" );
}
}
for my $enc_in ( undef, qw(shiftjis utf8) ) {
for my $enc_out ( undef, qw(shiftjis utf8) ) {
$csv->encoding_in ( $enc_in );
$csv->encoding_out( $enc_out );
my $subject = $enc_in ? $enc_in : 'Unicode';
$subject .= " => ";
$subject .= $enc_out ? $enc_out : 'Unicode';
ok(1, $subject);
ok( $csv->parse( $enc_in ? encode( $enc_in, "あ" ) : "あ" ) );
is( ($csv->fields)[0], 'あ' ); # always Unicode
ok( $csv->combine( $csv->fields ) );
is( $csv->string, $enc_out ? encode( $enc_out, '"あ"' ) : '"あ"' );
}
}
1;
|