Index: test/ruby/test_string.rb =================================================================== --- test/ruby/test_string.rb (revision 26402) +++ test/ruby/test_string.rb (working copy) @@ -153,4 +153,88 @@ ensure $KCODE = original_kcode end + + def test_split + result = " now's the time".split + assert_equal("now's", result[0]) + assert_equal("the", result[1]) + assert_equal("time", result[2]) + + result = " now's the time".split(' ') + assert_equal("now's", result[0]) + assert_equal("the", result[1]) + assert_equal("time", result[2]) + + result = " now's the time".split(/ /) + assert_equal("", result[0]) + assert_equal("now's", result[1]) + assert_equal("", result[2]) + assert_equal("the", result[3]) + assert_equal("time", result[4]) + + result = "1, 2.34,56, 7".split(%r{,\s*}) + assert_equal("1", result[0]) + assert_equal("2.34", result[1]) + assert_equal("56", result[2]) + assert_equal("7", result[3]) + + result = "1, 2.34,56".split(%r{(,\s*)}) + assert_equal("1", result[0]) + assert_equal(", ", result[1]) + assert_equal("2.34", result[2]) + assert_equal(",", result[3]) + assert_equal("56", result[4]) + + result = "wd :sp: wd".split(/(:(\w+):)/) + assert_equal("wd ", result[0]) + assert_equal(":sp:", result[1]) + assert_equal("sp", result[2]) + assert_equal(" wd", result[3]) + + result = "hello".split(//) + assert_equal("h", result[0]) + assert_equal("e", result[1]) + assert_equal("l", result[2]) + assert_equal("l", result[3]) + assert_equal("o", result[4]) + + result = "hello".split(//, 3) + assert_equal("h", result[0]) + assert_equal("e", result[1]) + assert_equal("llo", result[2]) + + result = "hi mom".split(%r{\s*}) + assert_equal("h", result[0]) + assert_equal("i", result[1]) + assert_equal("m", result[2]) + assert_equal("o", result[3]) + assert_equal("m", result[4]) + + result = "mellow yellow".split("ello") + assert_equal("m", result[0]) + assert_equal("w y", result[1]) + assert_equal("w", result[2]) + + result = "1,2,,3,4,,".split(',') + assert_equal("1", result[0]) + assert_equal("2", result[1]) + assert_equal("", result[2]) + assert_equal("3", result[3]) + assert_equal("4", result[4]) + + result = "1,2,,3,4,,".split(',', 4) + assert_equal("1", result[0]) + assert_equal("2", result[1]) + assert_equal("", result[2]) + assert_equal("3,4,,", result[3]) + + result = "1,2,,3,4,,".split(',', -4) + assert_equal("1", result[0]) + assert_equal("2", result[1]) + assert_equal("", result[2]) + assert_equal("3", result[3]) + assert_equal("4", result[4]) + assert_equal("", result[5]) + assert_equal("", result[6]) + end end