X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F30-scalar.t;h=dfd88bd91e3b1e5b3a12c26cb02f45b31bdced4e;hb=9af144fd696d5f97fdf9d43aa561d54f57f8c056;hp=839cf58ac641f415612ab1e8cd6b857c0073101c;hpb=579f1710492a3864774affb698358c8b3aa4bd80;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/30-scalar.t b/t/30-scalar.t index 839cf58..dfd88bd 100644 --- a/t/30-scalar.t +++ b/t/30-scalar.t @@ -3,19 +3,19 @@ use strict; use warnings; -use Config qw/%Config/; +use Config qw<%Config>; use Test::More tests => (2 * 14 + 2) + 2 * (2 * 8 + 4) + 3 + 1; -use Variable::Magic qw/wizard cast dispell MGf_COPY/; +use Variable::Magic qw; use lib 't/lib'; use Variable::Magic::TestWatcher; -my $is_5130_release = ($] == 5.013 && !$Config{git_describe}) ? 1 : 0; +my $is_5130_release = ("$]" == 5.013 && !$Config{git_describe}) ? 1 : 0; my $wiz = init_watcher - [ qw/get set len clear free copy dup local fetch store exists delete/ ], + [ qw ], 'scalar'; my $n = int rand 1000; @@ -72,7 +72,8 @@ $b = watch { exists $a[1] } { }, 'array element: exists'; is $b, 1, 'scalar: array element: exists correctly'; # $b has to be set inside the block for the test to pass on 5.8.3 and lower -watch { $b = delete $a[1] } { get => 1, free => ($] > 5.008005 ? 1 : 0) }, 'array element: delete'; +watch { $b = delete $a[1] } { get => 1, free => ("$]" > 5.008005 ? 1 : 0) }, + 'array element: delete'; is $b, 6, 'scalar: array element: delete correctly'; watch { $a[1] = 4 } { }, 'array element: set after delete'; @@ -102,19 +103,10 @@ is $b, 6, 'scalar: hash element: delete correctly'; watch { $h{b} = 4 } { }, 'hash element: set after delete'; SKIP: { - my $SKIP; - - unless (MGf_COPY) { - $SKIP = 'No copy magic for this perl'; - } elsif ($Config{useithreads} and $] le 5.008003) { - $SKIP = 'Causes havoc during global destruction for old threaded perls'; - } else { - eval "use Tie::Array"; - $SKIP = 'Tie::Array required to test clear magic on tied array values' if $@; + unless (do { local $@; eval { require Tie::Array; 1 } }) { + skip 'Tie::Array required to test clear magic on tied array values' => 3; } - - skip $SKIP => 3 if $SKIP; - diag "Using Tie::Array $Tie::Array::VERSION" if defined $Tie::Array::VERSION; + defined and diag "Using Tie::Array $_" for $Tie::Array::VERSION; tie my @a, 'Tie::StdArray'; $a[0] = $$; @@ -124,5 +116,5 @@ SKIP: { }; is $@, '', 'cast copy magic on tied array'; - watch { delete $a[0] } [ qw/get clear free/ ], 'delete from tied array'; + watch { delete $a[0] } [ qw ], 'delete from tied array'; }