1#!/usr/bin/perl 2 3use strict; 4use warnings; 5 6use WgetFeature qw(iri); 7use HTTPTest; 8 9# " Kon'nichiwa <dot> Japan 10my $euc_jp_hostname = "\272\243\306\374\244\317.\306\374\313\334"; 11my $punycoded_hostname = 'xn--v9ju72g90p.xn--wgv71a'; 12 13############################################################################### 14 15my $starter_file = <<EOF; 16<a href="http://$euc_jp_hostname/">The link</a> 17EOF 18 19my $result_file = <<EOF; 20Found me! 21EOF 22 23# code, msg, headers, content 24my %urls = ( 25 'http://start-here.com/start.html' => { 26 code => "200", 27 msg => "You want fries with that?", 28 headers => { 29 'Content-Type' => 'text/html; charset=EUC-JP', 30 }, 31 content => $starter_file, 32 }, 33 "http://$punycoded_hostname/index.html" => { 34 code => "200", 35 msg => "Yes, please", 36 headers => { 37 'Content-Type' => 'text/plain', 38 }, 39 content => $result_file, 40 }, 41); 42 43my $cmdline = $WgetTest::WGETPATH . " --debug --iri -rH" 44 . " -e http_proxy=localhost:{{port}} http://start-here.com/start.html"; 45 46my $expected_error_code = 0; 47 48my %expected_downloaded_files = ( 49 'start-here.com/start.html' => { 50 content => $starter_file, 51 }, 52 "$punycoded_hostname/index.html" => { 53 content => $result_file, 54 }, 55); 56 57############################################################################### 58 59my $the_test = HTTPTest->new (name => "Test-idn-headers", 60 input => \%urls, 61 cmdline => $cmdline, 62 errcode => $expected_error_code, 63 output => \%expected_downloaded_files); 64exit $the_test->run(); 65 66# vim: et ts=4 sw=4 67 68