-ok(!$@, "getdata croaks ($@)");
-ok($res, 'getdata invalid');
-ok($data && ref($data) eq 'HASH'
- && exists $data->{foo} && $data->{foo} == 12
- && exists $data->{bar} && $data->{bar} == 27,
- 'private data creation ok');
+is($@, '', 'getdata from wizard doesn\'t croak');
+ok($res, 'getdata from wizard returns true');
+is_deeply($data, { foo => 12, bar => 27 },
+ 'getdata from wizard return value is ok');
+
+$data = eval { getdata my $b, $wiz };
+is($@, '', 'getdata from non-magical scalar doesn\'t croak');
+is($data, undef, 'getdata from non-magical scalar returns undef');
+
+$data = eval { getdata $a, $sig };
+is($@, '', 'getdata from sig doesn\'t croak');
+ok($res, 'getdata from sig returns true');
+is_deeply($data, { foo => 12, bar => 27 },
+ 'getdata from sig return value is ok');