| # Empty line |
| assert_eq("".splitlines(), []) |
| assert_eq("\n".splitlines(), [""]) |
| |
| # Starts with line break |
| assert_eq("\ntest".splitlines(), ["", "test"]) |
| |
| # Ends with line break |
| assert_eq("test\n".splitlines(), ["test"]) |
| |
| # Different line breaks |
| assert_eq("this\nis\na\ntest".splitlines(), ["this", "is", "a", "test"]) |
| |
| # Only line breaks |
| assert_eq("\n\n\n".splitlines(), ["", "", ""]) |
| assert_eq("\r\r\r".splitlines(), ["", "", ""]) |
| assert_eq("\n\r\n\r".splitlines(), ["", "", ""]) |
| assert_eq("\r\n\r\n\r\n".splitlines(), ["", "", ""]) |
| |
| # Escaped sequences |
| assert_eq("\n\\n\\\n".splitlines(), ["", "\\n\\"]) |
| |
| # KeepEnds |
| assert_eq("".splitlines(True), []) |
| assert_eq("\n".splitlines(True), ["\n"]) |
| assert_eq("this\nis\r\na\rtest".splitlines(True), ["this\n", "is\r\n", "a\r", "test"]) |
| assert_eq("\ntest".splitlines(True), ["\n", "test"]) |
| assert_eq("test\n".splitlines(True), ["test\n"]) |
| assert_eq("\n\\n\\\n".splitlines(True), ["\n", "\\n\\\n"]) |