Odysseus v1.0
This commit is contained in:
44
tests/test_shell_routes.py
Normal file
44
tests/test_shell_routes.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""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)
|
||||
Reference in New Issue
Block a user