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