Changeset 4157

Show
Ignore:
Timestamp:
01/07/08 08:32:40 (5 years ago)
Author:
daisuke
Message:

lang/perl/Text-MeCab?; require Encode, don't use strings.dat anymore, and use Encode where appropriate

Location:
lang/perl/Text-MeCab/trunk
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Text-MeCab/trunk/Makefile.PL

    r4154 r4157  
    4949    NAME         => 'Text::MeCab', 
    5050    OBJECT       => '$(O_FILES)', 
    51     PREREQ_PM    => {}, 
     51    PREREQ_PM    => { 
     52        'Encode'     => 0, 
     53        'File::Spec' => 0, 
     54        'Test::More' => 0, 
     55    }, 
    5256    VERSION_FROM => 'lib/Text/MeCab.pm', 
    5357    clean        => { 
  • lang/perl/Text-MeCab/trunk/t/01-sanity.t

    r4114 r4157  
    11#!perl 
    22use strict; 
    3 use Test::More qw(no_plan);; 
     3use Test::More (tests => 42); 
    44 
    55BEGIN 
     
    1414    ok(eval { my $v = MECAB_EOS_NODE; 1 } && !$@, "MECAB_EOS_NODE ok"); 
    1515} 
     16 
     17can_ok("Text::MeCab", qw(new parse)); 
    1618 
    1719# Make sure that what Text::MeCab::Node can, Text::MeCab::Node::Cloned 
  • lang/perl/Text-MeCab/trunk/t/node/03_clone.t

    r4153 r4157  
    11#!perl 
    22use strict; 
     3use utf8; 
    34use Test::More (tests => 28); 
     5use Encode; 
    46 
    57BEGIN 
     
    911 
    1012my $data = { 
    11     taro => "太郎は次郎が持っている本を花子に渡した。", 
    12     sumomo => "すもももももももものうち。" 
     13    taro => encode(Text::MeCab::ENCODING, "太郎は次郎が持っている本を花子に渡した。"), 
     14    sumomo => encode(Text::MeCab::ENCODING, "すもももももももものうち。"), 
    1315}; 
    1416 
     
    3436 
    3537    if ($node_A->length != 0 || $node_B->length != 0) { 
    36         isnt($node_A->surface, $node_B->surface, "Contents of cloned nodes must differ"); 
     38        isnt($node_A->surface, $node_B->surface,  
     39            sprintf( 
     40                "Contents of cloned nodes must differ (A = %s, B = %s)", 
     41                $node_A->surface, 
     42                $node_B->surface, 
     43            ) 
     44        ); 
    3745    } 
    3846 
  • lang/perl/Text-MeCab/trunk/t/node/04_clone_free.t

    r4114 r4157  
    11#!perl 
    22use strict; 
     3use utf8; 
    34use Test::More qw(no_plan); 
     5use Encode; 
    46 
    57BEGIN 
     
    911 
    1012my $node; 
    11 my $data = do 't/strings.dat'; die if $@; 
     13my $data = encode(Text::MeCab::ENCODING, "太郎は次郎が持っている本を花子に渡した。"); 
    1214{ 
    1315    my $mecab = Text::MeCab->new; 
    14     $node = $mecab->parse($data->{taro}); 
     16    $node = $mecab->parse($data); 
    1517    $mecab = undef; 
    1618} 
  • lang/perl/Text-MeCab/trunk/t/node/05_format.t

    r4153 r4157  
    99} 
    1010 
    11 my $text = "となりの客は良く柿食う客だ"; 
     11my $text = encode(Text::MeCab::ENCODING, "となりの客は良く柿食う客だ"); 
    1212 
    1313my $mecab = Text::MeCab->new({  
  • lang/perl/Text-MeCab/trunk/t/tagger/03_basic.t

    r4114 r4157  
    11#!perl 
    22use strict; 
     3use utf8; 
    34use Test::More qw(no_plan); 
     5use Encode; 
    46 
    57BEGIN 
     
    810} 
    911 
    10 my $data = do 't/strings.dat'; die if $@; 
     12my $data = encode(Text::MeCab::ENCODING, "太郎は次郎が持っている本を花子に渡した。"); 
    1113 
    1214my $mecab = Text::MeCab->new({ 
     
    2123 
    2224for ( 
    23     my $node = $mecab->parse($data->{taro}); 
     25    my $node = $mecab->parse($data); 
    2426    $node; 
    2527    $node = $node->next 
     
    3739 
    3840for ( 
    39     my $node = $mecab->parse($data->{taro}); 
     41    my $node = $mecab->parse($data); 
    4042    $node; 
    4143    $node = $node->next 
  • lang/perl/Text-MeCab/trunk/tools/probe_mecab.pl

    r4154 r4157  
    119119} 
    120120 
    121 my $encoding_ok = 1; 
    122 if (! eval { require Encode }) { 
    123     $encoding_ok = 0; 
    124     print  
    125         "!!! WARNING !!!\n", 
    126         "\n", 
    127         "We were unable to load Encode.pm to convert the test data to $encoding.\n", 
    128         "This may result in a test failure if you are using a dictionary encoding\n", 
    129         "other than euc-jp.\n\n" 
    130     ; 
    131 } 
    132  
    133 my %data = ( 
    134     taro => "�Ϻ�ϼ�Ϻ���������Ҥ�Ϥ�����", 
    135     sumomo => "�����������Τ����" 
    136 ); 
    137 if ($encoding_ok) { 
    138     foreach my $key (keys %data) { 
    139         Encode::from_to($data{$key}, 'euc-jp', $encoding); 
    140     } 
    141 } 
    142  
    143 open my $fh, '>', 't/strings.dat'; 
    144 if (eval { require Data::Dump }) { 
    145     print $fh Data::Dump::dump(\%data); 
    146 } elsif (eval { require Data::Dumper }) { 
    147     local $Data::Dumper::Indent   = 1; 
    148     local $Data::Dumper::Sortkeys = 1; 
    149     local $Data::Dumper::Terse    = 1; 
    150     print $fh Data::Dumper::Dumper(\%data); 
    151 } else { 
    152     print 
    153         "Couldn't load Data::Dump or Data::Dumper!\n", 
    154         "Refusing to proceed\n"; 
    155     exit 1; 
    156 } 
    157 close $fh; 
    158  
    159121print "Using $encoding as your dictionary encoding\n"; 
    160122