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") | |
assert code.postprocess(path) == path | |
assert code.get_config() == { | |
"value": None, | |
"language": None, | |
"lines": 5, | |
"max_lines": None, | |
"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, | |
"wrap_lines": 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) == filename | |