#!/usr/bin/perl use strict; use warnings; use Test::More; use Catalyst::Request; use Catalyst::TraitFor::Request::REST::ForBrowsers; use Catalyst::Request::REST::ForBrowsers; use Catalyst::Action::REST::ForBrowsers; use Moose::Meta::Class; use HTTP::Headers; my $anon_class = Moose::Meta::Class->create_anon_class( superclasses => ['Catalyst::Request'], roles => ['Catalyst::TraitFor::Request::REST::ForBrowsers'], cache => 1, )->name; for my $class ( $anon_class, 'Catalyst::Request::REST::ForBrowsers' ) { { for my $method (qw( GET )) { my $req = $class->new(); $req->method($method); $req->{_context} = 'MockContext'; $req->parameters( {} ); is( $req->method(), $method, ); } } { my $req = $class->new(); $req->{_context} = 'MockContext'; $req->method('GET'); $req->parameters( {} ); $req->headers( HTTP::Headers->new() ); ok( $req->looks_like_browser(), 'default is a browser' ); } package MockContext; sub prepare_body { } } done_testing;