use strict;
use warnings;
-use Test::More tests => 6 * 3 * 270;
+use Test::More tests => 6 * 3 * 274;
use lib 't/lib';
use autovivification::TestCases;
$x # $x->[0] # '', undef, [ ] # +delete
$x # $x->[0] # '', undef, [ ] # +store
+$x # $x->[0] # '', undef, [ ] # -fetch
+$x # $x->[0] # '', undef, [ ] # +fetch -fetch
+$x # $x->[0] # '', undef, undef # -fetch +fetch
+$x # $x->[0] # '', undef, undef # +fetch -exists
+
$x # $x->[0] # qr/^Reference vivification forbidden/, undef, undef # +strict +fetch
$x # $x->[0] # '', undef, [ ] # +strict +exists
$x # $x->[0] # '', undef, [ ] # +strict +delete
--- dereferencing ---
-$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/Can't use an undefined value as an ARRAY reference/ : ''), undef, undef
-$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/Can't use an undefined value as an ARRAY reference/ : ''), undef, undef #
-$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +fetch
-$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +exists
-$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +delete
-$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +store
+$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/^Can't use an undefined value as an ARRAY reference/ : ''), undef, undef
+$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/^Can't use an undefined value as an ARRAY reference/ : ''), undef, undef #
+$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/^Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +fetch
+$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/^Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +exists
+$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/^Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +delete
+$x # no warnings 'uninitialized'; my @a = @$x; () # ($strict ? qr/^Can't use an undefined value as an ARRAY reference/ : ''), undef, undef # +store
$x->[0] = 1 # my @a = @$x; () # '', undef, [ 1 ] # +fetch
$x->[0] = 1 # my @a = @$x; () # '', undef, [ 1 ] # +exists