[svn] r6248: nemerle/trunk/ncc/testsuite/positive/yield.n

malekith svnadmin at nemerle.org
Mon May 8 14:21:00 CEST 2006


Log:
Add testcases for #588 and #589.

Author: malekith
Date: Mon May  8 14:20:59 2006
New Revision: 6248

Modified:
   nemerle/trunk/ncc/testsuite/positive/yield.n

Modified: nemerle/trunk/ncc/testsuite/positive/yield.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/yield.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/yield.n	Mon May  8 14:20:59 2006
@@ -74,6 +74,39 @@
                 foreach (element in second)
                         yield element;
         }
+
+    // #588
+    public Foo (a : int) : System.Collections.IEnumerable
+    {
+        try {
+            try {
+                yield a;
+            } finally {
+                Console.WriteLine ("Hello World");
+            }
+
+            Console.WriteLine ("Next block");
+
+            try {
+                yield a * a;
+            } finally {
+                Console.WriteLine ("Boston");
+            }
+        } finally {
+            Console.WriteLine ("Outer finally");
+        }
+
+        Console.WriteLine ("Outer block");
+    }
+
+        // #589
+        public a () : System.Collections.IEnumerable
+        {
+                lock (this){
+                        yield "a";
+                        yield "b";
+                }
+        }
 }
 
 foreach (e in C ())
@@ -115,6 +148,11 @@
 foreach (x in Sequence.Concat (fst, snd))
    Nemerle.IO.printf ("%d\n", x);
 
+def seq = Sequence ();
+def list = System.Collections.ArrayList ();
+foreach (o in seq.Foo (5))
+    _ = list.Add (o);
+
 /*
 BEGIN-OUTPUT
 42
@@ -170,5 +208,10 @@
 4
 5
 6
+Hello World
+Next block
+Boston
+Outer finally
+Outer block
 END-OUTPUT
 */



More information about the svn mailing list