Skip to content

Commit d95a9c6

Browse files
thewrzcodex
andauthored
test(ui): add iced interaction harness (#219)
* test(ui): add iced interaction harness Exercise the real HonkHonk view/update loop headlessly for sort persistence and staged settings search behavior. Co-Authored-By: Codex <noreply@openai.com> * ci(test): provide fonts for GUI harness Install DejaVu fonts in the unit-test job and declare the Arch package as a source-package check dependency so iced_test can shape styled and monospace settings text in minimal environments. Co-Authored-By: Codex <noreply@openai.com> --------- Co-authored-by: Codex <noreply@openai.com>
1 parent a7af221 commit d95a9c6

15 files changed

Lines changed: 410 additions & 5 deletions

File tree

.github/workflows/rust.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787
run: |
8888
sudo apt-get -o Acquire::Retries=3 update
8989
sudo apt-get -o Acquire::Retries=3 install -y --no-install-recommends \
90-
libpipewire-0.3-dev libwayland-dev pkg-config
90+
fonts-dejavu-core libpipewire-0.3-dev libwayland-dev pkg-config
9191
9292
- name: Cache cargo registry and build
9393
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2

Cargo.lock

Lines changed: 101 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ pipewire-test = []
4747

4848
[dev-dependencies]
4949
tempfile = "3"
50+
# Official headless interaction harness shipped with Iced. It exercises the
51+
# real widget tree and update messages without winit or a compositor. Pinned to
52+
# the app's Iced line; license: MIT (cargo-deny clean). Issue #215.
53+
iced_test = "=0.14.0"
5054
# Bench harness for the sound-grid render baseline (ADR-009). Criterion is the
5155
# de-facto Rust micro-benchmark standard; stdlib #[bench] is nightly-only.
5256
# License: Apache-2.0 OR MIT (cargo-deny clean).

packaging/aur/honkhonk-git/.SRCINFO

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ pkgbase = honkhonk-git
55
url = https://github.com/wrzonance/HonkHonk
66
arch = x86_64
77
license = MIT
8+
checkdepends = ttf-dejavu
89
makedepends = cargo
910
makedepends = rust
1011
makedepends = pkgconf

packaging/aur/honkhonk-git/PKGBUILD

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ makedepends=(
2121
'clang' # libclang.so — pipewire-sys runs bindgen at build time
2222
'git' # VCS source checkout + pkgver()
2323
)
24+
checkdepends=(
25+
'ttf-dejavu' # deterministic sans/mono faces for iced_test text shaping
26+
)
2427
provides=('honkhonk')
2528
conflicts=('honkhonk' 'honkhonk-bin')
2629
source=("git+$url.git#branch=main")

packaging/aur/honkhonk/.SRCINFO

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ pkgbase = honkhonk
55
url = https://github.com/wrzonance/HonkHonk
66
arch = x86_64
77
license = MIT
8+
checkdepends = ttf-dejavu
89
makedepends = cargo
910
makedepends = rust
1011
makedepends = pkgconf

packaging/aur/honkhonk/PKGBUILD

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ makedepends=(
3333
# too would be redundant (namcap warns). Same for gtk3/wayland/libxkbcommon:
3434
# on Arch the runtime packages ship their own headers + .pc files.
3535
)
36+
checkdepends=(
37+
'ttf-dejavu' # deterministic sans/mono faces for iced_test text shaping
38+
)
3639
provides=('honkhonk')
3740
conflicts=('honkhonk-bin' 'honkhonk-git')
3841
source=("$pkgname-$pkgver.tar.gz::$url/archive/$_pkgtag.tar.gz")

0 commit comments

Comments
 (0)