|
import gradio as gr |
|
from gradio.components.image_editor import EditorData, EditorValue |
|
from gradio.data_classes import FileData |
|
|
|
|
|
class TestImageEditor: |
|
def test_component_functions(self): |
|
test_image_path = "test/test_files/bus.png" |
|
image_data = FileData(path=test_image_path) |
|
image_editor_data = EditorData( |
|
background=image_data, layers=[image_data, image_data], composite=image_data |
|
) |
|
payload: EditorValue = { |
|
"background": test_image_path, |
|
"layers": [test_image_path, test_image_path], |
|
"composite": test_image_path, |
|
} |
|
|
|
image_editor_component = gr.ImageEditor() |
|
|
|
assert isinstance(image_editor_component.preprocess(image_editor_data), dict) |
|
assert image_editor_component.postprocess(payload) == image_editor_data |
|
|
|
|
|
simpler_data = EditorData( |
|
background=image_data, layers=[], composite=image_data |
|
) |
|
assert image_editor_component.postprocess(test_image_path) == simpler_data |
|
|
|
assert image_editor_component.get_config() == { |
|
"value": None, |
|
"height": None, |
|
"width": None, |
|
"image_mode": "RGBA", |
|
"sources": ("upload", "webcam", "clipboard"), |
|
"type": "numpy", |
|
"label": None, |
|
"show_label": True, |
|
"show_download_button": True, |
|
"container": True, |
|
"scale": None, |
|
"min_width": 160, |
|
"interactive": None, |
|
"visible": True, |
|
"elem_id": None, |
|
"elem_classes": [], |
|
"mirror_webcam": True, |
|
"show_share_button": False, |
|
"_selectable": False, |
|
"key": None, |
|
"crop_size": None, |
|
"transforms": ("crop",), |
|
"eraser": {"default_size": "auto"}, |
|
"brush": { |
|
"default_size": "auto", |
|
"colors": [ |
|
"rgb(204, 50, 50)", |
|
"rgb(173, 204, 50)", |
|
"rgb(50, 204, 112)", |
|
"rgb(50, 112, 204)", |
|
"rgb(173, 50, 204)", |
|
], |
|
"default_color": "auto", |
|
"color_mode": "defaults", |
|
}, |
|
"proxy_url": None, |
|
"name": "imageeditor", |
|
"server_fns": ["accept_blobs"], |
|
"format": "webp", |
|
"layers": True, |
|
"canvas_size": None, |
|
"placeholder": None, |
|
"show_fullscreen_button": True, |
|
} |
|
|
|
def test_process_example(self): |
|
test_image_path = "test/test_files/bus.png" |
|
image_editor = gr.ImageEditor() |
|
example_value = image_editor.process_example(test_image_path) |
|
assert isinstance(example_value, EditorData) |
|
assert example_value.background and example_value.background.path |
|
|