File: xsp_taglibs.t

package info (click to toggle)
libmagpie-perl 1.141660-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch
  • size: 3,524 kB
  • ctags: 337
  • sloc: perl: 4,081; xml: 405; makefile: 26
file content (41 lines) | stat: -rw-r--r-- 936 bytes parent folder | download | duplicates (4)
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
38
39
40
41
use strict;
use warnings;
use Test::More;

use Test::Requires qw{
    XML::XSP
};

use FindBin;
use lib "$FindBin::Bin/lib";

use Plack::Test;
use Plack::Builder;
use Plack::Middleware::Magpie;
use HTTP::Request::Common;

my $taglibs = {
    'http://axkit.org/NS/xsp/webutils/v1'  => 'XML::XSP::Taglib::WebUtils',
    'http://www.tamarou.com/public/cookie' => 'XML::XSP::Taglib::Cookie',
};

my $handler = builder {
    enable "Magpie", pipeline =>
        [ 'Magpie::Transformer::XSP' => { taglibs => $taglibs }, ];

    enable "Static", path => qr!\.xsp$!, root => './t/htdocs';
};

test_psgi
    app    => $handler,
    client => sub {
    my $cb   = shift;
    my $res  = $cb->( GET "http://localhost/taglibs.xsp" );
    my $body = $res->content;
    is $res->code, '200';
    like $res->header('Set-Cookie'), qr|oreo=doublestuff|;
    like $body, qr|<html>|;
    like $body, qr|http://localhost/taglibs.xsp|;
    };

done_testing;