docs: refresh README + docs/ for v0.2.0
The README still framed the project as "Phase 5 / pre-v0.1.0" and the docs predated the v0.2.0 surface (typed BridgeOp, public service interfaces, port negotiation, pre-migration auto-backup, bridge:export, periodic auto-update, two new makers, qmltestrunner). Bring them in line with what's actually shipped, and add badges (release, license, PHP, Symfony, Qt, FrankenPHP, CI, platform) to the README so the status is legible at a glance. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -165,6 +165,25 @@ If you intentionally changed the template, regenerate the snapshot and commit it
|
||||
git add tests/snapshot/
|
||||
```
|
||||
|
||||
## QML unit tests (`make qmltest`)
|
||||
|
||||
`framework/qml/tests/` ships a [Qt Quick Test](https://doc.qt.io/qt-6/qtquicktest-index.html) executable target (`qml_unit_tests`) discovered by CTest. Built only when CMake is configured with `-DBUILD_TESTING=ON`, so production AppImages don't carry it.
|
||||
|
||||
Locally:
|
||||
|
||||
```bash
|
||||
cd framework/skeleton # or examples/todo / a php-qml-init'd project
|
||||
make qmltest
|
||||
# → cmake -DBUILD_TESTING=ON -S qml -B build/qml
|
||||
# → cmake --build build/qml --target qml_unit_tests
|
||||
# → ctest --test-dir build/qml --output-on-failure
|
||||
# ✓ tst_smoke.qml passed
|
||||
```
|
||||
|
||||
Add per-feature tests next to `tst_smoke.qml` as `tst_<feature>.qml` — Quick Test auto-discovers them. Tests run under the `offscreen` Qt platform plugin so CI doesn't need `xvfb`.
|
||||
|
||||
This is wired into `make quality` (skeleton + todo example) and into the Gitea Actions `Quality` job after qmllint, so QML regressions fail the build alongside PHP regressions.
|
||||
|
||||
## Integration test loop
|
||||
|
||||
`examples/todo/tests/integration.sh` boots the example app in dev mode, fires a real HTTP+SSE round-trip plus a crash-recover, and asserts the output. Run it after touching anything in `BackendConnection`, `MercureClient`, or `ReactiveListModel`:
|
||||
|
||||
Reference in New Issue
Block a user