Ark

 view release on metacpan or  search on metacpan

t/002_action_path.t  view on Meta::CPAN

    package TestApp;
    use Ark;

    package TestApp::Controller::Root;
    use Ark 'Controller';

    has '+namespace' => default => '';

    sub default :Path Args {
        my ($self, $c) = @_;
        $c->res->status(404);
        $c->res->content('404');
    }

    sub index :Path {
        my ($self, $c) = @_;
        $c->res->content('index');
    }

    sub local :Local {
        my ($self, $c) = @_;
        $c->res->content('local');

t/002_action_path.t  view on Meta::CPAN

    ];

{
    my $res = request( GET => '/');
    ok($res, 'response ok');
    isa_ok($res, 'HTTP::Response');
    is($res->content, 'index', 'index content ok');
}

{
    my $res = request( GET => '/404');
    ok($res, 'response ok');
    isa_ok($res, 'HTTP::Response');
    is($res->code, 404, '404 status code ok');
    is($res->content, '404', '404 content ok');
}

{
    my $res = request( GET => '/local' );
    ok($res, 'response ok');
    isa_ok($res, 'HTTP::Response');
    is($res->code, 200, '200 status code ok');
    is($res->content, 'local', 'local content ok');
}

{
    my $res = request( GET => '/local2/a1/a2' );
    is($res->content, 'a1,a2', 'local2 with args content ok');
}

{
    my $res = request( GET => '/local3' );
    is($res->content, 'local3', 'local3 with args content ok');

    $res = request( GET => '/local3/a1' );
    is($res->code, 404, '404 status ok');
    is($res->content, '404', 'local3 with args == 404 ok');
}

{
    my $res = request( GET => '/local4/a1' );
    is($res->content, 'local4:a1', 'local4 with args content ok');

    $res = request( GET => '/local4' );
    is($res->code, '404', 'local4 with no args is 404 ok');

    $res = request( GET => '/local4/a1/a2/' );
    is($res->code, '404', 'local4 with too many args is 404 ok');
}

{
    my $res = request( GET => '/sub');
    is($res->code, 200, '200 status ok');
    is($res->content, 'sub/index', 'sub/index ok');
}

{
    my $res = request( GET => '/global' );

t/detach_action_chain.t  view on Meta::CPAN

{
    package TestApp;
    use Ark;

    package TestApp::Controller::Root;
    use Ark 'Controller';
    has '+namespace' => default => '';

    sub default :Private {
        my ($self, $c) = @_;
        $c->res->body('404');
    }

    package TestApp::Controller::Entry;
    use Ark 'Controller';

    sub entry :Chained('/') :PathPart('entry') :CaptureArgs(1) {
        my ($self, $c, $entry_id) = @_;
        $c->stash->{entry} = "entry$entry_id";
        $c->detach('/default') if $entry_id eq '0';
    }

t/detach_action_chain.t  view on Meta::CPAN


{
    my $res = request( GET => '/entry/1' );
    ok($res->is_success, 'response ok');
    is($res->content, 'entry1', 'chained without detach response ok');
}

{
    my $res = request( GET => '/entry/0' );
    ok($res->is_success, 'response ok');
    is($res->content, '404', 'chained with detach response ok');
}

done_testing;

t/detach_action_chain2.t  view on Meta::CPAN

{
    package T;
    use Ark;

    package T::Controller::Root;
    use Ark 'Controller';
    has '+namespace' => default => '';

    sub default :Private {
        my ($self, $c) = @_;
        $c->res->body('404');
    }

    package T::Controller::Entry;
    use Ark 'Controller';

    sub entry :Chained('/') :PathPart('entry') :CaptureArgs(1) {
        my ($self, $c, $entry_id) = @_;
        $c->stash->{entry} = $entry_id;
        $c->res->body("entry$entry_id");
    }

t/detach_action_chain2.t  view on Meta::CPAN


{
    my $res = request( GET => '/entry/1/more' );
    ok($res->is_success, 'response ok');
    is($res->content, 'entry1aftercheck', 'chained without detach response ok');
}

{
    my $res = request( GET => '/entry/0/more' );
    ok($res->is_success, 'response ok');
    is($res->content, '404', 'chained with detach response ok');
}

done_testing;

__END__

web03% prove -vlr t/detach_action_chain2.t
t/detach_action_chain2.t ..
ok 1 - response ok
ok 2 - chained without detach response ok
ok 3 - response ok
not ok 4 - chained with detach response ok
#   Failed test 'chained with detach response ok'
#   at t/detach_action_chain2.t line 49.
#          got: '404aftercheck'
#     expected: '404'
1..4
# Looks like you failed 1 test of 4.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests

Test Summary Report
-------------------
t/detach_action_chain2.t (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  4
  Non-zero exit status: 1

t/regexp_action.t  view on Meta::CPAN

    package T1;
    use Ark;

    package T1::Controller::Root;
    use Ark 'Controller';

    has '+namespace' => default => '';

    sub default :Path {
        my ($self, $c) = @_;
        $c->res->status(404);
        $c->res->body('404 Not Found');
    }

    sub render :Private {
        my ($self, $c, @path) = @_;

        my $date = q[];
        my ($yr, $mo, $da) = @{$c->stash}{qw/year month day/};
        if ($yr && $mo && $da) {
            $date = sprintf '%04d-%02d-%02d', $yr, $mo, $da;
        }



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