X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F34-glob.t;h=d5d62d81b8d1d02628c3de6c90c3773c8254f514;hb=b9694575145f768771dd5df496a19be34c7aabae;hp=a1ece33acdd86b7dd69727ef5acd30f6baa9132a;hpb=ad7c749baf8ebc2ff3e49d44b414f67f13f4ebf2;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/34-glob.t b/t/34-glob.t index a1ece33..d5d62d8 100644 --- a/t/34-glob.t +++ b/t/34-glob.t @@ -1,5 +1,8 @@ #!perl -T +use strict; +use warnings; + use Test::More; eval "use Symbol qw/gensym/"; @@ -7,16 +10,18 @@ if ($@) { plan skip_all => "Symbol::gensym required for testing magic for globs"; } else { plan tests => 7; + diag "Using Symbol $Symbol::VERSION" if defined $Symbol::VERSION; } use Variable::Magic qw/wizard cast dispell/; -my @c = (0) x 5; -my @x = (0) x 5; +my @c = (0) x 12; +my @x = (0) x 12; sub check { - for (0 .. 4) { return 0 unless $c[$_] == $x[$_]; } - return 1; + is join(':', map { (defined) ? $_ : 'u' } @c[0 .. 11]), + join(':', map { (defined) ? $_ : 'u' } @x[0 .. 11]), + $_[0]; } my $i = -1; @@ -24,29 +29,36 @@ my $wiz = wizard get => sub { ++$c[0] }, set => sub { ++$c[1] }, len => sub { ++$c[2] }, clear => sub { ++$c[3] }, - free => sub { ++$c[4] }; -ok(check(), 'glob : create wizard'); + free => sub { ++$c[4] }, + copy => sub { ++$c[5] }, + dup => sub { ++$c[6] }, + local => sub { ++$c[7] }, + fetch => sub { ++$c[8] }, + store => sub { ++$c[9] }, + 'exists' => sub { ++$c[10] }, + 'delete' => sub { ++$c[11] }; +check('glob : create wizard'); local *a = gensym(); cast *a, $wiz; -ok(check(), 'glob : cast'); +check('glob : cast'); local *b = *a; -ok(check(), 'glob : assign to'); +check('glob : assign to'); *a = gensym(); ++$x[1]; -ok(check(), 'glob : assign'); +check('glob : assign'); { local *b = gensym(); cast *b, $wiz; } -ok(check(), 'glob : scope end'); +check('glob : scope end'); undef *a; -ok(check(), 'glob : undef'); +check('glob : undef'); dispell *a, $wiz; -ok(check(), 'glob : dispell'); +check('glob : dispell');