Commit | Line | Data |
---|---|---|
73512201 DG |
1 | use warnings; |
2 | use strict; | |
3 | use Test::Simple tests => 3; | |
4 | ||
5 | package Foo; | |
6 | use overload | |
7 | nomethod => sub { die "unimplemented\n" }; | |
8 | sub new { bless {}, shift }; | |
9 | ||
10 | package main; | |
11 | ||
12 | my $foo = Foo->new; | |
13 | ||
14 | eval {my $val = $foo + 1}; | |
86f64101 | 15 | ok( $@ =~ /unimplemented/, "'+' not implemented; 'nomethod' special key invoked" ); |
73512201 DG |
16 | |
17 | eval {$foo += 1}; | |
86f64101 | 18 | ok( $@ =~ /unimplemented/, "'+=' not implemented; 'nomethod' special key invoked" ); |
73512201 DG |
19 | |
20 | eval {my $val = 0; $val += $foo}; | |
86f64101 | 21 | ok( $@ =~ /unimplemented/, "'+=' not implemented; 'nomethod' special key invoked" ); |
73512201 | 22 |