gradio/test/components/test_code.py
Yuichiro Tachibana (Tsuchiya) 0493c66303
Split test/test_components.py into test/components/test_*.py (#8218)
* Split test/test_components.py into test/components/test_*.py

* Remove test/components/conftest.py because what it configures is already defined in pyproject.toml
2024-05-07 16:06:34 +09:00

60 lines
1.7 KiB
Python

from pathlib import Path
import gradio as gr
class TestCode:
def test_component_functions(self):
"""
Preprocess, postprocess, serialize, get_config
"""
code = gr.Code()
assert code.preprocess("# hello friends") == "# hello friends"
assert code.preprocess("def fn(a):\n return a") == "def fn(a):\n return a"
assert (
code.postprocess(
"""
def fn(a):
return a
"""
)
== """def fn(a):
return a"""
)
test_file_dir = Path(__file__).parent.parent / "test_files"
path = str(test_file_dir / "test_label_json.json")
with open(path) as f:
assert code.postprocess(path) == path
assert code.postprocess((path,)) == f.read()
assert code.get_config() == {
"value": None,
"language": None,
"lines": 5,
"name": "code",
"show_label": True,
"label": None,
"container": True,
"min_width": 160,
"scale": None,
"elem_id": None,
"elem_classes": [],
"visible": True,
"interactive": None,
"proxy_url": None,
"_selectable": False,
"key": None,
}
def test_process_example(self):
code = gr.Code()
assert (
code.process_example("def fn(a):\n return a") == "def fn(a):\n return a"
)
assert code.process_example(None) is None
filename = str(Path("test/test_files/test_label_json.json"))
assert code.process_example((filename,)) == "test_label_json.json"