Apache-LangPrefCookie

 view release on metacpan or  search on metacpan

t/requests.t  view on Meta::CPAN

# -*-perl-*-

use Apache::Test;
use Apache::TestRequest qw( GET );
use Apache::TestUtil;
use Apache::Constants;

my @testdata;

while (<DATA>) {
    chomp; push @testdata, [split/!/];
}

plan tests => scalar(@testdata), have_lwp;

foreach (@testdata) {
    my @test = @$_;
    ok( do_test(@test), $test[3], "GET " . $test[0]
        . ", Accept-Language was \"" . $test[1]
        ."\", cookie was \"". $test[2] . "\"\n");
}

sub do_test {
    my ($url, $accept_language,  $cookie, $expect_resp, $resp, $resp_content) = @_;

    if (length $cookie) {
        Apache::TestRequest::user_agent(cookie_jar => {});
    }

    if ($accept_language) {
        $resp = GET $url, 'Accept-Language' => $accept_language, 'Cookie' => $cookie;
    } else {
        $resp = GET $url;
    }
    $resp_content = $resp->content;
    $resp_content =~ s!^.*<h1>(.+)</h1>.*$!$1!si;
    return $resp_content;
}

__DATA__
/langprefcookie/!!!English
/langprefcookie/index.html!!!English
/langprefcookie/index.html.html!!!English
/langprefcookie/index.html.en!!!English
/langprefcookie/index.html.it!!!Italiano
/langprefcookie/index.html.de!!!Deutsch
/langprefcookie/!*!!English
/langprefcookie/index.html!*!!English
/langprefcookie/index.html.html!*!!English
/langprefcookie/index.html.en!*!!English
/langprefcookie/index.html.it!*!!Italiano
/langprefcookie/index.html.de!*!!Deutsch
/langprefcookie/!de-at!!English
/langprefcookie/index.html!de-at!!English
/langprefcookie/index.html.html!de-at!!English
/langprefcookie/index.html.en!de-at!!English
/langprefcookie/index.html.it!de-at!!Italiano
/langprefcookie/index.html.de!de-at!!Deutsch
/langprefcookie/!de!!Deutsch
/langprefcookie/index.html!de!!Deutsch
/langprefcookie/index.html.html!de!!English
/langprefcookie/index.html.en!de!!English
/langprefcookie/index.html.it!de!!Italiano
/langprefcookie/index.html.de!de!!Deutsch
/langprefcookie/!de!prefer-language=x-klingon;path=/!Deutsch
/langprefcookie/index.html!de!prefer-language=x-klingon;path=/!Deutsch
/langprefcookie/index.html.html!de!prefer-language=x-klingon;path=/!English
/langprefcookie/index.html.en!de!prefer-language=x-klingon;path=/!English
/langprefcookie/index.html.it!de!prefer-language=x-klingon;path=/!Italiano
/langprefcookie/index.html.de!de!prefer-language=x-klingon;path=/!Deutsch
/langprefcookie/!de!prefer-language=it;path=/!Italiano
/langprefcookie/index.html!de!prefer-language=it;path=/!Italiano
/langprefcookie/index.html.html!de!prefer-language=it;path=/!English
/langprefcookie/index.html.en!de!prefer-language=it;path=/!English
/langprefcookie/index.html.it!de!prefer-language=it;path=/!Italiano
/langprefcookie/index.html.de!de!prefer-language=it;path=/!Deutsch
/langprefcookie/!de-at!prefer-language=it;path=/!Italiano
/langprefcookie/index.html!de-at!prefer-language=it;path=/!Italiano
/langprefcookie/index.html.html!de-at!prefer-language=it;path=/!English
/langprefcookie/index.html.en!de-at!prefer-language=it;path=/!English
/langprefcookie/index.html.it!de-at!prefer-language=it;path=/!Italiano
/langprefcookie/index.html.de!de-at!prefer-language=it;path=/!Deutsch
/langprefcookie/!*!prefer-language=it;path=/!Italiano
/langprefcookie/index.html!*!prefer-language=it;path=/!Italiano
/langprefcookie/index.html.html!*!prefer-language=it;path=/!English
/langprefcookie/index.html.en!*!prefer-language=it;path=/!English
/langprefcookie/index.html.it!*!prefer-language=it;path=/!Italiano
/langprefcookie/index.html.de!*!prefer-language=it;path=/!Deutsch
/langprefcookie/!de!prefer-baggage=it;path=/!Deutsch
/langprefcookie/index.html!de!prefer-baggage=it;path=/!Deutsch
/langprefcookie/index.html.html!de!prefer-baggage=it;path=/!English



( run in 0.531 second using v1.01-cache-2.11-cpan-39bf76dae61 )