mirror of
https://github.com/element-hq/element-x-ios.git
synced 2025-03-10 21:39:12 +00:00

* Create publisher extension into the unit test target * Add ViewModelContext test extension * Refactor BugReportViewModelTests * Fix failing UTs * Idea PublishedClosure * Refactor RoomDetailsViewModelTests * Replace more Task.yield/Task.sleep * Move leaveRoom/ignore/unignore under the @MainActor * Revert "Idea PublishedClosure" This reverts commit 4ab25291041f0dbd99083baf9d95bc6647f1fd97. * Make process(viewAction:) sync * Refactor BugReportViewModel callback to a publisher * Fix UTs * Refactor ReportContentViewModel * Fix ui test build error * Try make sonar happy * Empty commit * Revert "Try make sonar happy" This reverts commit 97804b19373a8f55f12174ccbf27f1fd8db583b7. * Rename ui test identifier * Cleanup * Callback -> actions refactor * Update template * Add publisher in TemplateCoordinator * Add env variable in IntegrationTests.xctestplan * Add async sequence extension * Amend integration test plan * Remove env variable from target.yml * Cleanup * Fix failing UI tests
Scripts
Iconizer
Generates all app icon variants from one single .pdf file.
Usage:
sh iconizer.sh ../ElementX/Supporting\ Files/AppIcon.pdf ../ElementX/Supporting\ Files
Localizer
Generates all app localization files and imports them to the project, by downloading strings from element-android and converting them to strings
and stringsdict
files.
Usage:
./localizer.py
Boot Test Simulator
Boots a desired simulator and makes status bar overrides on that.
Usage:
./bootTestSimulator.py 'iPhone 13 Pro Max'
Create screen templates
New screen flows are currently using the MVVM-Coordinator pattern. Run Tools/Scripts/createScreen.sh to create a new screen and all its required dependencies.
Usage:
./createScreen.sh Folder MyScreenName
After that run xcodegen
to regenerate the project.
createScreen.sh
script will create:
Folder
within the/ElementX/Sources/Screens/
. Files inside will be namedMyScreenNameXxx
.MyScreenNameScreenUITests.swift
withinUITests/Sources
MyScreenNameViewModelTests.swift
withinUnitTests/Sources/Unit