diff --git a/lib/elixir/test/elixir/string_test.exs b/lib/elixir/test/elixir/string_test.exs index 5973a591b2..e3df8f2f50 100644 --- a/lib/elixir/test/elixir/string_test.exs +++ b/lib/elixir/test/elixir/string_test.exs @@ -208,6 +208,7 @@ defmodule StringTest do assert String.reverse("Hello ∂og") == "go∂ olleH" assert String.reverse("Ā̀stute") == "etutsĀ̀" assert String.reverse(String.reverse("Hello World")) == "Hello World" + assert String.reverse(String.reverse("Hello \r\n World")) == "Hello \r\n World" end test :replace do @@ -257,7 +258,7 @@ defmodule StringTest do # Extended assert String.graphemes("Ā̀stute") == ["Ā̀", "s", "t", "u", "t", "e"] # CLRF - assert String.graphemes("\n\r\f") == ["\n\r", "\f"] + assert String.graphemes("\r\n\f") == ["\r\n", "\f"] # Regional indicator assert String.graphemes("\x{1F1E6}\x{1F1E7}\x{1F1E8}") == ["\x{1F1E6}\x{1F1E7}\x{1F1E8}"] # Hangul diff --git a/lib/elixir/unicode/unicode.ex b/lib/elixir/unicode/unicode.ex index d8f79e4311..7890938cec 100644 --- a/lib/elixir/unicode/unicode.ex +++ b/lib/elixir/unicode/unicode.ex @@ -208,8 +208,8 @@ defmodule String.Graphemes do end # Don't break CRLF - def next_grapheme(<< ?\n, ?\r, rest :: binary >>) do - {"\n\r", rest} + def next_grapheme(<< ?\r, ?\n, rest :: binary >>) do + {"\r\n", rest} end # Break on control