Merge: Fix nitunit for `String::format`
authorJean Privat <jean@pryen.org>
Thu, 14 May 2015 23:36:39 +0000 (19:36 -0400)
committerJean Privat <jean@pryen.org>
Thu, 14 May 2015 23:36:39 +0000 (19:36 -0400)
Since the code block was badly indented, it was not tested by `nitunit`.

Once the indentation was corrected, `nitunit` found that the test was failing.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #1342
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>

1  2 
lib/standard/string.nit

diff --combined lib/standard/string.nit
@@@ -60,7 -60,7 +60,7 @@@ abstract class Tex
        fun substring(from: Int, count: Int): SELFTYPE is abstract
  
        # Iterates on the substrings of self if any
 -      fun substrings: Iterator[Text] is abstract
 +      fun substrings: Iterator[FlatText] is abstract
  
        # Is the current Text empty (== "")
        #
                end
                return true
        end
-                       
        # Removes the whitespaces at the beginning of self
        #
        #     assert " \n\thello \n\t".l_trim == "hello \n\t"
  
        # Gives the formatted string back as a Nit string with `args` in place
        #
-       #       assert "This %1 is a %2.".format("String", "formatted String") == "This String is a formatted String"
-       #       assert "\\%1 This string".format("String") == "\\%1 This string"
+       #    assert "This %1 is a %2.".format("String", "formatted String") == "This String is a formatted String."
+       #    assert "\\%1 This string".format("String") == "\\%1 This string"
        fun format(args: Object...): String do
                var s = new Array[Text]
                var curr_st = 0
                return s.to_s
        end
  
 +      # Copies `n` bytes from `self` at `src_offset` into `dest` starting at `dest_offset`
 +      #
 +      # Basically a high-level synonym of NativeString::copy_to
 +      #
 +      # REQUIRE: `n` must be large enough to contain `len` bytes
 +      #
 +      #       var ns = new NativeString(8)
 +      #       "Text is String".copy_to_native(ns, 8, 2, 0)
 +      #       assert ns.to_s_with_length(8) == "xt is St"
 +      #
 +      fun copy_to_native(dest: NativeString, n, src_offset, dest_offset: Int) do
 +              var mypos = src_offset
 +              var itspos = dest_offset
 +              while n > 0 do
 +                      dest[itspos] = self.chars[mypos]
 +                      itspos += 1
 +                      mypos += 1
 +                      n -= 1
 +              end
 +      end
 +
  end
  
  # All kinds of array-based text representations.
@@@ -947,10 -926,6 +947,10 @@@ abstract class FlatTex
        end
  
        redef fun flatten do return self
 +
 +      redef fun copy_to_native(dest, n, src_offset, dest_offset) do
 +              items.copy_to(dest, n, src_offset, dest_offset)
 +      end
  end
  
  # Abstract class for the SequenceRead compatible
@@@ -1011,7 -986,7 +1011,7 @@@ abstract class Strin
        #     assert "helloworld".insert_at(" ", 5)     == "hello world"
        fun insert_at(s: String, pos: Int): SELFTYPE is abstract
  
 -      redef fun substrings: Iterator[String] is abstract
 +      redef fun substrings is abstract
  
        # Returns a reversed version of self
        #
        #     assert "Hello World!".to_lower     == "hello world!"
        fun to_lower : SELFTYPE is abstract
  
-       # Takes a camel case `self` and converts it to snake case 
+       # Takes a camel case `self` and converts it to snake case
        #
        #     assert "randomMethodId".to_snake_case == "random_method_id"
        #
                                prev_is_upper = false
                        end
                end
-               
                return new_str.to_s
        end
  
-       # Takes a snake case `self` and converts it to camel case 
+       # Takes a snake case `self` and converts it to camel case
        #
        #     assert "random_method_id".to_camel_case == "randomMethodId"
        #