"""Tests for shell_routes.py — _find_line_break helper. Imports the function directly since it has no app dependencies.""" from routes.shell_routes import _find_line_break class TestFindLineBreak: """Test line-break detection in byte buffers.""" def test_newline(self): assert _find_line_break(b"hello\nworld") == (5, 1) def test_crlf(self): assert _find_line_break(b"hello\r\nworld") == (5, 2) def test_cr_only(self): assert _find_line_break(b"hello\rworld") == (5, 1) def test_no_breaks(self): assert _find_line_break(b"no breaks") == (-1, 0) def test_empty(self): assert _find_line_break(b"") == (-1, 0) def test_leading_newline(self): assert _find_line_break(b"\n") == (0, 1) def test_leading_cr(self): assert _find_line_break(b"\r") == (0, 1) def test_leading_crlf(self): assert _find_line_break(b"\r\n") == (0, 2) def test_multiple_newlines(self): """Should find the first one.""" assert _find_line_break(b"a\nb\nc") == (1, 1) def test_cr_before_newline_not_adjacent(self): """\\r at pos 2, \\n at pos 5 — not CRLF, should return \\r pos.""" assert _find_line_break(b"ab\rcd\n") == (2, 1) def test_newline_before_cr(self): """\\n comes before \\r — should return \\n.""" assert _find_line_break(b"ab\ncd\r") == (2, 1)