Cookie
view release on metacpan or search on metacpan
t/002_domain.t view on Meta::CPAN
[ 'test.jp' => { name => 'test', suffix => 'jp' } ],
[ 'www.test.jp' => { sub => 'www', name => 'test', suffix => 'jp' } ],
[ 'ac.jp' => { suffix => 'ac.jp' } ],
[ 'test.ac.jp' => { name => 'test', suffix => 'ac.jp' } ],
[ 'www.test.ac.jp' => { sub => 'www', name => 'test', suffix => 'ac.jp' } ],
[ 'kyoto.jp' => { suffix => 'kyoto.jp' } ],
[ 'c.kyoto.jp' => { name => 'c', suffix => 'kyoto.jp' } ],
[ 'b.c.kyoto.jp' => { sub => 'b', name => 'c', suffix => 'kyoto.jp' } ],
[ 'a.b.c.kyoto.jp' => { sub => 'a.b', name => 'c', suffix => 'kyoto.jp' } ],
[ 'ayabe.kyoto.jp' => { suffix => 'ayabe.kyoto.jp' } ],
[ 'test.kobe.jp' => { suffix => 'test.kobe.jp' } ], # Wildcard rule.
[ 'www.test.kobe.jp' => { name => 'www', suffix => 'test.kobe.jp' } ], # Wildcard rule.
[ 'city.kobe.jp' => { name => 'city', suffix => 'kobe.jp' } ], # Exception rule.
[ 'www.city.kobe.jp' => { sub => 'www', name => 'city', suffix => 'kobe.jp' } ], # Identity rule.
[ 'ck' => { suffix => 'ck' } ],
[ 'test.ck' => { suffix => 'test.ck' } ],
[ 'b.test.ck' => { name => 'b', suffix => 'test.ck' } ],
[ 'a.b.test.ck' => { sub => 'a', name => 'b', suffix => 'test.ck' } ],
[ 'www.ck' => { name => 'www', suffix => 'ck' } ],
[ 'www.www.ck' => { sub => 'www', name => 'www', suffix => 'ck' } ],
# US K12:
[ 'us' => { suffix => 'us' } ],
[ 'test.us' => { name => 'test', suffix => 'us' } ],
[ 'www.test.us' => { sub => 'www', name => 'test', suffix => 'us' } ],
[ 'ak.us' => { suffix => 'ak.us' } ],
[ 'test.ak.us' => { name => 'test', suffix => 'ak.us' } ],
[ 'www.test.ak.us' => { sub => 'www', name => 'test', suffix => 'ak.us' } ],
[ 'k12.ak.us' => { suffix => 'k12.ak.us' } ],
[ 'test.k12.ak.us' => { name => 'test', suffix => 'k12.ak.us' } ],
[ 'www.test.k12.ak.us' => { sub => 'www', name => 'test', suffix => 'k12.ak.us' } ],
[ 'test.æ±äº¬.jp' => { name => 'test', suffix => 'æ±äº¬.jp' } ],
[ '䏿.tw' => { name => '䏿', suffix => 'tw' } ],
[ 'à¨à¨¾à¨°à¨¤.à¨à¨¾à¨°à¨¤' => { name => 'à¨à¨¾à¨°à¨¤', suffix => 'à¨à¨¾à¨°à¨¤' } ],
[ 'é£ç®.com.cn' => { name => 'é£ç®', suffix => 'com.cn' } ],
[ 'é£ç®.å
¬å¸.cn' => { name => 'é£ç®', suffix => 'å
¬å¸.cn' } ],
[ 'www.é£ç®.å
¬å¸.cn' => { sub => 'www', name => 'é£ç®', suffix => 'å
¬å¸.cn' } ],
[ 'shishi.å
¬å¸.cn' => { name => 'shishi', suffix => 'å
¬å¸.cn' } ],
[ 'å
¬å¸.cn' => { suffix => 'å
¬å¸.cn' } ],
[ 'é£ç®.ä¸å½' => { name => 'é£ç®', suffix => 'ä¸å½' } ],
[ 'www.é£ç®.ä¸å½' => { sub => 'www', name => 'é£ç®', suffix => 'ä¸å½' } ],
[ 'shishi.ä¸å½' => { name => 'shishi', suffix => 'ä¸å½' } ],
[ 'ä¸å½' => { suffix => 'ä¸å½' } ],
);
SKIP:
{
if( !defined( $dom ) )
{
diag( "Failed to instantiate a Cookie::Domain object: ", Cookie::Domain->error ) if( $DEBUG );
skip( "Failed to instantiate a Cookie::Domain object.", ( scalar( @tests ) * 5 ) );
}
no warnings 'uninitialized';
foreach my $test ( @tests )
{
my $res = scalar( @$test ) > 2 ? $dom->stat( $test->[0], $test->[2] ) : $dom->stat( $test->[0] );
my $expect = $test->[1];
# is( ref( $res ), ref( $expect ), 'result type for ' . $test->[0] );
if( ref( $expect ) )
{
isa_ok( $res, 'Cookie::Domain::Result', 'result type for ' . $test->[0] );
my $all_ok = 1;
foreach my $k ( qw( name sub suffix ) )
{
if( ( defined( $res->{ $k } ) && !exists( $expect->{ $k } ) ) ||
$expect->{ $k } ne $res->{ $k } )
{
diag( "\tCould not find property '$k' or our expected value '", $expect->{ $k }, "' does not match what we received '", $res->{ $k }, "'" );
$all_ok = 0;
last;
}
my $v = $res->$k();
# is( $v, $expect->{ $k }, "\$res->$k() for " . $test->[0] . " (" . ( defined( $v ) ? $v->length : 0 ) . ")" );
is( $v, $expect->{ $k }, "\$res->$k() for " . $test->[0] );
}
ok( $all_ok, 'result hash for ' . $test->[0] );
}
else
{
is( $res, $expect, 'result type for ' . $test->[0] );
is( $res, $expect, 'result for ' . $test->[0] );
}
}
};
done_testing();
__END__
( run in 4.988 seconds using v1.01-cache-2.11-cpan-14f38c9f855 )