1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
6use HTTPTest;
7
8
9###############################################################################
10
11my $oldversion = <<EOF;
1211111111111111111111111111111111111111111111111111
13222222222222222222222222222222222222222222222222222222222222
143333333333333333333333333333333333333333333333333333333333333333333333
15444444444444444444444444444444444444444444444444444444444444
1655555555555555555555555555555555555555555555555555
17EOF
18
19my $newversion = $oldversion;
20$newversion =~ s/^(.{20}).(.*)$/$1x$2/s;
21
22# code, msg, headers, content
23my %urls = (
24    '/somefile.txt' => {
25        code => "200",
26        msg => "Dontcare",
27        headers => {
28            "Content-type" => "text/plain",
29            "Last-Modified" => "Sat, 09 Oct 2004 08:30:00 GMT",
30        },
31        content => $newversion,
32    },
33);
34
35my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:{{port}}/somefile.txt";
36
37my $expected_error_code = 0;
38
39my %existing_files = (
40    'somefile.txt' => {
41        content => $oldversion,
42        timestamp => 1097310000, # Earlier timestamp
43    },
44);
45
46my %expected_downloaded_files = (
47    'somefile.txt' => {
48        content => $newversion,
49        timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
50    },
51);
52
53###############################################################################
54
55my $the_test = HTTPTest->new (name => "Test-N-old",
56                              input => \%urls,
57                              cmdline => $cmdline,
58                              errcode => $expected_error_code,
59                              existing => \%existing_files,
60                              output => \%expected_downloaded_files);
61exit $the_test->run();
62
63# vim: et ts=4 sw=4
64
65