add minimum perl
[catagits/CatalystX-Declare.git] / t / 061_signature_matching.t
CommitLineData
ed4a2203 1#!/usr/bin/env perl
2use strict;
3use warnings;
4
5no warnings 'redefine';
6
7use FindBin;
8use lib "$FindBin::Bin/lib";
9
10use Test::More;
11use Catalyst::Test 'TestApp';
accfac7d 12use HTTP::Request::Common;
ed4a2203 13
14
15is get('/sigmatch/test/23'), 'signaturematching/int', 'integer argument dispatched correctly';
16is get('/sigmatch/test/foo'), 'signaturematching/str', 'string argument dispatched correctly';
17is get('/sigmatch/test/f00'), 'signaturematching/rest', 'no match leads to other dispatched action';
18
accfac7d 19is get('/sigmatch/opt_param?page=3'), 'page 3', 'query parameter';
20is get('/sigmatch/opt_param?page=9&other=foo'), 'page 9', 'additional query parameter';
21
22is get('/sigmatch/req_param?page=7'), 'page 7', 'required query parameter';
23is get('/sigmatch/req_param'), 'no page', 'required query parameter fallback';
24
25# TODO
26#is get('/sigmatch/mid?page=3'), 'signaturematching/end_with_param', 'mid point with query parameter';
27#is get('/sigmatch/mid'), 'signaturematching/end_no_param', 'mid point without query parameter';
28
29is get('/sigmatch/with_list?filter=3'), '3', 'list-forced query parameter';
30is get('/sigmatch/with_list'), '', 'list-forced empty query parameter list';
31is get('/sigmatch/with_list?filter=3&filter=5'), '3, 5', 'list-forced query parameter with multiple';
32is get('/sigmatch/with_list?filter=foo'), 'signaturematching/rest', 'invalid data in list-forced query';
33
34is request(POST '/sigmatch/getpost', [id => 7])->content, 7, 'post request';
35
ed4a2203 36done_testing;