-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Expand file tree
/
Copy pathtest_file_proxy.py
More file actions
44 lines (34 loc) · 1.09 KB
/
test_file_proxy.py
File metadata and controls
44 lines (34 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import io
import sys
import pytest
from rich.console import Console
from rich.file_proxy import FileProxy
def test_empty_bytes():
console = Console()
file_proxy = FileProxy(console, sys.stdout)
# File should raise TypeError when writing bytes
with pytest.raises(TypeError):
file_proxy.write(b"") # type: ignore
with pytest.raises(TypeError):
file_proxy.write(b"foo") # type: ignore
def test_flush():
file = io.StringIO()
console = Console(file=file)
file_proxy = FileProxy(console, file)
file_proxy.write("foo")
assert file.getvalue() == ""
file_proxy.flush()
assert file.getvalue() == "foo\n"
def test_new_lines():
file = io.StringIO()
console = Console(file=file)
file_proxy = FileProxy(console, file)
file_proxy.write("-\n-")
assert file.getvalue() == "-\n"
file_proxy.flush()
assert file.getvalue() == "-\n-\n"
def test_isatty_delegates_to_proxied_file():
file = io.StringIO()
console = Console(file=file)
file_proxy = FileProxy(console, file)
assert file_proxy.isatty() == file.isatty()