From 252601302d45036817546c533743e5918b6b86e8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 19:38:31 +0200 Subject: Adding upstream version 1.21.3. Signed-off-by: Daniel Baumann --- tests/Test-restrict-ascii.px | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 tests/Test-restrict-ascii.px (limited to 'tests/Test-restrict-ascii.px') diff --git a/tests/Test-restrict-ascii.px b/tests/Test-restrict-ascii.px new file mode 100755 index 0000000..ecde384 --- /dev/null +++ b/tests/Test-restrict-ascii.px @@ -0,0 +1,67 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use HTTPTest; + +# This program tests that --restrict-file-names=ascii can be used to +# ensure that all high-valued bytes are escaped. The sample filename was +# chosen because in former versions of Wget, one could either choose not +# to escape any portion of the UTF-8 filename via +# --restrict-file-names=nocontrol (which would only be helpful if one +# was _on_ a UTF-8 system), or else Wget would escape _portions_ of +# characters, leaving irrelevant "latin1"-looking characters combined +# with percent-encoded "control" characters, instead of encoding all the +# bytes of an entire non-ASCII UTF-8 character. + +############################################################################### + +# "gnosis" in UTF-8 greek. +my $gnosis = '%CE%B3%CE%BD%CF%89%CF%83%CE%B9%CF%82'; + +my $mainpage = < + + Some Page Title + + +

+ Some text... +

+ + +EOF + +# code, msg, headers, content +my %urls = ( + "/$gnosis.html" => { + code => "200", + msg => "Dontcare", + headers => { + "Content-type" => "text/html", + }, + content => $mainpage, + }, +); + +my $cmdline = $WgetTest::WGETPATH . " --restrict-file-names=ascii " + . "http://localhost:{{port}}/${gnosis}.html"; + +my $expected_error_code = 0; + +my %expected_downloaded_files = ( + "${gnosis}.html" => { + content => $mainpage, + }, +); + +############################################################################### + +my $the_test = HTTPTest->new (input => \%urls, + cmdline => $cmdline, + errcode => $expected_error_code, + output => \%expected_downloaded_files); +exit $the_test->run(); + +# vim: et ts=4 sw=4 -- cgit v1.2.3