diff --git a/base/string.jl b/base/string.jl index be974ef01681d..efdb8b508d814 100644 --- a/base/string.jl +++ b/base/string.jl @@ -482,6 +482,8 @@ function cmp(a::String, b::String) !done(a,i) && done(b,j) ? +1 : 0 end +eachline(s::String) = eachline(IOBuffer(s)) + ==(a::String, b::String) = cmp(a,b) == 0 isless(a::String, b::String) = cmp(a,b) < 0 diff --git a/test/strings.jl b/test/strings.jl index 7a0315fa758da..f02c4c2e47354 100644 --- a/test/strings.jl +++ b/test/strings.jl @@ -492,6 +492,13 @@ end @test search("foo,bar,baz", r"az") == 10:11 @test search("foo,bar,baz", r"az", 12) == 0:-1 +# eachline +@test isequal(collect(eachline("")), []) +@test isequal(collect(eachline("foo")), ["foo", ]) +@test isequal(collect(eachline("foo\nbar\n")), ["foo\n", "bar\n"]) +@test isequal(collect(eachline("foo\n\nbar\n\n")), ["foo\n", "\n", "bar\n", "\n"]) +@test isequal(collect(eachline("鴨?\nかも…\n")), ["鴨?\n", "かも…\n"]) + # split @test isequal(split("foo,bar,baz", 'x'), ["foo,bar,baz"]) @test isequal(split("foo,bar,baz", ','), ["foo","bar","baz"])