Spaces:
Running
Running
| import pytest | |
| from httpx import AsyncClient | |
| async def test_langid_batch(client: AsyncClient): | |
| """Verify that language identification works for a list of strings.""" | |
| payload = {"src": ["This is English text.", "Ceci est un texte français."]} | |
| response = await client.post("/api/identify-language", json=payload) | |
| assert response.status_code == 200 | |
| data = response.json() | |
| # Expect a list of lists of DetectionResult | |
| results = data["results"] | |
| assert isinstance(results, list) | |
| assert len(results) == 2 | |
| # First item: English | |
| assert len(results[0]) >= 1 | |
| assert results[0][0]["lang"] == "en" | |
| # Second item: French | |
| assert len(results[1]) >= 1 | |
| assert results[1][0]["lang"] == "fr" | |
| async def test_langid_newline_handling(client: AsyncClient): | |
| """Verify that inputs with newlines are handled gracefully (no 500 error).""" | |
| # Single string with newline | |
| payload_single = {"src": "This text\nhas a newline."} | |
| response = await client.post("/api/identify-language", json=payload_single) | |
| assert response.status_code == 200 | |
| data = response.json() | |
| assert data["results"][0]["lang"] == "en" | |
| # Batch with newlines | |
| payload_batch = {"src": ["Line 1\nLine 2", "Another\nline"]} | |
| response = await client.post("/api/identify-language", json=payload_batch) | |
| assert response.status_code == 200 | |
| data = response.json() | |
| assert len(data["results"]) == 2 | |