diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-07-11 19:11:07 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-07-11 19:11:07 +0000 |
commit | ed7ab888f26e9b2a3bcf98806b630e993179f8b4 (patch) | |
tree | b48a46808db67c5d91844064dea0ae8a4c692a27 /t | |
parent | 51371543ca1a75ed152020ad0846b5b8cf11c32f (diff) | |
download | perl-ed7ab888f26e9b2a3bcf98806b630e993179f8b4.tar.gz |
change#3612 was buggy and failed to build Tk; applied Ilya's
remedy and related tests via private mail
p4raw-link: @3612 on //depot/perl: b162f9ead0a98db35cdcfc8c889e344c040c8d8e
p4raw-id: //depot/perl@3664
Diffstat (limited to 't')
-rwxr-xr-x | t/op/lex_assign.t | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/t/op/lex_assign.t b/t/op/lex_assign.t index b2acd65d75..01e0ba0019 100755 --- a/t/op/lex_assign.t +++ b/t/op/lex_assign.t @@ -22,11 +22,72 @@ $nn = $n = 2; sub subb {"in s"} @INPUT = <DATA>; -print "1..", (scalar @INPUT), "\n"; +print "1..", (8 + @INPUT), "\n"; $ord = 0; sub wrn {"@_"} +# Check correct optimization of ucfirst etc +$ord++; +my $a = "AB"; +my $b = "\u\L$a"; +print "not " unless $b eq 'Ab'; +print "ok $ord\n"; + +# Check correct destruction of objects: +my $dc = 0; +sub A::DESTROY {$dc += 1} +$a=8; +my $b; +{ my $c = 6; $b = bless \$c, "A"} + +$ord++; +print "not " unless $dc == 0; +print "ok $ord\n"; + +$b = $a+5; + +$ord++; +print "not " unless $dc == 1; +print "ok $ord\n"; + +{ # Check calling STORE + my $sc = 0; + sub B::TIESCALAR {bless [11], 'B'} + sub B::FETCH { -(shift->[0]) } + sub B::STORE { $sc++; my $o = shift; $o->[0] = 17 + shift } + + my $m; + tie $m, 'B'; + $m = 100; + + $ord++; + print "not " unless $sc == 1; + print "ok $ord\n"; + + my $t = 11; + $m = $t + 89; + + $ord++; + print "not " unless $sc == 2; + print "ok $ord\n"; + + $ord++; + print "# $m\nnot " unless $m == -117; + print "ok $ord\n"; + + $m += $t; + + $ord++; + print "not " unless $sc == 3; + print "ok $ord\n"; + + $ord++; + print "# $m\nnot " unless $m == 89; + print "ok $ord\n"; + +} + for (@INPUT) { $ord++; ($op, undef, $comment) = /^([^\#]+)(\#\s+(.*))?/; |