#!/usr/bin/env perl use strict; use warnings; use WgetFeature qw(iri); use HTTPTest; # " Kon'nichiwa Japan my $euc_jp_hostname = "\272\243\306\374\244\317.\306\374\313\334"; my $punycoded_hostname = 'xn--v9ju72g90p.xn--wgv71a'; my $escaped_hostname = "%ba%a3%c6%fc%a4%cf.%c6%fc%cb%dc"; ############################################################################### my $starter_file = <The link The second link The third link EOF my $result_file = < { code => "200", msg => "Yes, please", headers => { 'Content-Type' => 'text/html; charset=EUC-JP', }, content => $starter_file, }, "http://$punycoded_hostname/foo.txt" => { code => "200", msg => "Uh-huh", headers => { 'Content-Type' => 'text/plain', }, content => $result_file, }, "http://$punycoded_hostname/foo2.txt" => { code => "200", msg => "Uh-huh2", headers => { 'Content-Type' => 'text/plain', }, content => $result_file, }, "http://$punycoded_hostname/foo3.txt" => { code => "200", msg => "Uh-huh3", headers => { 'Content-Type' => 'text/plain', }, content => $result_file, }, "http://$punycoded_hostname/robots.txt" => { code => "200", msg => "Uh-huh", headers => { 'Content-Type' => 'text/plain', }, content => '', }, ); my $cmdline = $WgetTest::WGETPATH . " --iri -r" . " -e http_proxy=localhost:{{port}} --local-encoding=EUC-JP" . " http://$euc_jp_hostname/"; my $expected_error_code = 0; my %expected_downloaded_files = ( "$punycoded_hostname/index.html" => { content => $starter_file, }, "$punycoded_hostname/foo.txt" => { content => $result_file, }, "$punycoded_hostname/foo2.txt" => { content => $result_file, }, "$punycoded_hostname/foo3.txt" => { content => $result_file, }, "$punycoded_hostname/robots.txt" => { content => '', }, ); ############################################################################### my $the_test = HTTPTest->new (name => "Test-idn-robots", input => \%urls, cmdline => $cmdline, errcode => $expected_error_code, output => \%expected_downloaded_files); exit $the_test->run(); # vim: et ts=4 sw=4