mirror of
https://github.com/gradio-app/gradio.git
synced 2024-12-21 02:19:59 +08:00
0493c66303
* 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
60 lines
1.7 KiB
Python
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"
|