From 7a44ba35de261d00c7309100a861cb33b4a0152b Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Mon, 28 Nov 2011 22:57:34 +1100 Subject: [PATCH] test for various fatal messages from op.c --- MANIFEST | 1 + t/lib/croak/op | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 t/lib/croak/op diff --git a/MANIFEST b/MANIFEST index 4d5fcf4..303ca28 100644 --- a/MANIFEST +++ b/MANIFEST @@ -4974,6 +4974,7 @@ t/lib/common.pl Helper for lib/{warnings,feature}.t t/lib/commonsense.t See if configuration meets basic needs t/lib/compmod.pl Helper for 1_compile.t t/lib/croak/mg Test croak calls from mg.c +t/lib/croak/op Test croak calls from op.c t/lib/croak.t Test calls to Perl_croak() in the C source. t/lib/cygwin.t Builtin cygwin function tests t/lib/dbmt_common.pl Common functionality for ?DBM_File tests diff --git a/t/lib/croak/op b/t/lib/croak/op new file mode 100644 index 0000000..d47e828 --- /dev/null +++ b/t/lib/croak/op @@ -0,0 +1,44 @@ +__END__ +# NAME OP_HELEM fields +package Foo; +use fields qw(a b); +sub new { + my $class = shift; + return fields::new($class); +} +my Foo $f = Foo->new; +$f->{c} = 1; +EXPECT +No such class field "c" in variable $f of type Foo at - line 8. +######## +# NAME OP_HSLICE fields +package Foo; +use fields qw(a b); +sub new { + my $class = shift; + return fields::new($class); +} +my Foo $f = Foo->new; +@$f{"a", "c"} = ( 1, 2 ); +EXPECT +No such class field "c" in variable $f of type Foo at - line 8. +######## +# NAME my sub +my sub foo { } +EXPECT +"my sub" not yet implemented at - line 1. +######## +# NAME delete BAD +delete $x; +EXPECT +delete argument is not a HASH or ARRAY element or slice at - line 1. +######## +# NAME exists BAD +exists $x; +EXPECT +exists argument is not a HASH or ARRAY element or a subroutine at - line 1. +######## +# NAME exists non-sub +exists &foo() +EXPECT +exists argument is not a subroutine name at - line 1. -- 2.7.4