[macruby-changes] [1750] MacRuby/branches/experimental

source_changes at macosforge.org source_changes at macosforge.org
Fri Jun 5 14:11:09 PDT 2009


Revision: 1750
          http://trac.macosforge.org/projects/ruby/changeset/1750
Author:   lsansonetti at apple.com
Date:     2009-06-05 14:11:09 -0700 (Fri, 05 Jun 2009)
Log Message:
-----------
String#{ljust,rjust,center}: fixed remaining spec failures

Modified Paths:
--------------
    MacRuby/branches/experimental/string.c

Removed Paths:
-------------
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/center_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/ljust_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/rjust_tags.txt

Deleted: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/center_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/center_tags.txt	2009-06-05 20:02:14 UTC (rev 1749)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/center_tags.txt	2009-06-05 21:11:09 UTC (rev 1750)
@@ -1,3 +0,0 @@
-fails:String#center with length, padding returns a new string of specified length with self centered and padded with padstr
-fails:String#center with length, padding calls #to_str to convert padstr to a String
-fails:String#center with length, padding raises a TypeError when padstr can't be converted to a string

Deleted: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/ljust_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/ljust_tags.txt	2009-06-05 20:02:14 UTC (rev 1749)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/ljust_tags.txt	2009-06-05 21:11:09 UTC (rev 1750)
@@ -1,3 +0,0 @@
-fails:String#ljust with length, padding returns a new string of specified length with self left justified and padded with padstr
-fails:String#ljust with length, padding tries to convert padstr to a string using to_str
-fails:String#ljust with length, padding raises a TypeError when padstr can't be converted

Deleted: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/rjust_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/rjust_tags.txt	2009-06-05 20:02:14 UTC (rev 1749)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/string/rjust_tags.txt	2009-06-05 21:11:09 UTC (rev 1750)
@@ -1,3 +0,0 @@
-fails:String#rjust with length, padding returns a new string of specified length with self right justified and padded with padstr
-fails:String#rjust with length, padding tries to convert padstr to a string using to_str
-fails:String#rjust with length, padding raises a TypeError when padstr can't be converted

Modified: MacRuby/branches/experimental/string.c
===================================================================
--- MacRuby/branches/experimental/string.c	2009-06-05 20:02:14 UTC (rev 1749)
+++ MacRuby/branches/experimental/string.c	2009-06-05 21:11:09 UTC (rev 1750)
@@ -4556,7 +4556,8 @@
 	    CFMakeCollectable((CFTypeRef)pad);
 	}
 	CFStringInsert((CFMutableStringRef)str, index, (CFStringRef)pad);
-	width -= padwidth;	
+	width -= padwidth;
+	index += padwidth;
     }
     while (width > 0);
 }
@@ -4569,13 +4570,6 @@
 
     rb_scan_args(argc, argv, "11", &w, &pad);
     width = NUM2LONG(w);
-    n = CFStringGetLength((CFStringRef)str);
-   
-    str = rb_str_new3(str);
-    if (width < 0 || width <= n) {
-	return str;
-    }
-    width -= n;
 
     if (NIL_P(pad)) {
 	pad = rb_str_new(" ", 1);
@@ -4590,6 +4584,14 @@
 	rb_raise(rb_eArgError, "zero width padding");
     }
 
+    n = CFStringGetLength((CFStringRef)str);
+   
+    str = rb_str_new3(str);
+    if (width < 0 || width <= n) {
+	return str;
+    }
+    width -= n;
+
     if (jflag == 'c') {
 	rb_str_justify0(str, pad, ceil(width / 2.0), padwidth, n);
 	rb_str_justify0(str, pad, floor(width / 2.0), padwidth, 0);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090605/ecd2c26b/attachment.html>


More information about the macruby-changes mailing list