[svn:parrot] r48584 - in trunk: src/string t/pmc

NotFound at svn.parrot.org NotFound at svn.parrot.org
Fri Aug 20 13:50:19 UTC 2010


Author: NotFound
Date: Fri Aug 20 13:50:18 2010
New Revision: 48584
URL: https://trac.parrot.org/parrot/changeset/48584

Log:
add a TODO test for TT #1446

Modified:
   trunk/src/string/api.c
   trunk/t/pmc/exception.t

Modified: trunk/src/string/api.c
==============================================================================
--- trunk/src/string/api.c	Fri Aug 20 13:08:12 2010	(r48583)
+++ trunk/src/string/api.c	Fri Aug 20 13:50:18 2010	(r48584)
@@ -2677,7 +2677,7 @@
                 case 'v': next = '\v'; break;
                 case 'f': next = '\f'; break;
                 case 'r': next = '\r'; break;
-                case 'e': next = '\e'; break;
+                case 'e': next = '\x27'; break;
                 /* Escape character */
                 case 'c':
                     c = STRING_ITER_GET_AND_ADVANCE(interp, src, &itersrc);

Modified: trunk/t/pmc/exception.t
==============================================================================
--- trunk/t/pmc/exception.t	Fri Aug 20 13:08:12 2010	(r48583)
+++ trunk/t/pmc/exception.t	Fri Aug 20 13:50:18 2010	(r48584)
@@ -16,9 +16,11 @@
 
 =cut
 
+.include 'except_types.pasm'
+
 .sub main :main
     .include 'test_more.pir'
-    plan(20)
+    plan(21)
     test_bool()
     test_int()
     test_attrs()
@@ -28,6 +30,7 @@
     test_push_eh_throw()
     test_die()
     test_throw_obj()
+    test_throw_clone()
 .end
 
 .sub test_bool
@@ -173,6 +176,28 @@
     ok(1,'caught exception object thrown')
 .end
 
+.sub test_throw_clone
+    .local pmc ex, exclone, eh, ehguard
+    .local int result
+    ex = new ['Exception']
+    ex['type'] = .EXCEPTION_SYNTAX_ERROR
+    exclone = clone ex
+    ehguard = new ['ExceptionHandler']
+    set_label ehguard, catchall
+    push_eh ehguard
+    eh = new ['ExceptionHandler']
+    eh.'handle_types'(.EXCEPTION_SYNTAX_ERROR)
+    set_label eh, catch
+    result = 0
+    push_eh eh
+    throw exclone
+  catch:
+    result = 1
+  catchall:
+    # TT #1446
+    todo(result, 1, 'caught a cloned Exception')
+.end
+
 # Local Variables:
 #   mode: pir
 #   fill-column: 100


More information about the parrot-commits mailing list