Oops. As of some point one stopped being able to assign integers and
[p5sagit/p5-mst-13.2.git] / t / op / ref.t
index e629d86..784c34c 100755 (executable)
@@ -8,7 +8,7 @@ BEGIN {
 require 'test.pl';
 use strict qw(refs subs);
 
-plan (98);
+plan(102);
 
 # Test glob operations.
 
@@ -446,6 +446,18 @@ is ( (sub {"bar"})[0]->(), "bar", 'code deref from list slice w/ ->' );
            "deref of undef from list slice fails" );
 }
 
+# test dereferencing errors
+{
+    eval q/ ${*STDOUT{IO}} /;
+    like($@, qr/Not a SCALAR reference/);
+    eval q/ @{*STDOUT{IO}} /;
+    like($@, qr/Not an ARRAY reference/);
+    eval q/ %{*STDOUT{IO}} /;
+    like($@, qr/Not a HASH reference/);
+    eval q/ &{*STDOUT{IO}} /;
+    like($@, qr/Not a CODE reference/);
+}
+
 # Bit of a hack to make test.pl happy. There are 3 more tests after it leaves.
 $test = curr_test();
 curr_test($test + 3);