X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F34-glob.t;h=47e68926b4e04256c0b13741c77bc4ea3f07674b;hb=54a1b1e4382ad55a54cbd874d6ffd87bf58dffbc;hp=a1ece33acdd86b7dd69727ef5acd30f6baa9132a;hpb=ad7c749baf8ebc2ff3e49d44b414f67f13f4ebf2;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/34-glob.t b/t/34-glob.t index a1ece33..47e6892 100644 --- a/t/34-glob.t +++ b/t/34-glob.t @@ -1,52 +1,40 @@ #!perl -T +use strict; +use warnings; + use Test::More; eval "use Symbol qw/gensym/"; if ($@) { plan skip_all => "Symbol::gensym required for testing magic for globs"; } else { - plan tests => 7; + plan tests => 2 * 8 + 1; + 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; +use Variable::Magic qw/cast dispell/; -sub check { - for (0 .. 4) { return 0 unless $c[$_] == $x[$_]; } - return 1; -} +use lib 't/lib'; +use Variable::Magic::TestWatcher; -my $i = -1; -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'); +my $wiz = init + [ qw/get set len clear free copy dup local fetch store exists delete/ ], + 'glob'; local *a = gensym(); -cast *a, $wiz; -ok(check(), 'glob : cast'); +check { cast *a, $wiz } { }, 'cast'; -local *b = *a; -ok(check(), 'glob : assign to'); +check { local *b = *a } { }, 'assign to'; -*a = gensym(); -++$x[1]; -ok(check(), 'glob : assign'); +check { *a = gensym() } { set => 1 }, 'assign'; -{ +check { local *b = gensym(); - cast *b, $wiz; -} -ok(check(), 'glob : scope end'); + check { cast *b, $wiz } { }, 'cast 2'; +} { }, 'scope end'; -undef *a; -ok(check(), 'glob : undef'); +check { undef *a } { }, 'undef'; -dispell *a, $wiz; -ok(check(), 'glob : dispell'); +check { dispell *a, $wiz } { }, 'dispell';