cookbook
[gitmo/Moose.git] / t / 006_basic.t
index 726f211..d02f46c 100644 (file)
@@ -3,115 +3,9 @@
 use strict;
 use warnings;
 
-use Test::More;
-
-BEGIN {
-    eval "use HTTP::Headers; use Params::Coerce; use URI;";
-    plan skip_all => "HTTP::Headers & Params::Coerce & URI required for this test" if $@;        
-    plan no_plan => 1;    
-}
-
+use Test::More tests => 1;
 use Test::Exception;
 
 BEGIN {
     use_ok('Moose');           
 }
-
-{
-       package Request;
-       use strict;
-       use warnings;
-       use Moose;
-       
-       use HTTP::Headers  ();
-       use Params::Coerce ();
-       use URI            ();
-
-       subtype Header
-           => as Object
-           => where { $_->isa('HTTP::Headers') };
-
-       coerce Header
-           => from ArrayRef
-               => via { HTTP::Headers->new( @{ $_ } ) }
-           => from HashRef
-               => via { HTTP::Headers->new( %{ $_ } ) };
-
-       subtype Uri
-           => as Object
-           => where { $_->isa('URI') };
-
-       coerce Uri
-           => from Object
-               => via { $_->isa('URI') ? $_ : Params::Coerce::coerce( 'URI', $_ ) }
-           => from Str
-               => via { URI->new( $_, 'http' ) };
-
-       subtype Protocol
-           => as Str
-           => where { /^HTTP\/[0-9]\.[0-9]$/ };
-
-
-       has 'base'     => (is => 'rw', isa => 'Uri', coerce  => 1);
-       has 'url'      => (is => 'rw', isa => 'Uri', coerce  => 1);     
-       has 'method'   => (is => 'rw', isa => 'Str');   
-       has 'protocol' => (is => 'rw', isa => 'Protocol');              
-       has 'headers'  => (
-           is      => 'rw',
-           isa     => 'Header',
-           coerce  => 1,
-           default => sub { HTTP::Headers->new } 
-    );
-}
-
-my $r = Request->new;
-isa_ok($r, 'Request');
-
-{
-    my $header = $r->headers;
-    isa_ok($header, 'HTTP::Headers');
-
-    is($r->headers->content_type, '', '... got no content type in the header');
-
-    $r->headers( { content_type => 'text/plain' } );
-
-    my $header2 = $r->headers;
-    isa_ok($header2, 'HTTP::Headers');
-    isnt($header, $header2, '... created a new HTTP::Header object');
-
-    is($header2->content_type, 'text/plain', '... got the right content type in the header');
-
-    $r->headers( [ content_type => 'text/html' ] );
-
-    my $header3 = $r->headers;
-    isa_ok($header3, 'HTTP::Headers');
-    isnt($header2, $header3, '... created a new HTTP::Header object');
-
-    is($header3->content_type, 'text/html', '... got the right content type in the header');
-    
-    $r->headers( HTTP::Headers->new(content_type => 'application/pdf') );
-    
-    my $header4 = $r->headers;    
-    isa_ok($header4, 'HTTP::Headers');
-    isnt($header3, $header4, '... created a new HTTP::Header object');
-
-    is($header4->content_type, 'application/pdf', '... got the right content type in the header');    
-    
-    dies_ok {
-        $r->headers('Foo')
-    } '... dies when it gets bad params';
-}
-
-{
-    is($r->protocol, undef, '... got nothing by default');
-
-    lives_ok {
-        $r->protocol('HTTP/1.0');
-    } '... set the protocol correctly';
-    is($r->protocol, 'HTTP/1.0', '... got nothing by default');
-            
-    dies_ok {
-        $r->protocol('http/1.0');
-    } '... the protocol died with bar params correctly';            
-}
-