cvsuser 05/01/05 07:44:35
Modified: t/pmc perlstring.t
Log:
Add and sub with non-numeric operands
Revision Changes Path
1.32 +64 -2 parrot/t/pmc/perlstring.t
Index: perlstring.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlstring.t,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- perlstring.t 5 Jan 2005 15:34:19 -0000 1.31
+++ perlstring.t 5 Jan 2005 15:44:35 -0000 1.32
@@ -1,6 +1,6 @@
#! perl -w
# Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-# $Id: perlstring.t,v 1.31 2005/01/05 15:34:19 scog Exp $
+# $Id: perlstring.t,v 1.32 2005/01/05 15:44:35 scog Exp $
=head1 NAME
@@ -16,7 +16,7 @@
=cut
-use Parrot::Test tests => 46;
+use Parrot::Test tests => 48;
use Test::More; # Included for skip().
my $fp_equality_macro = <<'ENDOFMACRO';
@@ -479,6 +479,37 @@
ok 1
OUTPUT
+# XXX - should test for appropriate warnings
+output_is(<<"CODE", <<OUTPUT, "add non-numeric string");
[EMAIL PROTECTED] $fp_equality_macro ]}
+ new P0, .PerlString
+ set P0, "12"
+ new P1, .PerlString
+ set P1, "USC"
+ new P2, .PerlUndef
+ add P2, P0, P1
+ eq P2, 12, OK1
+ print "not "
+OK1: print "ok 1\\n"
+ set P0, "12.5"
+ new P2, .PerlUndef
+ add P2, P0, P1
+ .fp_eq(P2, 12.5, OK2)
+ print "not "
+OK2: print "ok 2\\n"
+ set P0, "Auburn"
+ new P2, .PerlUndef
+ add P2, P0, P1
+ eq P2, 0, OK3
+ print "not "
+OK3: print "ok 3\\n"
+ end
+CODE
+ok 1
+ok 2
+ok 3
+OUTPUT
+
output_is(<<'CODE', <<OUTPUT, "sub str_int, str_int");
new P0, .PerlString
set P0, "23"
@@ -556,6 +587,37 @@
ok 1
OUTPUT
+# XXX - should test for appropriate warnings
+output_is(<<"CODE", <<OUTPUT, "sub non-numeric string");
[EMAIL PROTECTED] $fp_equality_macro ]}
+ new P0, .PerlString
+ set P0, "24"
+ new P1, .PerlString
+ set P1, "Oklahoma"
+ new P2, .PerlUndef
+ sub P2, P0, P1
+ eq P2, 24, OK1
+ print "not "
+OK1: print "ok 1\\n"
+ set P0, "5.12"
+ new P2, .PerlUndef
+ sub P2, P0, P1
+ .fp_eq(P2, 5.12, OK2)
+ print "not "
+OK2: print "ok 2\\n"
+ set P0, "Virginia Tech"
+ new P2, .PerlUndef
+ sub P2, P0, P1
+ eq P2, 0, OK3
+ print "not "
+OK3: print "ok 3\\n"
+ end
+CODE
+ok 1
+ok 2
+ok 3
+OUTPUT
+
output_is(<<'CODE', <<OUTPUT, "concat must morph dest to a string");
new P0, .PerlString
new P1, .PerlUndef