oclaw/tests/test_resolve_runtime_lang.py
oliver f1626195f7 fix(chat): honor ui_lang on WebSocket turns; ops NE display by host_name
Resolve runtime language from ui_lang and chat.send lang instead of hardcoding zh.
Align generalist/ops prompts with user language and require host_name (not ne_id) in ops outputs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 22:14:44 +08:00

25 lines
753 B
Python

import unittest
from unittest import mock
from runtime.lang import resolve_runtime_lang
class ResolveRuntimeLangTests(unittest.TestCase):
def test_hint_wins(self) -> None:
store = mock.Mock()
store.get_setting.return_value = "zh"
self.assertEqual(resolve_runtime_lang(store=store, hint="en"), "en")
def test_store_ui_lang(self) -> None:
store = mock.Mock()
store.get_setting.return_value = "en"
self.assertEqual(resolve_runtime_lang(store=store), "en")
def test_invalid_falls_back_zh(self) -> None:
store = mock.Mock()
store.get_setting.return_value = "fr"
self.assertEqual(resolve_runtime_lang(store=store), "zh")
if __name__ == "__main__":
unittest.main()