Spaces:
Runtime error
Runtime error
| import app | |
| import gradio as gr | |
| class DummyPipe: | |
| def __init__(self, out_text: str): | |
| self.out_text = out_text | |
| def __call__(self, text, **kwargs): # accept all kwargs → matches real pipeline | |
| return [{"translation_text": self.out_text}] | |
| def test_translate_empty_returns_empty(): | |
| assert app.translate("", "Hindi → English") == "" | |
| assert app.translate(" ", "English → Hindi") == "" | |
| assert app.translate(None, "Hindi → Hinglish (transliteration)") == "" | |
| def test_hi_to_en_uses_hi_en_pipe(monkeypatch): | |
| app.get_hi_en_pipe.cache_clear() | |
| monkeypatch.setattr(app, "get_hi_en_pipe", lambda: DummyPipe("hello")) | |
| assert app.translate("नमस्ते", "Hindi → English") == "hello" | |
| def test_en_to_hi_uses_en_hi_pipe(monkeypatch): | |
| app.get_en_hi_pipe.cache_clear() | |
| monkeypatch.setattr(app, "get_en_hi_pipe", lambda: DummyPipe("नमस्ते")) | |
| assert app.translate("hello", "English → Hindi") == "नमस्ते" | |
| def test_hi_to_hinglish_transliteration_nonempty(): | |
| out = app.translate("नमस्ते भाई कैसे हो?", "Hindi → Hinglish (transliteration)") | |
| assert isinstance(out, str) | |
| assert len(out) > 0 | |
| def test_build_demo_returns_blocks(): | |
| demo = app.build_demo() | |
| assert isinstance(demo, gr.Blocks) | |
| assert demo.title == "Hindi ↔ English + Hinglish Translator" # or whatever your title is | |
| def get_all_component_types(block): | |
| types = set() | |
| def recurse(b): | |
| if hasattr(b, 'children'): | |
| for child in b.children or []: | |
| types.add(type(child).__name__) | |
| recurse(child) | |
| recurse(block) | |
| return types | |
| def test_build_demo_has_expected_components(): | |
| demo = app.build_demo() | |
| component_types = get_all_component_types(demo) | |
| assert "Dropdown" in component_types | |
| assert "Slider" in component_types | |
| assert "Textbox" in component_types | |
| assert "Button" in component_types | |
| def test_translate_catches_translation_error(monkeypatch): | |
| def broken_pipe(*args, **kwargs): | |
| raise RuntimeError("mock model crash") | |
| monkeypatch.setattr(app, "get_hi_en_pipe", lambda: broken_pipe) | |
| result = app.translate("नमस्ते", "Hindi → English") | |
| assert "error" in result.lower() | |
| assert "mock model crash" in result # or just check prefix |