Acme-FSM

 view release on metacpan or  search on metacpan

t/base/query_dumper.t  view on Meta::CPAN

# $Id: query_dumper.t 482 2013-03-08 22:47:45Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL

use strict;
use warnings;

package t::TestSuite::FSM;
use parent qw| Acme::FSM |;

sub shift_shift       {
    my $bb        = shift @_;
    $bb->{matrixone}  = shift @main::flags;
    $bb->{CSSC} = shift @_                                              if @_;
    shift @main::flags }

package t::TestSuite::dumper;

sub new { bless { }, shift @_ }

sub shift_shift       {
    my $bb           = shift @_;
    $bb->{aegis} = shift @main::flags;
    $bb->{slash_briefcase}   = shift @_                                 if @_;
    shift @main::flags }

package main;
use version 0.77; our $VERSION = version->declare( v2.3.2 );

use t::TestSuite qw| :diag :wraps |;
use Test::More tests => 65;

use Acme::FSM;

our( %st, $bb, $rc, $stderr );
our @flags =
qw| Orcrist           Brinning
    Nothung           Gurthang
    Caliburn             Mimun 
    Durandal            Graban
    Ekkisax         Noralltach
    Claidheamh_Solius Samsamha
    Baptism            Galatyn
    Murgleis      Haute_Claire
    Waske             Courtain
    Stormbringer      Hrunting |;

my $method = q|query_dumper|;
my $tag;
my %plug = ( diag_level => 5 );

$tag = q|{dumper} is missing,|;
AFSMTS_class_wrap { %plug }, \%st;
isa_ok $bb, q|Acme::FSM|, qq|$tag constructed object|;
AFSMTS_method_wrap $method;
is $rc, q|(undef)|, qq|$tag default dumper in action|;

$tag = q|{dumper} is missing, argument isa set,|;
AFSMTS_class_wrap { %plug }, \%st;
isa_ok $bb, q|Acme::FSM|, qq|$tag constructed object|;
AFSMTS_method_wrap $method, q|Grimtooth|;
is $rc, q|(Grimtooth)|, qq|$tag default dumper in action|;

$tag = q|{dumper} isa (undef),|;
AFSMTS_class_wrap { %plug, dumper => undef }, \%st;
isa_ok $bb, q|Acme::FSM|, qq|$tag constructed object|;
AFSMTS_method_wrap $method;
is $rc, q|(undef)|, qq|$tag default dumper in action|;

$tag = q|{dumper} isa (undef), argument isa scalar,|;
AFSMTS_class_wrap { %plug, dumper => undef }, \%st;
isa_ok $bb, q|Acme::FSM|, qq|$tag constructed object|;
AFSMTS_method_wrap $method, q|Schrit|;
is $rc, q|(Schrit)|, qq|$tag default dumper in action|;

$tag = q|{dumper} isa (undef), argument isa object,|;
AFSMTS_class_wrap { %plug, dumper => undef }, \%st;
isa_ok $bb, q|Acme::FSM|, qq|$tag constructed object|;
AFSMTS_method_wrap $method, $bb;



( run in 2.262 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )