File: cgipost2.t

package info (click to toggle)
libapache2-mod-perl2 2.0.13-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 12,016 kB
  • sloc: perl: 97,771; ansic: 14,493; makefile: 51; sh: 18
file content (37 lines) | stat: -rw-r--r-- 1,086 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
use strict;
use warnings FATAL => 'all';

use Apache::Test;
use Apache::TestUtil;
use Apache::TestRequest qw(POST_BODY_ASSERT);

my $module = 'TestModules::cgipost2';
my $url = '/' . Apache::TestRequest::module2path($module);

my @data = (25, 50, 75, 100, 125, 150);

plan tests => scalar(@data), need_min_module_version(CGI => 3.08);

foreach my $post (@data) {
    my %param = ();

    foreach my $key (1 .. $post) {
      $param{$key} = 'data' x $key;
    }

    my $post_data = join '&', map { "$_=$param{$_}" }
                              sort { $a <=> $b } keys %param;
    my $expected  = join ':', map { $param{$_}      }
                              sort { $a <=> $b } keys %param;

    my $e_length = length $expected;

    my $received = POST_BODY_ASSERT $url, content => $post_data;

    my $r_length = length $received;

    t_debug "expected $e_length bytes, received $r_length bytes\n";
    ok ($expected eq $received);
}