package t::TestCatalystBase; use strict; use Catalyst; use Directory::Scratch; my %content = ( ); my $scratch = Directory::Scratch->new; $scratch->create_tree({ (map { $_ => "/* Test css file for $_ */\n" } map { "root/static/$_.css" } qw/apple banana auto yui-compressor concat/), (map { $_ => "/* Test js file for $_ */\n" } map { "root/static/$_.js" } qw/apple banana auto yui-compressor concat/), 'root/static/apple.css' => <<_END_, /* Test css file for apple.css */ div.apple { color: red; } div.apple { color: blue; } _END_ 'root/static/auto.css' => <<_END_, /* Test css file for auto.css */ div.auto { font-weight: bold; color: green; } /* Comment at the end */ _END_ 'root/static/apple.js' => <<_END_, /* Test js file for apple.js */ var apple = 1 + 4; alert("Apple is " + apple); _END_ 'root/static/auto.js' => <<_END_, /* Test js file for auto.js */ function calculate() { return 1 * 30 / 23; } var auto = 8 + 4; alert("Automatically " + auto); _END_ }); sub scratch { return $scratch; } sub setup_ { my $class = shift; $class->config( home => $scratch->base, name => 'TestCatalyst', debug => 1, @_, ); $class->setup(qw/Assets/); } sub auto : Private { my ($self, $catalyst) = @_; $catalyst->assets->include("static/auto.css"); $catalyst->assets->include("static/auto.js"); } sub default : Private { my ($self, $catalyst) = @_; $catalyst->response->output('Nothing happens.'); } sub fruit_salad : Path('fruit-salad') { my ($self, $catalyst) = @_; $catalyst->assets->include("static/apple.js"); $catalyst->assets->include("static/banana.js"); $catalyst->assets->include("static/apple.css"); $catalyst->response->output($catalyst->assets->export); } 1;