6 use Test::More tests => 10;
9 use Scalar::Util 'isweak';
23 => via { HTTPHeader->new(array => $_[0]) }
25 => via { HTTPHeader->new(hash => $_[0]) };
27 has 'array' => (is => 'ro');
28 has 'hash' => (is => 'ro');
35 has 'header' => (is => 'rw', isa => 'HTTPHeader', coerce => 1);
38 my $engine = Engine->new();
39 isa_ok($engine, 'Engine');
43 $engine->header([ 1, 2, 3 ]);
44 isa_ok($engine->header, 'HTTPHeader');
47 $engine->header->array,
49 '... got the right array value of the header');
50 ok(!defined($engine->header->hash), '... no hash value set');
54 $engine->header({ one => 1, two => 2, three => 3 });
55 isa_ok($engine->header, 'HTTPHeader');
58 $engine->header->hash,
59 { one => 1, two => 2, three => 3 },
60 '... got the right hash value of the header');
61 ok(!defined($engine->header->array), '... no array value set');
64 $engine->header("Foo");
65 } '... dies with the wrong type, even after coercion';
68 $engine->header(HTTPHeader->new);
69 } '... lives with the right type, even after coercion';