24 lines
1.7 KiB
Markdown
24 lines
1.7 KiB
Markdown
# Проверка языка приложения
|
|
|
|
```sh
|
|
cd tools/chatgui-android
|
|
./gradlew :language-tests:test
|
|
```
|
|
|
|
Модуль компилирует настоящий `data/AppLanguage.kt` с отдельными host-моделями
|
|
Android/AppCompat. JDK-парсер читает настоящий `res/xml/locales_config.xml`;
|
|
список языков не дублируется в fixtures. Путь XML объявлен входом Gradle test.
|
|
Запрошенные языки и effective ресурсы меняются в тесте независимо.
|
|
|
|
22 теста проверяют каталог/BCP47, закрытие XML parser при отказе, выбор и сброс
|
|
языка, ошибки чтения/записи AppCompat, включая отказ после публикации запроса,
|
|
локализованные строки и форматирование. Проверки `applied()` считают все четыре
|
|
владельца уведомлений, повторяют тот же locale после отказа, изолируют ошибки
|
|
и проверяют запрет mutators из фонового потока.
|
|
|
|
Host-модели не запускают службы, аудио, ядро и Android Looper; они не проверяют
|
|
ART, реальную Activity recreation или реализацию хранилища AppCompat.
|
|
APK с настоящими Android/AndroidX API проверяется обычной NDK/Gradle-сборкой.
|
|
`:app:testDebugUnitTest` зависит от этого набора только как от задачи;
|
|
host-классы не включаются в classpath приложения или APK.
|