Author: bernhard
Date: Wed Jan 31 13:18:29 2007
New Revision: 16854

Added:
   trunk/languages/PIR/t/assign.t
   trunk/languages/PIR/t/whitespace.t
Modified:
   trunk/languages/PIR/README
   trunk/languages/PIR/t/sub.t

Log:
Extend the languages/PIR test suite.
Fix spelling of Coke's name

Courtesy of Klaas Jan Stol.


Modified: trunk/languages/PIR/README
==============================================================================
--- trunk/languages/PIR/README  (original)
+++ trunk/languages/PIR/README  Wed Jan 31 13:18:29 2007
@@ -80,7 +80,7 @@
 a lot, so some things taken might be gone already).

 

 Thanks to Jerry "particle" Gay for fixing numerous platform issues.

-Thanks to Will "Coke" Colleda for helping setting up the test harness stuff.

+Thanks to Will "Coke" Coleda for helping setting up the test harness stuff.

 

 AUTHOR

 ------


Added: trunk/languages/PIR/t/assign.t
==============================================================================
--- (empty file)
+++ trunk/languages/PIR/t/assign.t      Wed Jan 31 13:18:29 2007
@@ -0,0 +1,45 @@
+#!perl
+
+use strict;
+use warnings;
+use lib qw(t . lib ../lib ../../lib ../../../lib);
+use Parrot::Test tests => 3;
+use Test::More;
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'simple assignments' );
+.sub main                      
+       a = 1
+       b = 1.1
+       c = "hello"
+       d = e
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'get keyed assignments' );
+.sub main                      
+       e = x[1]
+       f = x[1.1]
+       g = x["hello"]
+       h = x[e]        
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'set keyed assignments' );
+.sub main                      
+       x[1]                            = 1
+       x[1.1]                  = 2.222
+       x["hello"]      = "hello"
+       x[e]                            = f
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+

Modified: trunk/languages/PIR/t/sub.t
==============================================================================
--- trunk/languages/PIR/t/sub.t (original)
+++ trunk/languages/PIR/t/sub.t Wed Jan 31 13:18:29 2007
@@ -3,14 +3,175 @@
 use strict;
 use warnings;
 use lib qw(t . lib ../lib ../../lib ../../../lib);
-use Parrot::Test tests => 1;
+use Parrot::Test tests => 20;
 use Test::More;
 
-language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'simple sub' );
-.sub f
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'basic sub' );
+.sub main                      
 .end
 CODE
 "parse" => PMC 'PIRGrammar' { ... }
 Parse successful!
 OUT
 
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'main flag' );
+.sub main :main        
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'load flag' );
+.sub main :load
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'init flag' );
+.sub main :init
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'immediate flag' );
+.sub main :immediate
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'lex flag' );
+.sub main :lex
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'anon flag' );
+.sub main :anon
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'outer flag' );
+.sub main :outer('outer_sub')
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 1' );
+.sub main :multi(int)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 2' );
+.sub main :multi(int, num)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 3' );
+.sub main :multi(_, int, num, string, pmc)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 4' );
+.sub main :multi(int, _, num, string, _)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 5' );
+.sub main :multi(_)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 6' );
+.sub main :multi(int, int, int, int)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'multi flag 7' );
+.sub main :multi(_, _, _, _, _, _)
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'vtable flag' );
+.sub main :vtable('__set_int')
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'combine flags without 
commas' );
+.sub main :main :load :immediate :init
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'combine flags with commas' 
);
+.sub main :main, :load, :immediate, :init
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'parameters' );
+.sub main
+       .param pmc pargs
+       .param int iarg
+       .param string sarg
+       .param num narg
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'parameter flags' );
+.sub main
+       .param pmc args1 :slurpy
+       .param pmc args2 :named
+       .param pmc args3 :optional
+       .param int arg3  :opt_flag
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT

Added: trunk/languages/PIR/t/whitespace.t
==============================================================================
--- (empty file)
+++ trunk/languages/PIR/t/whitespace.t  Wed Jan 31 13:18:29 2007
@@ -0,0 +1,524 @@
+#!perl
+
+use strict;
+use warnings;
+use lib qw(t . lib ../lib ../../lib ../../../lib);
+use Parrot::Test tests => 10;
+use Test::More;
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'comments before code' );
+#
+# pre-code comment
+#
+.sub main                      
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'comments after code' );
+.sub main                      
+.end
+#
+# comments after code
+#
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'comments in code' );
+.sub main                      
+#
+# in-code comment
+#
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'comments after code' );
+.sub main                      
+
+       x = 1 # this is an assignment!
+       # this is comment # this is even more comment
+       
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'pre-code whitespace' );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.sub main                      
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'in-code whitespace' );
+.sub main                      
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'after-code whitespace' );
+.sub main                      
+.end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'pre-code pod comments' );
+=pod
+
+hi there
+
+documentation rocks!
+
+
+
+
+
+
+
+
+=cut
+
+
+
+.sub main                      
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'in-code pod comments' );
+.sub main                      
+
+=pod 
+
+hello!!
+
+Parrot rocks too!
+
+=cut
+.end
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+
+
+language_output_is( 'PIR_PGE', <<'CODE', <<'OUT', 'after-code pod comments' );
+.sub main                      
+.end
+
+=pod
+
+Don't forget to hit enter after typing last OUT marker in the test file!
+
+=cut
+
+CODE
+"parse" => PMC 'PIRGrammar' { ... }
+Parse successful!
+OUT
+

Reply via email to