2 # This is automatically generated by author/import-moose-test.pl.
3 # DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
4 use t::lib::MooseCompat;
16 use Mouse::Util::TypeConstraints;
20 => via { HTTPHeader->new(array => $_[0]) };
24 => via { HTTPHeader->new(hash => $_[0]) };
26 has 'array' => (is => 'ro');
27 has 'hash' => (is => 'ro');
34 has 'header' => (is => 'rw', isa => 'HTTPHeader', coerce => 1);
38 my $engine = Engine->new();
39 isa_ok($engine, 'Engine');
44 $engine->header([ 1, 2, 3 ]);
45 } '... type was coerced without incident';
46 isa_ok($engine->header, 'HTTPHeader');
49 $engine->header->array,
51 '... got the right array value of the header');
52 ok(!defined($engine->header->hash), '... no hash value set');
57 $engine->header({ one => 1, two => 2, three => 3 });
58 } '... type was coerced without incident';
59 isa_ok($engine->header, 'HTTPHeader');
62 $engine->header->hash,
63 { one => 1, two => 2, three => 3 },
64 '... got the right hash value of the header');
65 ok(!defined($engine->header->array), '... no array value set');
68 $engine->header("Foo");
69 } '... dies with the wrong type, even after coercion';
72 $engine->header(HTTPHeader->new);
73 } '... lives with the right type, even after coercion';
77 my $engine = Engine->new(header => [ 1, 2, 3 ]);
78 isa_ok($engine, 'Engine');
80 isa_ok($engine->header, 'HTTPHeader');
83 $engine->header->array,
85 '... got the right array value of the header');
86 ok(!defined($engine->header->hash), '... no hash value set');
90 my $engine = Engine->new(header => { one => 1, two => 2, three => 3 });
91 isa_ok($engine, 'Engine');
93 isa_ok($engine->header, 'HTTPHeader');
96 $engine->header->hash,
97 { one => 1, two => 2, three => 3 },
98 '... got the right hash value of the header');
99 ok(!defined($engine->header->array), '... no array value set');
103 my $engine = Engine->new(header => HTTPHeader->new());
104 isa_ok($engine, 'Engine');
106 isa_ok($engine->header, 'HTTPHeader');
108 ok(!defined($engine->header->hash), '... no hash value set');
109 ok(!defined($engine->header->array), '... no array value set');
113 Engine->new(header => 'Foo');
114 } '... dies correctly with bad params';
117 Engine->new(header => \(my $var));
118 } '... dies correctly with bad params';