diff --git a/t/041-order.t b/t/041-order.t index 79069433c..d91c9d215 100644 --- a/t/041-order.t +++ b/t/041-order.t @@ -5,7 +5,7 @@ use Sisimai::Order; my $PackageName = 'Sisimai::Order'; my $MethodNames = { - 'class' => ['by', 'default', 'another', 'headers'], + 'class' => ['by', 'default', 'another', 'headers', 'forjson'], 'object' => [], }; @@ -13,15 +13,51 @@ use_ok $PackageName; can_ok $PackageName, @{ $MethodNames->{'class'} }; MAKE_TEST: { - my $default = Sisimai::Order->default; - my $another = Sisimai::Order->another; - my $headers = Sisimai::Order->headers; - my $orderby = Sisimai::Order->by('subject'); + my $default = $PackageName->default; + my $another = $PackageName->another; + my $headers = $PackageName->headers; + my $orderby = $PackageName->by('subject'); + my $forjson = $PackageName->forjson; isa_ok $default, 'ARRAY'; isa_ok $another, 'ARRAY'; + isa_ok $forjson, 'ARRAY'; isa_ok $headers, 'HASH'; isa_ok $orderby, 'HASH'; + + ok scalar @$default, scalar(@$default).' Modules'; + ok scalar @$another, scalar(@$another).' Modules'; + ok scalar @$forjson, scalar(@$forjson).' Modules'; + ok keys %$headers, scalar(keys %$headers).' Headers'; + ok keys %$orderby, scalar(keys %$orderby).' Patterns'; + + for my $v ( @$default, @$another, @$forjson ) { + # Module name test + like $v, qr/\ASisimai::Lhost::/, $v; + use_ok $v; + } + + for my $v ( keys %$headers ) { + # Header name table + like $v, qr/\A[a-z][-a-z]+\z/, $v; + for my $w ( @{ $headers->{ $v } } ) { + # Module name test + like $w, qr/\ASisimai::Lhost::/, $v.' => '.$w; + } + } + + for my $v ( keys %$orderby ) { + # Pattern table for detecting MTA + ok $v, 'subject =~ '.$v; + ok scalar @{ $orderby->{ $v } }; + for my $w ( @{ $orderby->{ $v } } ) { + ok length $w; + use_ok $w; + } + } + + isa_ok $PackageName->by('neko'), 'HASH'; + is scalar keys %{ $PackageName->by('neko') }, 0; } done_testing; diff --git a/t/045-order-email.t b/t/045-order-email.t deleted file mode 100644 index 005667b41..000000000 --- a/t/045-order-email.t +++ /dev/null @@ -1,62 +0,0 @@ -use strict; -use Test::More; -use lib qw(./lib ./blib/lib); -use Sisimai::Order::Email; - -my $PackageName = 'Sisimai::Order::Email'; -my $MethodNames = { - 'class' => ['by', 'default', 'another', 'headers'], - 'object' => [], -}; - -use_ok $PackageName; -can_ok $PackageName, @{ $MethodNames->{'class'} }; - -MAKE_TEST: { - my $default = $PackageName->default; - my $another = $PackageName->another; - my $headers = $PackageName->headers; - my $orderby = $PackageName->by('subject'); - - isa_ok $default, 'ARRAY'; - isa_ok $another, 'ARRAY'; - isa_ok $headers, 'HASH'; - isa_ok $orderby, 'HASH'; - - ok scalar @$default, scalar(@$default).' Modules'; - ok scalar @$another, scalar(@$another).' Modules'; - ok keys %$headers, scalar(keys %$headers).' Headers'; - ok keys %$orderby, scalar(keys %$orderby).' Patterns'; - - for my $v ( @$default, @$another ) { - # Module name test - like $v, qr/\ASisimai::Bite::(?:Email|JSON)::/, $v; - use_ok $v; - } - - for my $v ( keys %$headers ) { - # Header name table - like $v, qr/\A[a-z][-a-z]+\z/, $v; - for my $w ( @{ $headers->{ $v } } ) { - # Module name test - like $w, qr/\ASisimai::Bite::(?:Email|JSON)::/, $v.' => '.$w; - } - } - - for my $v ( keys %$orderby ) { - # Pattern table for detecting MTA - ok $v, 'subject =~ '.$v; - ok scalar @{ $orderby->{ $v } }; - for my $w ( @{ $orderby->{ $v } } ) { - ok length $w; - use_ok $w; - } - } - - isa_ok $PackageName->by('neko'), 'HASH'; - is scalar keys %{ $PackageName->by('neko') }, 0; -} - -done_testing; - - diff --git a/t/046-order-json.t b/t/046-order-json.t deleted file mode 100644 index 69baa84b6..000000000 --- a/t/046-order-json.t +++ /dev/null @@ -1,52 +0,0 @@ -use strict; -use Test::More; -use lib qw(./lib ./blib/lib); -use Sisimai::Order::JSON; - -my $PackageName = 'Sisimai::Order::JSON'; -my $MethodNames = { - 'class' => ['by', 'default', 'another', 'headers'], - 'object' => [], -}; - -use_ok $PackageName; -can_ok $PackageName, @{ $MethodNames->{'class'} }; - -MAKE_TEST: { - my $default = $PackageName->default; - my $another = $PackageName->another; - my $headers = $PackageName->headers; - my $orderby = $PackageName->by('keyname'); - - isa_ok $default, 'ARRAY'; - isa_ok $another, 'ARRAY'; - isa_ok $headers, 'HASH'; - isa_ok $orderby, 'HASH'; - - ok scalar @$default, scalar(@$default).' Modules'; - ok keys %$orderby, scalar(keys %$orderby).' Patterns'; - - for my $v ( @$default ) { - # Module name test - like $v, qr/\ASisimai::Bite::JSON::/, $v; - use_ok $v; - } - - for my $v ( keys %$orderby ) { - # Pattern table for detecting MTA module - ok $v, 'subject =~ '.$v; - ok scalar @{ $orderby->{ $v } }; - for my $w ( @{ $orderby->{ $v } } ) { - ok length $w; - use_ok $w; - } - } - - isa_ok $PackageName->by('neko'), 'HASH'; - is scalar keys %{ $PackageName->by('neko') }, 0; -} - -done_testing; - - -