X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F22-magic.t;h=d0cae1b8e0f773fac1b0b4ecf3982e72c17c417d;hb=bf1b09f4ab8df1710df549764d511b110c6cb396;hp=80bee6f757bee1b4dbb106e3b79b99ba5af80544;hpb=9d25b8ce853695abb629ba78f5645462a21abf0d;p=perl%2Fmodules%2FLexical-Types.git diff --git a/t/22-magic.t b/t/22-magic.t index 80bee6f..d0cae1b 100644 --- a/t/22-magic.t +++ b/t/22-magic.t @@ -13,7 +13,7 @@ BEGIN { { package Lexical::Types::Test::Str; - use Variable::Magic qw/wizard cast/; + use Variable::Magic qw; our $wiz; BEGIN { @@ -28,7 +28,8 @@ BEGIN { { package Str; } BEGIN { - plan tests => 2 * 6; + plan tests => 2 * 8; + defined and diag "Using Variable::Magic $_" for $Variable::Magic::VERSION; } use Lexical::Types as => 'Lexical::Types::Test'; @@ -39,7 +40,8 @@ sub check (&$$;$) { my $want = wantarray; my @ret; { - local @{$got}{qw/get set/}; delete @{$got}{qw/get set/}; + local @{$got}{qw}; + delete @{$got}{qw}; if ($want) { @ret = eval { $test->() }; } elsif (defined $want) { @@ -47,11 +49,18 @@ sub check (&$$;$) { } else { eval { $test->() }; } + local $Test::Builder::Level = $Test::Builder::Level + 1; is_deeply $got, $exp, $desc; } return $want ? @ret : $ret[0]; } +sub zzz { + my $d = Variable::Magic::getdata($_[0], $Lexical::Types::Test::Str::wiz); + isnt $d, undef, 'typed lexicals are tagged'; + is ref($d), 'HASH', 'typed lexicals are correctly tagged'; +} + for (1 .. 2) { my Str $x = "abc"; @@ -64,4 +73,6 @@ for (1 .. 2) { my Str $z; check { $z = "bar" . $x } $z, { set => 1 }, 'scalar assign'; is $z, 'barabcfoo', 'scalar assign correctly'; + + zzz($z); }