X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F04_semi_persistent_flash.t;fp=t%2F04_semi_persistent_flash.t;h=76b968b23bc37af981b70913bb228da22a0e2db8;hb=f30b987169e25fd2784b1564890dd539beecc19a;hp=0000000000000000000000000000000000000000;hpb=47ca362e48bea3d2ea0265d91bf5ef9842d900e5;p=catagits%2FCatalyst-Plugin-Session.git diff --git a/t/04_semi_persistent_flash.t b/t/04_semi_persistent_flash.t new file mode 100644 index 0000000..76b968b --- /dev/null +++ b/t/04_semi_persistent_flash.t @@ -0,0 +1,47 @@ +#!/usr/bin/perl -w +use strict; + +use Test::More; + +BEGIN { + eval { require Catalyst::Plugin::Session::State::Cookie } + or plan skip_all => + "Catalyst::Plugin::Session::State::Cookie is required for this test"; + + eval { require Catalyst::Plugin::Session::Store::File} + or plan skil_all => + 'Catalyst::Plugin::Session::Store::File is required for this test'; + eval { require Test::WWW::Mechanize::Catalyst } + or plan skip_all => + 'Test::WWW::Mechanize::Catalyst is required for this test'; + + plan tests => '10'; + +} + +use lib "t/lib"; +use Test::WWW::Mechanize::Catalyst 'FlashTestApp'; + +my $ua = Test::WWW::Mechanize::Catalyst->new; + +# flash absent for initial request +$ua->get_ok( "http://localhost/first") for $ua; +$ua->content_contains( "flash is not set", "not set"); + +# present for 1st req. +$ua->get_ok( "http://localhost/second") for $ua; +$ua->content_contains( "flash set first time", "set first"); + +# should be the same 2nd req. +$ua->get_ok( "http://localhost/third") for $ua; +$ua->content_contains( "flash set second time", "set second"); + +# and the third request, flash->{is_set} has the same value as 2nd. +$ua->get_ok( "http://localhost/fourth") for $ua; +$ua->content_contains( "flash set 3rd time, same val as prev.", "set third"); + + +# and should be absent again for the 4th req. +$ua->get_ok( "http://localhost/fifth") for $ua; +$ua->content_contains( "flash is not", "flash has gone"); +