File: unit_core_action.t

package info (click to toggle)
libcatalyst-perl 5.90132-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,016 kB
  • sloc: perl: 11,061; makefile: 7
file content (55 lines) | stat: -rw-r--r-- 1,245 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
use Test::More tests => 6;
use strict;
use warnings;
use Moose::Meta::Class;
#use Moose::Meta::Attribute;
use Catalyst::Request;
use Catalyst::Log;

use_ok('Catalyst::Action');

my $action_1 = Catalyst::Action->new(
  name => 'foo',
  code => sub { "DUMMY" },
  reverse => 'bar/foo',
  namespace => 'bar',
  attributes => {
    Args => [ 1 ],
    attr2 => [ 2 ],
  },
);

my $action_2 = Catalyst::Action->new(
  name => 'foo',
  code => sub { "DUMMY" },
  reverse => 'bar/foo',
  namespace => 'bar',
  attributes => {
    Args => [ 2 ],
    attr2 => [ 2 ],
  },
);

is("${action_1}", $action_1->reverse, 'overload string');
is($action_1->(), 'DUMMY', 'overload code');

my $anon_meta = Moose::Meta::Class->create_anon_class(
  attributes => [
    Moose::Meta::Attribute->new(
      request => (
        reader => 'request',
        required => 1,
        default => sub { Catalyst::Request->new(_log => Catalyst::Log->new, arguments => [qw/one two/]) },
      ),
    ),
  ],
  methods => { req => sub { shift->request(@_) } }
);

my $mock_c = $anon_meta->new_object();
$mock_c->request;

ok(!$action_1->match($mock_c), 'bad match fails');
ok($action_2->match($mock_c), 'good match works');

ok($action_2->compare( $action_1 ), 'compare works');