10 plan tests => 9 * 3 * 64;
13 use autovivification::TestCases;
25 $x # keys %$x # '', 0, { }
26 $x # keys %$x # '', 0, undef #
27 $x # keys %$x # '', 0, undef # +fetch
28 $x # keys %$x # '', 0, { } # +exists
29 $x # keys %$x # '', 0, { } # +delete
30 $x # keys %$x # '', 0, { } # +store
32 $x # keys %$x # qr/^Reference vivification forbidden/, undef, undef # +strict +fetch
33 $x # keys %$x # '', 0, { } # +strict +exists
34 $x # keys %$x # '', 0, { } # +strict +delete
35 $x # keys %$x # '', 0, { } # +strict +store
37 $x # [ keys %$x ] # '', [ ], { }
38 $x # [ keys %$x ] # '', [ ], undef #
39 $x # [ keys %$x ] # '', [ ], undef # +fetch
40 $x # [ keys %$x ] # '', [ ], { } # +exists +delete +store
42 $x->{a} = 1 # [ keys %$x ] # '', [ 'a' ], { a => 1 }
43 $x->{a} = 1 # [ keys %$x ] # '', [ 'a' ], { a => 1 } #
44 $x->{a} = 1 # [ keys %$x ] # '', [ 'a' ], { a => 1 } # +fetch
45 $x->{a} = 1 # [ keys %$x ] # '', [ 'a' ], { a => 1 } # +exists +delete +store
47 $x # keys %{$x->{a}} # '', 0, { a => { } }
48 $x # keys %{$x->{a}} # '', 0, undef #
49 $x # keys %{$x->{a}} # '', 0, undef # +fetch
50 $x # keys %{$x->{a}} # '', 0, { a => { } } # +exists
51 $x # keys %{$x->{a}} # '', 0, { a => { } } # +delete
52 $x # keys %{$x->{a}} # '', 0, { a => { } } # +store
54 $x # keys %{$x->{a}} # qr/^Reference vivification forbidden/, undef, undef # +strict +fetch
55 $x # keys %{$x->{a}} # '', 0, { a => { } } # +strict +exists
56 $x # keys %{$x->{a}} # '', 0, { a => { } } # +strict +delete
57 $x # keys %{$x->{a}} # '', 0, { a => { } } # +strict +store
59 $x # [ keys %{$x->{a}} ] # '', [ ], { a => { } }
60 $x # [ keys %{$x->{a}} ] # '', [ ], undef #
61 $x # [ keys %{$x->{a}} ] # '', [ ], undef # +fetch
62 $x # [ keys %{$x->{a}} ] # '', [ ], { a => { } } # +exists +delete +store
66 $x # values %$x # '', 0, { }
67 $x # values %$x # '', 0, undef #
68 $x # values %$x # '', 0, undef # +fetch
69 $x # values %$x # '', 0, { } # +exists
70 $x # values %$x # '', 0, { } # +delete
71 $x # values %$x # '', 0, { } # +store
73 $x # values %$x # qr/^Reference vivification forbidden/, undef, undef # +strict +fetch
74 $x # values %$x # '', 0, { } # +strict +exists
75 $x # values %$x # '', 0, { } # +strict +delete
76 $x # values %$x # '', 0, { } # +strict +store
78 $x # [ values %$x ] # '', [ ], { }
79 $x # [ values %$x ] # '', [ ], undef #
80 $x # [ values %$x ] # '', [ ], undef # +fetch
81 $x # [ values %$x ] # '', [ ], { } # +exists +delete +store
83 $x->{a} = 1 # [ values %$x ] # '', [ 1 ], { a => 1 }
84 $x->{a} = 1 # [ values %$x ] # '', [ 1 ], { a => 1 } #
85 $x->{a} = 1 # [ values %$x ] # '', [ 1 ], { a => 1 } # +fetch
86 $x->{a} = 1 # [ values %$x ] # '', [ 1 ], { a => 1 } # +exists +delete +store
88 $x # values %{$x->{a}} # '', 0, { a => { } }
89 $x # values %{$x->{a}} # '', 0, undef #
90 $x # values %{$x->{a}} # '', 0, undef # +fetch
91 $x # values %{$x->{a}} # '', 0, { a => { } } # +exists
92 $x # values %{$x->{a}} # '', 0, { a => { } } # +delete
93 $x # values %{$x->{a}} # '', 0, { a => { } } # +store
95 $x # values %{$x->{a}} # qr/^Reference vivification forbidden/, undef, undef # +strict +fetch
96 $x # values %{$x->{a}} # '', 0, { a => { } } # +strict +exists
97 $x # values %{$x->{a}} # '', 0, { a => { } } # +strict +delete
98 $x # values %{$x->{a}} # '', 0, { a => { } } # +strict +store
100 $x # [ values %{$x->{a}} ] # '', [ ], { a => { } }
101 $x # [ values %{$x->{a}} ] # '', [ ], undef #
102 $x # [ values %{$x->{a}} ] # '', [ ], undef # +fetch
103 $x # [ values %{$x->{a}} ] # '', [ ], { a => { } } # +exists +delete +store