[1m[32m==>[m[1m Building on minun[m
[1m[32m==>[m[1m Checking for remote environment...[m
[1m[32m==>[m[1m Syncing package to remote host...[m
sending incremental file list
./
.SRCINFO
625 100% 0.00kB/s 0:00:00
625 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9)
.nvchecker.toml
55 100% 53.71kB/s 0:00:00
55 100% 53.71kB/s 0:00:00 (xfr#2, to-chk=6/9)
LICENSE
646 100% 630.86kB/s 0:00:00
646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9)
PKGBUILD
1,295 100% 1.24MB/s 0:00:00
1,295 100% 1.24MB/s 0:00:00 (xfr#4, to-chk=4/9)
REUSE.toml
375 100% 366.21kB/s 0:00:00
375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9)
gemini-cli-1:0.28.2-1.log
692 100% 675.78kB/s 0:00:00
692 100% 675.78kB/s 0:00:00 (xfr#6, to-chk=2/9)
LICENSES/
sent 1,890 bytes received 180 bytes 4,140.00 bytes/sec
total size is 3,198 speedup is 1.54
[1m[32m==>[m[1m Patching arch to riscv64...[m
[1m[32m==>[m[1m Running pkgctl build --arch riscv64 on remote host...[m
[1m[33m==> WARNING:[m[1m invalid architecture: riscv64[m
[1m[32m==>[m[1m Updating pacman database cache[m
[?25l:: Synchronizing package databases...
core downloading...
extra downloading...
multilib downloading...
[?25h[1m[32m==>[m[1m Building gemini-cli[m
[1m[34m ->[m[1m repo: extra[m
[1m[34m ->[m[1m arch: riscv64[m
[1m[34m ->[m[1m worker: felix-0[m
[1m[32m==>[m[1m Building gemini-cli for [extra] (riscv64)[m
]3008;start=9bbee32984904f0db98719cefbfcd0ae;user=root;hostname=minun.felixc.at;machineid=0ffe3ef7ad56462790c2861f2a747f6b;bootid=32d9c4b537a24816afcaf7574fd06933;pid=3295379;pidfdid=49423324;comm=systemd-nspawn;container=arch-nspawn-3295379;type=container\]11;?\[22;2t]2;๐ต Container arch-nspawn-3295379 on minun.felixc.at\:: Synchronizing package databases...
core downloading...
extra downloading...
:: Starting full system upgrade...
there is nothing to do
[23;2t[!p]104[?7h[1G[0J]3008;end=9bbee32984904f0db98719cefbfcd0ae\[1m[32m==>[m[1m Building in chroot for [extra] (riscv64)...[m
[1m[32m==>[m[1m Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-0]...[m[1mdone[m
[1m[32m==>[m[1m Making package: gemini-cli 1:0.28.2-1 (Wed Feb 18 04:56:09 2026)[m
[1m[32m==>[m[1m Retrieving sources...[m
[1m[34m ->[m[1m Updating gemini-cli git repo...[m
From https://github.com/google-gemini/gemini-cli
- [deleted] (none) -> abhi/event-tools-cleanup.2
- [deleted] (none) -> abhi/event-tools-cleanup.3
- [deleted] (none) -> abhi/event-tools-cleanup.4
- [deleted] (none) -> abhi/event-tools-cleanup.5
- [deleted] (none) -> abhi/masking-default-enabled
- [deleted] (none) -> abhijit-2592/delete-tool-args
- [deleted] (none) -> adh/feature/add-policy-flag
- [deleted] (none) -> admin-docs
- [deleted] (none) -> afw/cleanup-1
- [deleted] (none) -> afweidman/a2a-auth-pr2-value-resolver
- [deleted] (none) -> ask-user/yolo
- [deleted] (none) -> autoconfig_memory
- [deleted] (none) -> cb/conflictnotif
- [deleted] (none) -> ctrl-o-placeholder
- [deleted] (none) -> dependabot/github_actions/actions-dependencies-f820dacf99
- [deleted] (none) -> dependabot/github_actions/actions/checkout-6
- [deleted] (none) -> dependabot/github_actions/actions/download-artifact-7.0.0
- [deleted] (none) -> dependabot/github_actions/actions/github-script-8
- [deleted] (none) -> dependabot/github_actions/actions/stale-10.1.1
- [deleted] (none) -> dependabot/github_actions/actions/upload-artifact-6.0.0
- [deleted] (none) -> dependabot/github_actions/actions/upload-pages-artifact-4.0.0
- [deleted] (none) -> dependabot/github_actions/github/codeql-action-4.31.10
- [deleted] (none) -> dependabot/github_actions/google-github-actions/auth-3.0.0
- [deleted] (none) -> dependabot/github_actions/myrotvorets/set-commit-status-action-0e709a89566c3de108b6674b65fb22aca2133247
- [deleted] (none) -> dependabot/npm_and_yarn/globals-17.0.0
- [deleted] (none) -> dependabot/npm_and_yarn/google-auth-library-10.5.0
- [deleted] (none) -> dependabot/npm_and_yarn/jws-4.0.1
- [deleted] (none) -> dependabot/npm_and_yarn/marked-17.0.1
- [deleted] (none) -> dependabot/npm_and_yarn/modelcontextprotocol/sdk-1.25.2
- [deleted] (none) -> dependabot/npm_and_yarn/multi-1fa48253bb
- [deleted] (none) -> dependabot/npm_and_yarn/npm-dependencies-c294c98b10
- [deleted] (none) -> dependabot/npm_and_yarn/open-11.0.0
- [deleted] (none) -> dependabot/npm_and_yarn/strip-json-comments-5.0.3
- [deleted] (none) -> dependabot/npm_and_yarn/types/archiver-7.0.0
- [deleted] (none) -> dependabot/npm_and_yarn/types/minimatch-6.0.0
- [deleted] (none) -> dependabot/npm_and_yarn/undici-7.18.2
- [deleted] (none) -> dependabot/npm_and_yarn/xterm/headless-6.0.0
- [deleted] (none) -> docs-use-gemini-cli
- [deleted] (none) -> feat/askuser-context-field
- [deleted] (none) -> feat/askuser-rich-content
- [deleted] (none) -> feature-shortcut-setting
- [deleted] (none) -> feature/model-dependent-tool-definitions
- [deleted] (none) -> feature/quota-visibility-16795
- [deleted] (none) -> galzahavi/ft/overwrite
- [deleted] (none) -> gundermanc/frugal-reads
- [deleted] (none) -> gundermanc/stop-duplicating-tests
- [deleted] (none) -> jl/h-mem
- [deleted] (none) -> kevin-ramdass/agents
- [deleted] (none) -> kevin-ramdass/dir-context
- [deleted] (none) -> kevin-ramdass/logging
- [deleted] (none) -> kevin-ramdass/timeout
- [deleted] (none) -> ntm/fix-build-and-spacing
- [deleted] (none) -> ntm/fix-esc-cancel-ux
- [deleted] (none) -> ntm/fix-gemini-message-spacing
- [deleted] (none) -> ntm/fixsysbug
- [deleted] (none) -> ntm/gh.18529
- [deleted] (none) -> ntm/gh.18550
- [deleted] (none) -> ntm/gh.interactive-shell-prompt
- [deleted] (none) -> release/v0.25.1-pr-17166
- [deleted] (none) -> release/v0.26.0-preview.2-pr-17331
- [deleted] (none) -> release/v0.27.1-pr-18395
- [deleted] (none) -> release/v0.28.0-preview.1-pr-18395
- [deleted] (none) -> restrict-numerical-routing-to-gemini-3
- [deleted] (none) -> sehoon/geminimd
- [deleted] (none) -> select_mode
- [deleted] (none) -> table-word-wrap
- [deleted] (none) -> tomm_ask_at_path
- [deleted] (none) -> tomm_fix
- [deleted] (none) -> tomm_nnbsp
- [deleted] (none) -> refs/pull/14517/merge
- [deleted] (none) -> refs/pull/14915/merge
- [deleted] (none) -> refs/pull/14967/merge
- [deleted] (none) -> refs/pull/15561/merge
- [deleted] (none) -> refs/pull/15647/merge
- [deleted] (none) -> refs/pull/15747/merge
- [deleted] (none) -> refs/pull/16072/merge
- [deleted] (none) -> refs/pull/16387/merge
- [deleted] (none) -> refs/pull/16434/merge
- [deleted] (none) -> refs/pull/16449/merge
- [deleted] (none) -> refs/pull/16653/merge
- [deleted] (none) -> refs/pull/16655/merge
- [deleted] (none) -> refs/pull/16674/merge
- [deleted] (none) -> refs/pull/16675/merge
- [deleted] (none) -> refs/pull/16676/merge
- [deleted] (none) -> refs/pull/16677/merge
- [deleted] (none) -> refs/pull/16678/merge
- [deleted] (none) -> refs/pull/16679/merge
- [deleted] (none) -> refs/pull/16680/merge
- [deleted] (none) -> refs/pull/16681/merge
- [deleted] (none) -> refs/pull/16682/merge
- [deleted] (none) -> refs/pull/16683/merge
- [deleted] (none) -> refs/pull/16684/merge
- [deleted] (none) -> refs/pull/16685/merge
- [deleted] (none) -> refs/pull/16686/merge
- [deleted] (none) -> refs/pull/16687/merge
- [deleted] (none) -> refs/pull/16688/merge
- [deleted] (none) -> refs/pull/16689/merge
- [deleted] (none) -> refs/pull/16690/merge
- [deleted] (none) -> refs/pull/16691/merge
- [deleted] (none) -> refs/pull/16692/merge
- [deleted] (none) -> refs/pull/16693/merge
- [deleted] (none) -> refs/pull/16996/merge
- [deleted] (none) -> refs/pull/17062/merge
- [deleted] (none) -> refs/pull/17630/merge
- [deleted] (none) -> refs/pull/17672/merge
- [deleted] (none) -> refs/pull/17747/merge
- [deleted] (none) -> refs/pull/17890/merge
- [deleted] (none) -> refs/pull/18031/merge
- [deleted] (none) -> refs/pull/18033/merge
- [deleted] (none) -> refs/pull/18073/merge
- [deleted] (none) -> refs/pull/18099/merge
- [deleted] (none) -> refs/pull/18167/merge
- [deleted] (none) -> refs/pull/18169/merge
- [deleted] (none) -> refs/pull/18170/merge
- [deleted] (none) -> refs/pull/18203/merge
- [deleted] (none) -> refs/pull/18240/merge
- [deleted] (none) -> refs/pull/18335/merge
- [deleted] (none) -> refs/pull/18350/merge
- [deleted] (none) -> refs/pull/18354/merge
- [deleted] (none) -> refs/pull/18406/merge
- [deleted] (none) -> refs/pull/18407/merge
- [deleted] (none) -> refs/pull/18409/merge
- [deleted] (none) -> refs/pull/18421/merge
- [deleted] (none) -> refs/pull/18440/merge
- [deleted] (none) -> refs/pull/18449/merge
- [deleted] (none) -> refs/pull/18460/merge
- [deleted] (none) -> refs/pull/18470/merge
- [deleted] (none) -> refs/pull/18477/merge
- [deleted] (none) -> refs/pull/18478/merge
- [deleted] (none) -> refs/pull/18500/merge
- [deleted] (none) -> refs/pull/18506/merge
- [deleted] (none) -> refs/pull/18508/merge
- [deleted] (none) -> refs/pull/18510/merge
- [deleted] (none) -> refs/pull/18531/merge
- [deleted] (none) -> refs/pull/18534/merge
- [deleted] (none) -> refs/pull/18538/merge
- [deleted] (none) -> refs/pull/18541/merge
- [deleted] (none) -> refs/pull/18544/merge
- [deleted] (none) -> refs/pull/18555/merge
- [deleted] (none) -> refs/pull/18557/merge
- [deleted] (none) -> refs/pull/18558/merge
- [deleted] (none) -> refs/pull/18561/merge
- [deleted] (none) -> refs/pull/18562/merge
- [deleted] (none) -> refs/pull/18563/merge
- [deleted] (none) -> refs/pull/18564/merge
- [deleted] (none) -> refs/pull/18565/merge
- [deleted] (none) -> refs/pull/18566/merge
- [deleted] (none) -> refs/pull/18567/merge
- [deleted] (none) -> refs/pull/18569/merge
- [deleted] (none) -> refs/pull/18570/merge
remote: Enumerating objects: 25267, done.[K
remote: Counting objects: 0% (1/13722)[K
remote: Counting objects: 1% (138/13722)[K
remote: Counting objects: 2% (275/13722)[K
remote: Counting objects: 3% (412/13722)[K
remote: Counting objects: 4% (549/13722)[K
remote: Counting objects: 5% (687/13722)[K
remote: Counting objects: 6% (824/13722)[K
remote: Counting objects: 7% (961/13722)[K
remote: Counting objects: 8% (1098/13722)[K
remote: Counting objects: 9% (1235/13722)[K
remote: Counting objects: 10% (1373/13722)[K
remote: Counting objects: 11% (1510/13722)[K
remote: Counting objects: 12% (1647/13722)[K
remote: Counting objects: 13% (1784/13722)[K
remote: Counting objects: 14% (1922/13722)[K
remote: Counting objects: 15% (2059/13722)[K
remote: Counting objects: 16% (2196/13722)[K
remote: Counting objects: 17% (2333/13722)[K
remote: Counting objects: 18% (2470/13722)[K
remote: Counting objects: 19% (2608/13722)[K
remote: Counting objects: 20% (2745/13722)[K
remote: Counting objects: 21% (2882/13722)[K
remote: Counting objects: 22% (3019/13722)[K
remote: Counting objects: 23% (3157/13722)[K
remote: Counting objects: 24% (3294/13722)[K
remote: Counting objects: 25% (3431/13722)[K
remote: Counting objects: 26% (3568/13722)[K
remote: Counting objects: 27% (3705/13722)[K
remote: Counting objects: 28% (3843/13722)[K
remote: Counting objects: 29% (3980/13722)[K
remote: Counting objects: 30% (4117/13722)[K
remote: Counting objects: 31% (4254/13722)[K
remote: Counting objects: 32% (4392/13722)[K
remote: Counting objects: 33% (4529/13722)[K
remote: Counting objects: 34% (4666/13722)[K
remote: Counting objects: 35% (4803/13722)[K
remote: Counting objects: 36% (4940/13722)[K
remote: Counting objects: 37% (5078/13722)[K
remote: Counting objects: 38% (5215/13722)[K
remote: Counting objects: 39% (5352/13722)[K
remote: Counting objects: 40% (5489/13722)[K
remote: Counting objects: 41% (5627/13722)[K
remote: Counting objects: 42% (5764/13722)[K
remote: Counting objects: 43% (5901/13722)[K
remote: Counting objects: 44% (6038/13722)[K
remote: Counting objects: 45% (6175/13722)[K
remote: Counting objects: 46% (6313/13722)[K
remote: Counting objects: 47% (6450/13722)[K
remote: Counting objects: 48% (6587/13722)[K
remote: Counting objects: 49% (6724/13722)[K
remote: Counting objects: 50% (6861/13722)[K
remote: Counting objects: 51% (6999/13722)[K
remote: Counting objects: 52% (7136/13722)[K
remote: Counting objects: 53% (7273/13722)[K
remote: Counting objects: 54% (7410/13722)[K
remote: Counting objects: 55% (7548/13722)[K
remote: Counting objects: 56% (7685/13722)[K
remote: Counting objects: 57% (7822/13722)[K
remote: Counting objects: 58% (7959/13722)[K
remote: Counting objects: 59% (8096/13722)[K
remote: Counting objects: 60% (8234/13722)[K
remote: Counting objects: 61% (8371/13722)[K
remote: Counting objects: 62% (8508/13722)[K
remote: Counting objects: 63% (8645/13722)[K
remote: Counting objects: 64% (8783/13722)[K
remote: Counting objects: 65% (8920/13722)[K
remote: Counting objects: 66% (9057/13722)[K
remote: Counting objects: 67% (9194/13722)[K
remote: Counting objects: 68% (9331/13722)[K
remote: Counting objects: 69% (9469/13722)[K
remote: Counting objects: 70% (9606/13722)[K
remote: Counting objects: 71% (9743/13722)[K
remote: Counting objects: 72% (9880/13722)[K
remote: Counting objects: 73% (10018/13722)[K
remote: Counting objects: 74% (10155/13722)[K
remote: Counting objects: 75% (10292/13722)[K
remote: Counting objects: 76% (10429/13722)[K
remote: Counting objects: 77% (10566/13722)[K
remote: Counting objects: 78% (10704/13722)[K
remote: Counting objects: 79% (10841/13722)[K
remote: Counting objects: 80% (10978/13722)[K
remote: Counting objects: 81% (11115/13722)[K
remote: Counting objects: 82% (11253/13722)[K
remote: Counting objects: 83% (11390/13722)[K
remote: Counting objects: 84% (11527/13722)[K
remote: Counting objects: 85% (11664/13722)[K
remote: Counting objects: 86% (11801/13722)[K
remote: Counting objects: 87% (11939/13722)[K
remote: Counting objects: 88% (12076/13722)[K
remote: Counting objects: 89% (12213/13722)[K
remote: Counting objects: 90% (12350/13722)[K
remote: Counting objects: 91% (12488/13722)[K
remote: Counting objects: 92% (12625/13722)[K
remote: Counting objects: 93% (12762/13722)[K
remote: Counting objects: 94% (12899/13722)[K
remote: Counting objects: 95% (13036/13722)[K
remote: Counting objects: 96% (13174/13722)[K
remote: Counting objects: 97% (13311/13722)[K
remote: Counting objects: 98% (13448/13722)[K
remote: Counting objects: 99% (13585/13722)[K
remote: Counting objects: 100% (13722/13722)[K
remote: Counting objects: 100% (13722/13722), done.[K
remote: Compressing objects: 0% (1/847)[K
remote: Compressing objects: 1% (9/847)[K
remote: Compressing objects: 2% (17/847)[K
remote: Compressing objects: 3% (26/847)[K
remote: Compressing objects: 4% (34/847)[K
remote: Compressing objects: 5% (43/847)[K
remote: Compressing objects: 6% (51/847)[K
remote: Compressing objects: 7% (60/847)[K
remote: Compressing objects: 8% (68/847)[K
remote: Compressing objects: 9% (77/847)[K
remote: Compressing objects: 10% (85/847)[K
remote: Compressing objects: 11% (94/847)[K
remote: Compressing objects: 12% (102/847)[K
remote: Compressing objects: 13% (111/847)[K
remote: Compressing objects: 14% (119/847)[K
remote: Compressing objects: 15% (128/847)[K
remote: Compressing objects: 16% (136/847)[K
remote: Compressing objects: 17% (144/847)[K
remote: Compressing objects: 18% (153/847)[K
remote: Compressing objects: 19% (161/847)[K
remote: Compressing objects: 20% (170/847)[K
remote: Compressing objects: 21% (178/847)[K
remote: Compressing objects: 22% (187/847)[K
remote: Compressing objects: 23% (195/847)[K
remote: Compressing objects: 24% (204/847)[K
remote: Compressing objects: 25% (212/847)[K
remote: Compressing objects: 26% (221/847)[K
remote: Compressing objects: 27% (229/847)[K
remote: Compressing objects: 28% (238/847)[K
remote: Compressing objects: 29% (246/847)[K
remote: Compressing objects: 30% (255/847)[K
remote: Compressing objects: 31% (263/847)[K
remote: Compressing objects: 32% (272/847)[K
remote: Compressing objects: 33% (280/847)[K
remote: Compressing objects: 34% (288/847)[K
remote: Compressing objects: 35% (297/847)[K
remote: Compressing objects: 36% (305/847)[K
remote: Compressing objects: 37% (314/847)[K
remote: Compressing objects: 38% (322/847)[K
remote: Compressing objects: 39% (331/847)[K
remote: Compressing objects: 40% (339/847)[K
remote: Compressing objects: 41% (348/847)[K
remote: Compressing objects: 42% (356/847)[K
remote: Compressing objects: 43% (365/847)[K
remote: Compressing objects: 44% (373/847)[K
remote: Compressing objects: 45% (382/847)[K
remote: Compressing objects: 46% (390/847)[K
remote: Compressing objects: 47% (399/847)[K
remote: Compressing objects: 48% (407/847)[K
remote: Compressing objects: 49% (416/847)[K
remote: Compressing objects: 50% (424/847)[K
remote: Compressing objects: 51% (432/847)[K
remote: Compressing objects: 52% (441/847)[K
remote: Compressing objects: 53% (449/847)[K
remote: Compressing objects: 54% (458/847)[K
remote: Compressing objects: 55% (466/847)[K
remote: Compressing objects: 56% (475/847)[K
remote: Compressing objects: 57% (483/847)[K
remote: Compressing objects: 58% (492/847)[K
remote: Compressing objects: 59% (500/847)[K
remote: Compressing objects: 60% (509/847)[K
remote: Compressing objects: 61% (517/847)[K
remote: Compressing objects: 62% (526/847)[K
remote: Compressing objects: 63% (534/847)[K
remote: Compressing objects: 64% (543/847)[K
remote: Compressing objects: 65% (551/847)[K
remote: Compressing objects: 66% (560/847)[K
remote: Compressing objects: 67% (568/847)[K
remote: Compressing objects: 68% (576/847)[K
remote: Compressing objects: 69% (585/847)[K
remote: Compressing objects: 70% (593/847)[K
remote: Compressing objects: 71% (602/847)[K
remote: Compressing objects: 72% (610/847)[K
remote: Compressing objects: 73% (619/847)[K
remote: Compressing objects: 74% (627/847)[K
remote: Compressing objects: 75% (636/847)[K
remote: Compressing objects: 76% (644/847)[K
remote: Compressing objects: 77% (653/847)[K
remote: Compressing objects: 78% (661/847)[K
remote: Compressing objects: 79% (670/847)[K
remote: Compressing objects: 80% (678/847)[K
remote: Compressing objects: 81% (687/847)[K
remote: Compressing objects: 82% (695/847)[K
remote: Compressing objects: 83% (704/847)[K
remote: Compressing objects: 84% (712/847)[K
remote: Compressing objects: 85% (720/847)[K
remote: Compressing objects: 86% (729/847)[K
remote: Compressing objects: 87% (737/847)[K
remote: Compressing objects: 88% (746/847)[K
remote: Compressing objects: 89% (754/847)[K
remote: Compressing objects: 90% (763/847)[K
remote: Compressing objects: 91% (771/847)[K
remote: Compressing objects: 92% (780/847)[K
remote: Compressing objects: 93% (788/847)[K
remote: Compressing objects: 94% (797/847)[K
remote: Compressing objects: 95% (805/847)[K
remote: Compressing objects: 96% (814/847)[K
remote: Compressing objects: 97% (822/847)[K
remote: Compressing objects: 98% (831/847)[K
remote: Compressing objects: 99% (839/847)[K
remote: Compressing objects: 100% (847/847)[K
remote: Compressing objects: 100% (847/847), done.[K
Receiving objects: 0% (1/25267)
Receiving objects: 1% (253/25267)
Receiving objects: 2% (506/25267)
Receiving objects: 3% (759/25267)
Receiving objects: 4% (1011/25267)
Receiving objects: 5% (1264/25267)
Receiving objects: 6% (1517/25267)
Receiving objects: 7% (1769/25267)
Receiving objects: 8% (2022/25267)
Receiving objects: 9% (2275/25267)
Receiving objects: 10% (2527/25267)
Receiving objects: 11% (2780/25267)
Receiving objects: 12% (3033/25267)
Receiving objects: 13% (3285/25267)
Receiving objects: 14% (3538/25267)
Receiving objects: 15% (3791/25267)
Receiving objects: 16% (4043/25267)
Receiving objects: 17% (4296/25267)
Receiving objects: 18% (4549/25267)
Receiving objects: 19% (4801/25267)
Receiving objects: 20% (5054/25267)
Receiving objects: 21% (5307/25267)
Receiving objects: 22% (5559/25267)
Receiving objects: 23% (5812/25267)
Receiving objects: 24% (6065/25267)
Receiving objects: 25% (6317/25267)
Receiving objects: 26% (6570/25267)
Receiving objects: 27% (6823/25267)
Receiving objects: 28% (7075/25267)
Receiving objects: 29% (7328/25267)
Receiving objects: 30% (7581/25267)
Receiving objects: 31% (7833/25267)
Receiving objects: 32% (8086/25267)
Receiving objects: 33% (8339/25267)
Receiving objects: 34% (8591/25267)
Receiving objects: 35% (8844/25267)
Receiving objects: 36% (9097/25267)
Receiving objects: 37% (9349/25267)
Receiving objects: 38% (9602/25267)
Receiving objects: 39% (9855/25267)
Receiving objects: 40% (10107/25267)
Receiving objects: 41% (10360/25267)
Receiving objects: 42% (10613/25267)
Receiving objects: 43% (10865/25267)
Receiving objects: 44% (11118/25267)
Receiving objects: 45% (11371/25267)
Receiving objects: 46% (11623/25267)
Receiving objects: 47% (11876/25267)
Receiving objects: 48% (12129/25267)
Receiving objects: 49% (12381/25267)
Receiving objects: 50% (12634/25267)
Receiving objects: 51% (12887/25267)
Receiving objects: 52% (13139/25267)
Receiving objects: 53% (13392/25267)
Receiving objects: 54% (13645/25267)
Receiving objects: 55% (13897/25267)
Receiving objects: 56% (14150/25267)
Receiving objects: 57% (14403/25267)
Receiving objects: 58% (14655/25267)
Receiving objects: 59% (14908/25267)
Receiving objects: 60% (15161/25267)
Receiving objects: 61% (15413/25267)
Receiving objects: 62% (15666/25267)
Receiving objects: 63% (15919/25267)
Receiving objects: 64% (16171/25267)
Receiving objects: 65% (16424/25267)
Receiving objects: 66% (16677/25267)
Receiving objects: 67% (16929/25267)
Receiving objects: 68% (17182/25267)
Receiving objects: 69% (17435/25267)
Receiving objects: 70% (17687/25267)
Receiving objects: 71% (17940/25267)
Receiving objects: 72% (18193/25267)
Receiving objects: 73% (18445/25267)
Receiving objects: 74% (18698/25267)
Receiving objects: 75% (18951/25267)
Receiving objects: 76% (19203/25267)
Receiving objects: 77% (19456/25267)
Receiving objects: 78% (19709/25267)
Receiving objects: 79% (19961/25267)
Receiving objects: 80% (20214/25267)
Receiving objects: 81% (20467/25267)
Receiving objects: 82% (20719/25267)
Receiving objects: 83% (20972/25267)
Receiving objects: 84% (21225/25267)
Receiving objects: 85% (21477/25267)
Receiving objects: 86% (21730/25267)
Receiving objects: 87% (21983/25267)
Receiving objects: 88% (22235/25267)
Receiving objects: 89% (22488/25267)
Receiving objects: 90% (22741/25267)
Receiving objects: 91% (22993/25267)
Receiving objects: 92% (23246/25267)
Receiving objects: 93% (23499/25267)
Receiving objects: 94% (23751/25267)
Receiving objects: 95% (24004/25267)
Receiving objects: 96% (24257/25267)
Receiving objects: 97% (24509/25267)
Receiving objects: 98% (24762/25267)
Receiving objects: 99% (25015/25267)
remote: Total 25267 (delta 13332), reused 12890 (delta 12875), pack-reused 11545 (from 3)[K
Receiving objects: 100% (25267/25267)
Receiving objects: 100% (25267/25267), 10.57 MiB | 34.26 MiB/s, done.
Resolving deltas: 0% (0/20081)
Resolving deltas: 1% (201/20081)
Resolving deltas: 2% (402/20081)
Resolving deltas: 3% (606/20081)
Resolving deltas: 4% (806/20081)
Resolving deltas: 5% (1005/20081)
Resolving deltas: 6% (1205/20081)
Resolving deltas: 7% (1406/20081)
Resolving deltas: 8% (1607/20081)
Resolving deltas: 9% (1808/20081)
Resolving deltas: 10% (2010/20081)
Resolving deltas: 11% (2209/20081)
Resolving deltas: 12% (2411/20081)
Resolving deltas: 13% (2611/20081)
Resolving deltas: 14% (2813/20081)
Resolving deltas: 15% (3014/20081)
Resolving deltas: 16% (3213/20081)
Resolving deltas: 17% (3415/20081)
Resolving deltas: 18% (3615/20081)
Resolving deltas: 19% (3816/20081)
Resolving deltas: 20% (4019/20081)
Resolving deltas: 21% (4218/20081)
Resolving deltas: 22% (4418/20081)
Resolving deltas: 23% (4620/20081)
Resolving deltas: 24% (4821/20081)
Resolving deltas: 25% (5021/20081)
Resolving deltas: 26% (5222/20081)
Resolving deltas: 27% (5423/20081)
Resolving deltas: 28% (5623/20081)
Resolving deltas: 29% (5824/20081)
Resolving deltas: 30% (6025/20081)
Resolving deltas: 31% (6227/20081)
Resolving deltas: 32% (6429/20081)
Resolving deltas: 33% (6627/20081)
Resolving deltas: 34% (6828/20081)
Resolving deltas: 35% (7029/20081)
Resolving deltas: 36% (7231/20081)
Resolving deltas: 37% (7430/20081)
Resolving deltas: 38% (7631/20081)
Resolving deltas: 39% (7832/20081)
Resolving deltas: 40% (8033/20081)
Resolving deltas: 41% (8234/20081)
Resolving deltas: 42% (8435/20081)
Resolving deltas: 43% (8635/20081)
Resolving deltas: 44% (8836/20081)
Resolving deltas: 45% (9037/20081)
Resolving deltas: 46% (9238/20081)
Resolving deltas: 47% (9439/20081)
Resolving deltas: 48% (9639/20081)
Resolving deltas: 49% (9840/20081)
Resolving deltas: 50% (10041/20081)
Resolving deltas: 51% (10242/20081)
Resolving deltas: 52% (10443/20081)
Resolving deltas: 53% (10643/20081)
Resolving deltas: 54% (10844/20081)
Resolving deltas: 55% (11045/20081)
Resolving deltas: 56% (11246/20081)
Resolving deltas: 57% (11447/20081)
Resolving deltas: 58% (11647/20081)
Resolving deltas: 59% (11848/20081)
Resolving deltas: 60% (12049/20081)
Resolving deltas: 61% (12250/20081)
Resolving deltas: 62% (12451/20081)
Resolving deltas: 63% (12652/20081)
Resolving deltas: 64% (12852/20081)
Resolving deltas: 65% (13053/20081)
Resolving deltas: 66% (13254/20081)
Resolving deltas: 67% (13455/20081)
Resolving deltas: 68% (13656/20081)
Resolving deltas: 69% (13856/20081)
Resolving deltas: 70% (14057/20081)
Resolving deltas: 71% (14258/20081)
Resolving deltas: 72% (14459/20081)
Resolving deltas: 73% (14660/20081)
Resolving deltas: 74% (14860/20081)
Resolving deltas: 75% (15061/20081)
Resolving deltas: 76% (15262/20081)
Resolving deltas: 77% (15463/20081)
Resolving deltas: 78% (15664/20081)
Resolving deltas: 79% (15864/20081)
Resolving deltas: 80% (16065/20081)
Resolving deltas: 81% (16266/20081)
Resolving deltas: 82% (16467/20081)
Resolving deltas: 83% (16668/20081)
Resolving deltas: 84% (16869/20081)
Resolving deltas: 85% (17069/20081)
Resolving deltas: 86% (17270/20081)
Resolving deltas: 87% (17471/20081)
Resolving deltas: 88% (17672/20081)
Resolving deltas: 89% (17873/20081)
Resolving deltas: 90% (18073/20081)
Resolving deltas: 91% (18274/20081)
Resolving deltas: 92% (18475/20081)
Resolving deltas: 93% (18676/20081)
Resolving deltas: 94% (18877/20081)
Resolving deltas: 95% (19077/20081)
Resolving deltas: 96% (19278/20081)
Resolving deltas: 97% (19479/20081)
Resolving deltas: 98% (19680/20081)
Resolving deltas: 99% (19881/20081)
Resolving deltas: 100% (20081/20081)
Resolving deltas: 100% (20081/20081), completed with 2279 local objects.
* [new branch] 18532-epic-improvements-to-user-help-and-feature-discovery-within-gemini-cli -> 18532-epic-improvements-to-user-help-and-feature-discovery-within-gemini-cli
* [new branch] abhijit-2592/read-proj-dir-policy-file -> abhijit-2592/read-proj-dir-policy-file
2404e4fae8..b82b98e71b adaptiveThinkingBudget -> adaptiveThinkingBudget
49abf1fe16..e98f41fe86 add-native-binaries -> add-native-binaries
* [new branch] adibakm/fix-windows-tests -> adibakm/fix-windows-tests
* [new branch] adibakm/multi-select-ask-user -> adibakm/multi-select-ask-user
* [new branch] adibakm/persist-approval-mode-thinking -> adibakm/persist-approval-mode-thinking
* [new branch] afw/glob-search-exp -> afw/glob-search-exp
* [new branch] afw/read-exp-v3 -> afw/read-exp-v3
* [new branch] afw/read-file-exp -> afw/read-file-exp
* [new branch] afw/read-file-v2 -> afw/read-file-v2
* [new branch] ask-user/ghost-space -> ask-user/ghost-space
* [new branch] branch_xterm_test -> branch_xterm_test
+ 31942b1d2c...352d98e6d0 browser_use -> browser_use (forced update)
* [new branch] cb/explore -> cb/explore
* [new branch] cb/removesettings -> cb/removesettings
* [new branch] changelog-v0.29.0 -> changelog-v0.29.0
* [new branch] chore/nightly-version-bump-0.31.0-nightly.20260217.4fe86dbd4 -> chore/nightly-version-bump-0.31.0-nightly.20260217.4fe86dbd4
* [new branch] cleanup-core-unused -> cleanup-core-unused
* [new branch] cleanup-unexport-internals -> cleanup-unexport-internals
* [new branch] cleanup_branches -> cleanup_branches
* [new branch] doc-tooling-updates -> doc-tooling-updates
* [new branch] feat/a2a-streaming-support -> feat/a2a-streaming-support
cc78073add..c3d11e09e1 feat/card-component -> feat/card-component
* [new branch] feat/feature-lifecycle -> feat/feature-lifecycle
* [new branch] feat/insights-command -> feat/insights-command
* [new branch] feat/onboarding-telemetry -> feat/onboarding-telemetry
* [new branch] feat/redesign-header-compact -> feat/redesign-header-compact
* [new branch] feat/session-learnings-hook -> feat/session-learnings-hook
* [new branch] feat/thinking-ux-improvements -> feat/thinking-ux-improvements
* [new branch] feat/tool-name-validation-toml-policy -> feat/tool-name-validation-toml-policy
* [new branch] feature-hint-agent -> feature-hint-agent
* [new branch] feature-tristate-toggle-18547 -> feature-tristate-toggle-18547
* [new branch] feature/dense-tool-output-mods -> feature/dense-tool-output-mods
* [new branch] feature/edit-agnostic-matching -> feature/edit-agnostic-matching
* [new branch] feature/rich-data-visualization -> feature/rich-data-visualization
* [new branch] fix/ask-user-line-hiding -> fix/ask-user-line-hiding
* [new branch] fix/latex-arrows -> fix/latex-arrows
* [new branch] fix/memory-optimizations -> fix/memory-optimizations
* [new branch] fix/tool-description-resume-regression -> fix/tool-description-resume-regression
* [new branch] fix_commands -> fix_commands
* [new branch] galzahavi/add/deep-work -> galzahavi/add/deep-work
* [new branch] galzahavi/fix/envvar-issue -> galzahavi/fix/envvar-issue
40cdb85856..ae829e436d galzahavi/fix/headless-foldertrust -> galzahavi/fix/headless-foldertrust
* [new branch] galzahavi/fix/mcp-error -> galzahavi/fix/mcp-error
* [new branch] galzahavi/improve/refactor-xterm-to-ghosty -> galzahavi/improve/refactor-xterm-to-ghosty
* [new branch] gemini-cli-bye-witty -> gemini-cli-bye-witty
* [new branch] gemini-cli-chathistory-onexit -> gemini-cli-chathistory-onexit
* [new branch] gemini-cli-cifix -> gemini-cli-cifix
* [new branch] gemini-cli-deepwork -> gemini-cli-deepwork
* [new branch] gemini-cli-notification-macos -> gemini-cli-notification-macos
* [new branch] gemini-cli-visualizers -> gemini-cli-visualizers
* [new branch] gundermanc/frugal-reads-baseline -> gundermanc/frugal-reads-baseline
+ fa1709d0e3...0ba6bde93e gundermanc/generalist-behaviors -> gundermanc/generalist-behaviors (forced update)
* [new branch] gundermanc/implicit-return -> gundermanc/implicit-return
* [new branch] gundermanc/ranged-reads-baselin -> gundermanc/ranged-reads-baselin
* [new branch] gundermanc/ranged-reads2 -> gundermanc/ranged-reads2
* [new branch] gundermanc/script -> gundermanc/script
* [new branch] gundermanc/sub-agents-context -> gundermanc/sub-agents-context
* [new branch] gundermanc/tolerate-unknown-sse -> gundermanc/tolerate-unknown-sse
* [new branch] hotfix/v0.27.3/0.27.4/stable/cherry-pick-07056c8/pr-18656 -> hotfix/v0.27.3/0.27.4/stable/cherry-pick-07056c8/pr-18656
* [new branch] hotfix/v0.28.2/0.28.3/stable/cherry-pick-08e8eea/pr-18855 -> hotfix/v0.28.2/0.28.3/stable/cherry-pick-08e8eea/pr-18855
* [new branch] hotfix/v0.28.2/0.28.3/stable/cherry-pick-d0c6a56/pr-18976 -> hotfix/v0.28.2/0.28.3/stable/cherry-pick-d0c6a56/pr-18976
a90a4dfe5a..6d85b071a4 ide-fix-path -> ide-fix-path
df22fd22e7..d4e3fa2d32 jl/early-validate -> jl/early-validate
* [new branch] jl/model-steering -> jl/model-steering
* [new branch] jl/model-steering-2 -> jl/model-steering-2
* [new branch] jl/parallel-fc -> jl/parallel-fc
415070e504..a9653ca0a7 jl/subagent-route -> jl/subagent-route
77ed1428b7..130ad00cc6 logs_audit -> logs_audit
* [new branch] lsc-1771369291.211567 -> lsc-1771369291.211567
* [new branch] lsc-1771369588.4420936 -> lsc-1771369588.4420936
* [new branch] lsc-1771370058.790333 -> lsc-1771370058.790333
* [new branch] lsc-1771370094.3587093 -> lsc-1771370094.3587093
* [new branch] lsc-1771370195.545553 -> lsc-1771370195.545553
* [new branch] lsc-1771370391.1395528 -> lsc-1771370391.1395528
* [new branch] lsc-1771370562.2932103 -> lsc-1771370562.2932103
* [new branch] lsc-1771370704.0402668 -> lsc-1771370704.0402668
* [new branch] lsc-1771371260.144281 -> lsc-1771371260.144281
* [new branch] lsc-1771371557.037686 -> lsc-1771371557.037686
* [new branch] lsc-1771371564.7493749 -> lsc-1771371564.7493749
* [new branch] lsc-1771371572.8860269 -> lsc-1771371572.8860269
* [new branch] lsc-1771371643.8277044 -> lsc-1771371643.8277044
* [new branch] lsc-1771371689.851472 -> lsc-1771371689.851472
* [new branch] lsc-1771371807.2761717 -> lsc-1771371807.2761717
* [new branch] lsc-1771371840.422647 -> lsc-1771371840.422647
* [new branch] lsc-1771371844.9928744 -> lsc-1771371844.9928744
* [new branch] lsc-1771371977.008498 -> lsc-1771371977.008498
* [new branch] lsc-1771372062.7282617 -> lsc-1771372062.7282617
* [new branch] lsc-1771372108.4891157 -> lsc-1771372108.4891157
* [new branch] lsc-1771372165.3559613 -> lsc-1771372165.3559613
* [new branch] lsc-1771372760.6772738 -> lsc-1771372760.6772738
* [new branch] lsc-1771373136.1149635 -> lsc-1771373136.1149635
* [new branch] lsc-1771373332.3058417 -> lsc-1771373332.3058417
* [new branch] lsc-1771374684.2324746 -> lsc-1771374684.2324746
* [new branch] lsc-1771374729.5477226 -> lsc-1771374729.5477226
* [new branch] lsc-1771374937.2286239 -> lsc-1771374937.2286239
* [new branch] lsc-1771374987.6795566 -> lsc-1771374987.6795566
* [new branch] lsc-1771375026.277134 -> lsc-1771375026.277134
* [new branch] lsc-1771375118.6873019 -> lsc-1771375118.6873019
* [new branch] lsc-1771375284.6550832 -> lsc-1771375284.6550832
* [new branch] lsc-1771375420.842254 -> lsc-1771375420.842254
* [new branch] lsc-1771375525.7835817 -> lsc-1771375525.7835817
* [new branch] lsc-1771375751.7114542 -> lsc-1771375751.7114542
* [new branch] lsc-1771375882.812356 -> lsc-1771375882.812356
* [new branch] lsc-1771375934.7084198 -> lsc-1771375934.7084198
* [new branch] lsc-1771376010.4945498 -> lsc-1771376010.4945498
* [new branch] lsc-1771376375.2609155 -> lsc-1771376375.2609155
* [new branch] lsc-1771376452.3649328 -> lsc-1771376452.3649328
* [new branch] lsc-1771376460.7994323 -> lsc-1771376460.7994323
* [new branch] lsc-1771376598.8942788 -> lsc-1771376598.8942788
* [new branch] lsc-1771376796.416184 -> lsc-1771376796.416184
* [new branch] lsc-1771376924.1839235 -> lsc-1771376924.1839235
* [new branch] lsc-1771377288.6460342 -> lsc-1771377288.6460342
* [new branch] lsc-1771377358.0323262 -> lsc-1771377358.0323262
* [new branch] lsc-1771377559.859954 -> lsc-1771377559.859954
* [new branch] lsc-1771377801.3393683 -> lsc-1771377801.3393683
* [new branch] lsc-1771377895.0769706 -> lsc-1771377895.0769706
* [new branch] lsc-1771378113.0565193 -> lsc-1771378113.0565193
* [new branch] lsc-1771378541.7584424 -> lsc-1771378541.7584424
* [new branch] lsc-1771378943.5574265 -> lsc-1771378943.5574265
* [new branch] lsc-1771379176.437795 -> lsc-1771379176.437795
* [new branch] lsc-1771379878.6161523 -> lsc-1771379878.6161523
* [new branch] lsc-1771380172.0916808 -> lsc-1771380172.0916808
* [new branch] lsc-1771380728.0260332 -> lsc-1771380728.0260332
* [new branch] lsc-1771380950.6103644 -> lsc-1771380950.6103644
* [new branch] lsc-1771381102.020183 -> lsc-1771381102.020183
* [new branch] lsc-1771381219.3959095 -> lsc-1771381219.3959095
* [new branch] lsc-1771382139.479306 -> lsc-1771382139.479306
* [new branch] lsc-1771382185.0706525 -> lsc-1771382185.0706525
* [new branch] lsc-1771382492.156495 -> lsc-1771382492.156495
* [new branch] lsc-1771382782.7609136 -> lsc-1771382782.7609136
* [new branch] lsc-1771382871.4001174 -> lsc-1771382871.4001174
* [new branch] lsc-1771383261.4159298 -> lsc-1771383261.4159298
* [new branch] lsc-1771383500.864145 -> lsc-1771383500.864145
* [new branch] lsc-1771383775.2559566 -> lsc-1771383775.2559566
* [new branch] lsc-1771383827.300714 -> lsc-1771383827.300714
* [new branch] lsc-1771384285.430149 -> lsc-1771384285.430149
* [new branch] lsc-1771384597.504289 -> lsc-1771384597.504289
* [new branch] lsc-1771384666.0373445 -> lsc-1771384666.0373445
* [new branch] lsc-1771385011.2295616 -> lsc-1771385011.2295616
* [new branch] lsc-1771385367.469757 -> lsc-1771385367.469757
4a48d7cf93..fe65d562de main -> main
* [new branch] make_memory_usual -> make_memory_usual
* [new branch] mk-agentfactory -> mk-agentfactory
* [new branch] mk-why-warnings -> mk-why-warnings
* [new branch] mshanware/17690-extensible-plan-mode -> mshanware/17690-extensible-plan-mode
* [new branch] ntaylormullen/fix-unauthorized-tool-calls -> ntaylormullen/fix-unauthorized-tool-calls
* [new branch] ntm/eval-tool-output-masking -> ntm/eval-tool-output-masking
* [new branch] ntm/gh.6590 -> ntm/gh.6590
* [new branch] ntm/gh.enforce-non-interactive-scaffolding -> ntm/gh.enforce-non-interactive-scaffolding
* [new branch] ntm/repro-hook-flakiness -> ntm/repro-hook-flakiness
* [new branch] refactor-bug -> refactor-bug
* [new branch] refactor-bulky-tools-v2 -> refactor-bulky-tools-v2
* [new branch] refactor/border-styling -> refactor/border-styling
* [new branch] release-note-fix -> release-note-fix
* [new branch] release/v0.27.3-pr-18478 -> release/v0.27.3-pr-18478
* [new branch] release/v0.27.3-pr-18656 -> release/v0.27.3-pr-18656
* [new branch] release/v0.28.0-pr-18478 -> release/v0.28.0-pr-18478
* [new branch] release/v0.28.0-preview.5-pr-18406 -> release/v0.28.0-preview.5-pr-18406
* [new branch] release/v0.28.0-preview.6-pr-18407 -> release/v0.28.0-preview.6-pr-18407
* [new branch] release/v0.28.0-preview.6-pr-18478 -> release/v0.28.0-preview.6-pr-18478
* [new branch] release/v0.28.0-preview.6-pr-18656 -> release/v0.28.0-preview.6-pr-18656
* [new branch] release/v0.28.1-pr-18840 -> release/v0.28.1-pr-18840
* [new branch] release/v0.28.2-pr-18855 -> release/v0.28.2-pr-18855
* [new branch] release/v0.28.2-pr-18976 -> release/v0.28.2-pr-18976
* [new branch] release/v0.29.0-nightly.20260209.da66c7c0d -> release/v0.29.0-nightly.20260209.da66c7c0d
* [new branch] release/v0.29.0-preview.0-pr-18840 -> release/v0.29.0-preview.0-pr-18840
* [new branch] release/v0.29.0-preview.1 -> release/v0.29.0-preview.1
* [new branch] release/v0.29.0-preview.1-pr-18855 -> release/v0.29.0-preview.1-pr-18855
* [new branch] release/v0.29.0-preview.2-pr-18976 -> release/v0.29.0-preview.2-pr-18976
* [new branch] release/v0.29.0-preview.3-pr-19254 -> release/v0.29.0-preview.3-pr-19254
* [new branch] release/v0.29.0-preview.4-pr-18771 -> release/v0.29.0-preview.4-pr-18771
* [new branch] release/v0.30.0-nightly.20260210.8257ec447 -> release/v0.30.0-nightly.20260210.8257ec447
* [new branch] release/v0.30.0-nightly.20260211.0d034b8c1 -> release/v0.30.0-nightly.20260211.0d034b8c1
* [new branch] release/v0.30.0-nightly.20260211.f5dd1068f -> release/v0.30.0-nightly.20260211.f5dd1068f
* [new branch] release/v0.30.0-nightly.20260212.099aa9621 -> release/v0.30.0-nightly.20260212.099aa9621
* [new branch] release/v0.30.0-nightly.20260212.207ac6f2d -> release/v0.30.0-nightly.20260212.207ac6f2d
* [new branch] remote-agent -> remote-agent
* [new branch] remove-extra-space -> remove-extra-space
* [new branch] revert-17353 -> revert-17353
* [new branch] revert-18838-cb/genericlist -> revert-18838-cb/genericlist
* [new branch] sdk-05-refactor-session -> sdk-05-refactor-session
* [new branch] sdk-06-hooks-base -> sdk-06-hooks-base
* [new branch] sdk-07-hooks-agent -> sdk-07-hooks-agent
* [new branch] search_updates -> search_updates
* [new branch] sehoon/disable_todo -> sehoon/disable_todo
* [new branch] session-ttl-warning -> session-ttl-warning
* [new branch] st-edit-tools-schema -> st-edit-tools-schema
* [new branch] st/devtools-monorepo -> st/devtools-monorepo
* [new branch] st/edit/trailing-newline -> st/edit/trailing-newline
* [new branch] statusline -> statusline
* [new branch] task/subprocess_xml_tagging -> task/subprocess_xml_tagging
* [new branch] tomm_forward -> tomm_forward
2d86f7760f..172ec8f92a ui-subdue-colors -> ui-subdue-colors
* [new branch] update-plan-mode-interactivity -> update-plan-mode-interactivity
* [new branch] yunaseol/security -> yunaseol/security
+ ce6e618bd9...7f7751f5e1 refs/pull/12766/merge -> refs/pull/12766/merge (forced update)
+ ddf3296525...1ad3244571 refs/pull/13193/head -> refs/pull/13193/head (forced update)
+ bd859d8d86...7237bc6de2 refs/pull/13193/merge -> refs/pull/13193/merge (forced update)
c3d12661ca..b59ea18252 refs/pull/14915/head -> refs/pull/14915/head
+ 8d82ca9b83...a57455f09b refs/pull/14923/merge -> refs/pull/14923/merge (forced update)
f1c8149c17..2903040c15 refs/pull/14927/head -> refs/pull/14927/head
+ 8b2376a316...b44be5cf72 refs/pull/14927/merge -> refs/pull/14927/merge (forced update)
+ 82555c7a31...7b843d98ec refs/pull/14950/merge -> refs/pull/14950/merge (forced update)
+ dbf862ea4f...48d0dc8349 refs/pull/15504/merge -> refs/pull/15504/merge (forced update)
+ 90a17221bc...2c548d4562 refs/pull/15565/merge -> refs/pull/15565/merge (forced update)
+ 412e352e5d...7c4ca308f4 refs/pull/15791/merge -> refs/pull/15791/merge (forced update)
89ec5cb3a3..217a6ec8f3 refs/pull/15842/head -> refs/pull/15842/head
+ b77fa9d58f...f152541bc4 refs/pull/15842/merge -> refs/pull/15842/merge (forced update)
+ 3ffc1a7dbe...5e5b824efb refs/pull/15860/merge -> refs/pull/15860/merge (forced update)
+ ad6a014a32...4cb76c048f refs/pull/15889/merge -> refs/pull/15889/merge (forced update)
+ f7f3399406...c09af2c561 refs/pull/16010/merge -> refs/pull/16010/merge (forced update)
+ e4ee053975...8cccd9f470 refs/pull/16131/merge -> refs/pull/16131/merge (forced update)
+ 4da1cbee8b...f497995d73 refs/pull/16193/merge -> refs/pull/16193/merge (forced update)
+ 1ba9973582...a38c9a0d58 refs/pull/16700/merge -> refs/pull/16700/merge (forced update)
+ 08eb7af6d6...97532c2fe1 refs/pull/16702/merge -> refs/pull/16702/merge (forced update)
+ 7da2ccb6ed...39b3cde6e4 refs/pull/16848/merge -> refs/pull/16848/merge (forced update)
+ 8c6d171792...452e35ec85 refs/pull/16930/merge -> refs/pull/16930/merge (forced update)
+ bc4b0c92f2...1adc270a67 refs/pull/16965/head -> refs/pull/16965/head (forced update)
+ 0904693f70...bd746e011b refs/pull/16965/merge -> refs/pull/16965/merge (forced update)
+ 71fd061d85...c2384aa398 refs/pull/17212/merge -> refs/pull/17212/merge (forced update)
3b32f57514..9810bdbabe refs/pull/17231/head -> refs/pull/17231/head
+ cf1433d62f...6a0bdfa0d5 refs/pull/17231/merge -> refs/pull/17231/merge (forced update)
+ 1e86181a2a...a65ba9f2cc refs/pull/17304/merge -> refs/pull/17304/merge (forced update)
+ eb0fe67524...18c9004d0c refs/pull/17372/head -> refs/pull/17372/head (forced update)
* [new ref] refs/pull/17372/merge -> refs/pull/17372/merge
+ 64a045daa1...c79ca8592c refs/pull/17375/merge -> refs/pull/17375/merge (forced update)
+ 6d854c1aea...6c8450dcf7 refs/pull/17393/merge -> refs/pull/17393/merge (forced update)
+ fa1709d0e3...0ba6bde93e refs/pull/17394/head -> refs/pull/17394/head (forced update)
+ d2ab4f73cc...3ddffad8a1 refs/pull/17394/merge -> refs/pull/17394/merge (forced update)
+ 2b3eb77f1c...a21805e06d refs/pull/17397/merge -> refs/pull/17397/merge (forced update)
+ a6a79afec4...87b9baaeb7 refs/pull/17439/merge -> refs/pull/17439/merge (forced update)
+ 4bb94d3a2a...a60131a021 refs/pull/17468/merge -> refs/pull/17468/merge (forced update)
7547182ad1..ed3d1201e9 refs/pull/17478/head -> refs/pull/17478/head
+ 30ee6f17ae...95846b2387 refs/pull/17478/merge -> refs/pull/17478/merge (forced update)
+ d90da52eb9...b762b8c6e0 refs/pull/17586/merge -> refs/pull/17586/merge (forced update)
+ f710232436...4657ce7bd2 refs/pull/17630/head -> refs/pull/17630/head (forced update)
b72727af22..123802f7f1 refs/pull/17747/head -> refs/pull/17747/head
d0df89b013..be1192c881 refs/pull/17890/head -> refs/pull/17890/head
+ f98d8e3c82...b091388d56 refs/pull/17918/merge -> refs/pull/17918/merge (forced update)
+ 41c834c206...8925f0e18d refs/pull/17930/head -> refs/pull/17930/head (forced update)
+ 5f9ddd3f83...849711ba3f refs/pull/17930/merge -> refs/pull/17930/merge (forced update)
+ a6e6829b63...9c28f32657 refs/pull/17955/merge -> refs/pull/17955/merge (forced update)
+ 65624949d0...53e2b5f0a0 refs/pull/17978/head -> refs/pull/17978/head (forced update)
+ bde417fb1d...041ee65fbb refs/pull/17978/merge -> refs/pull/17978/merge (forced update)
+ 37ea5e9f6b...f6065d5177 refs/pull/17979/merge -> refs/pull/17979/merge (forced update)
+ 9cb13af99a...21527cd217 refs/pull/17981/head -> refs/pull/17981/head (forced update)
+ 47dd1aba84...b9c0d8151d refs/pull/17981/merge -> refs/pull/17981/merge (forced update)
+ 15fe5c69d5...40cc37160a refs/pull/17996/merge -> refs/pull/17996/merge (forced update)
+ 2eed39bf47...b8a2ad02fd refs/pull/18017/merge -> refs/pull/18017/merge (forced update)
+ d6ab664bfa...8273a72e79 refs/pull/18032/merge -> refs/pull/18032/merge (forced update)
cf6b34e309..a2281e236a refs/pull/18033/head -> refs/pull/18033/head
+ 792999a759...0449f71ecc refs/pull/18042/merge -> refs/pull/18042/merge (forced update)
+ 65f7135337...fb6a269f9e refs/pull/18048/merge -> refs/pull/18048/merge (forced update)
+ 73f667b2fb...af0d0dc826 refs/pull/18058/merge -> refs/pull/18058/merge (forced update)
+ 2d39b2bad2...94762e484f refs/pull/18071/merge -> refs/pull/18071/merge (forced update)
c7d101b166..48d60274bf refs/pull/18073/head -> refs/pull/18073/head
+ 51545189d7...4828ea2701 refs/pull/18095/merge -> refs/pull/18095/merge (forced update)
db6cbdde29..1318963b74 refs/pull/18103/head -> refs/pull/18103/head
d39ebd4caf..1eb6710c87 refs/pull/18150/head -> refs/pull/18150/head
+ 2287dd5600...b0315aec10 refs/pull/18150/merge -> refs/pull/18150/merge (forced update)
+ 835d52f394...8070a36542 refs/pull/18163/merge -> refs/pull/18163/merge (forced update)
5a5f24c846..5eee0d712d refs/pull/18167/head -> refs/pull/18167/head
9c887a40ca..ad4233afb2 refs/pull/18169/head -> refs/pull/18169/head
+ f887ff8d8b...c6628844ce refs/pull/18171/merge -> refs/pull/18171/merge (forced update)
+ a5802de050...b6472851a5 refs/pull/18174/merge -> refs/pull/18174/merge (forced update)
+ 8bcbe194bd...ef4bb8bb49 refs/pull/18177/merge -> refs/pull/18177/merge (forced update)
+ 60b42849b9...c6bc987e6e refs/pull/18182/merge -> refs/pull/18182/merge (forced update)
+ 441af9008f...1f4b3ef114 refs/pull/18190/merge -> refs/pull/18190/merge (forced update)
+ 39bad22e56...8e00fed0d1 refs/pull/18203/head -> refs/pull/18203/head (forced update)
+ c999aff74f...f667d7b6dc refs/pull/18213/merge -> refs/pull/18213/merge (forced update)
+ 5b815e6773...c33caf8b8a refs/pull/18227/merge -> refs/pull/18227/merge (forced update)
+ 6291577c45...ab4b49e5ed refs/pull/18237/head -> refs/pull/18237/head (forced update)
+ a3de532ce6...1e404442a8 refs/pull/18237/merge -> refs/pull/18237/merge (forced update)
d26e593355..ab8cae1157 refs/pull/18240/head -> refs/pull/18240/head
+ 1649de534a...7a6c5bbcde refs/pull/18275/merge -> refs/pull/18275/merge (forced update)
+ 002583667c...0a058af419 refs/pull/18301/head -> refs/pull/18301/head (forced update)
+ f58a1f60ef...bf9eb98231 refs/pull/18301/merge -> refs/pull/18301/merge (forced update)
+ 190e551375...209635babd refs/pull/18322/merge -> refs/pull/18322/merge (forced update)
+ f768864bc3...5d61b2d25f refs/pull/18339/merge -> refs/pull/18339/merge (forced update)
+ aab808c7cf...b03dd95acb refs/pull/18340/merge -> refs/pull/18340/merge (forced update)
+ aa9a2a333e...629bb5c3b4 refs/pull/18350/head -> refs/pull/18350/head (forced update)
+ 0cab366998...7e2c7115b4 refs/pull/18354/head -> refs/pull/18354/head (forced update)
cc78073add..c3d11e09e1 refs/pull/18363/head -> refs/pull/18363/head
+ 369570126e...6d2747c7cb refs/pull/18363/merge -> refs/pull/18363/merge (forced update)
+ 53fbcd97ef...ac1d641eee refs/pull/18378/merge -> refs/pull/18378/merge (forced update)
+ ebe54e148c...a3de74e38c refs/pull/18387/merge -> refs/pull/18387/merge (forced update)
6eab93457e..ea78b6e4ae refs/pull/18403/head -> refs/pull/18403/head
+ 84d00dba90...eea0b9b183 refs/pull/18404/head -> refs/pull/18404/head (forced update)
+ 8f9f980f33...af8aa66011 refs/pull/18404/merge -> refs/pull/18404/merge (forced update)
40cdb85856..97d2b84d79 refs/pull/18407/head -> refs/pull/18407/head
ec76e2e2b5..233a3ff943 refs/pull/18409/head -> refs/pull/18409/head
+ 0e394d7f4c...09771cf844 refs/pull/18421/head -> refs/pull/18421/head (forced update)
+ 51bd80dacf...65c3f11130 refs/pull/18424/merge -> refs/pull/18424/merge (forced update)
+ 9a77dc1c9e...b55a1beb08 refs/pull/18427/merge -> refs/pull/18427/merge (forced update)
+ 19403c3118...d06b98b9e1 refs/pull/18428/merge -> refs/pull/18428/merge (forced update)
b6adcb1ff7..d2a62568e8 refs/pull/18440/head -> refs/pull/18440/head
0fb370c7b3..157362d126 refs/pull/18443/head -> refs/pull/18443/head
+ 50cd364e0a...72862edc12 refs/pull/18443/merge -> refs/pull/18443/merge (forced update)
+ a989d41d4e...02bf8526aa refs/pull/18448/merge -> refs/pull/18448/merge (forced update)
+ b13fe91761...a55f822b01 refs/pull/18458/merge -> refs/pull/18458/merge (forced update)
+ 1b2e8875cc...215459a953 refs/pull/18470/head -> refs/pull/18470/head (forced update)
2195461264..f530f1aa19 refs/pull/18478/head -> refs/pull/18478/head
+ 4e21f8350a...1b14752890 refs/pull/18485/merge -> refs/pull/18485/merge (forced update)
+ a14c26882e...3ff2554b68 refs/pull/18486/merge -> refs/pull/18486/merge (forced update)
+ 7a6a42c8c0...b86b1a1b26 refs/pull/18499/head -> refs/pull/18499/head (forced update)
+ 3cf87a1a22...50f7bae0eb refs/pull/18499/merge -> refs/pull/18499/merge (forced update)
82c3c0a0e3..0449c51f05 refs/pull/18500/head -> refs/pull/18500/head
+ 9d92adde98...477768100b refs/pull/18502/merge -> refs/pull/18502/merge (forced update)
fae21779e0..92d11270e2 refs/pull/18506/head -> refs/pull/18506/head
+ 6d2fc32d5f...88cb82b6e6 refs/pull/18508/head -> refs/pull/18508/head (forced update)
d47dd7cb5d..9e540e7ff2 refs/pull/18510/head -> refs/pull/18510/head
+ 93065060b6...72c30ec7cc refs/pull/18519/merge -> refs/pull/18519/merge (forced update)
+ ec050ee553...565c6d4c81 refs/pull/18521/merge -> refs/pull/18521/merge (forced update)
+ 41af96f6a2...6645323e2e refs/pull/18522/merge -> refs/pull/18522/merge (forced update)
+ 9f3f144812...67a626d674 refs/pull/18530/merge -> refs/pull/18530/merge (forced update)
+ 69f7efc3ab...e204bd23f9 refs/pull/18538/head -> refs/pull/18538/head (forced update)
72b80b658f..654d63f912 refs/pull/18541/head -> refs/pull/18541/head
+ 537583c64e...75ef06e37b refs/pull/18544/head -> refs/pull/18544/head (forced update)
19d790d98e..35267450ba refs/pull/18548/head -> refs/pull/18548/head
+ 157a157f21...2c58738a1e refs/pull/18548/merge -> refs/pull/18548/merge (forced update)
+ 4370ee7b0d...7cdf6fb586 refs/pull/18552/merge -> refs/pull/18552/merge (forced update)
+ 24296b23d1...497bbc62d5 refs/pull/18555/head -> refs/pull/18555/head (forced update)
+ 31a8d0e687...5b2efbe242 refs/pull/18557/head -> refs/pull/18557/head (forced update)
+ 10898ab942...f2af4c6a7a refs/pull/18558/head -> refs/pull/18558/head (forced update)
+ 3754d1f491...e5408c608a refs/pull/18561/head -> refs/pull/18561/head (forced update)
553293a4f1..b84aa67e13 refs/pull/18562/head -> refs/pull/18562/head
615926879f..b1486ebc91 refs/pull/18563/head -> refs/pull/18563/head
+ 55c0876998...7d2d7c848c refs/pull/18564/head -> refs/pull/18564/head (forced update)
+ d0df1f339f...b6141535e2 refs/pull/18566/head -> refs/pull/18566/head (forced update)
+ cd89ffd647...77d4c6561e refs/pull/18567/head -> refs/pull/18567/head (forced update)
+ 2f0c8a52f0...a73bf00b3e refs/pull/18569/head -> refs/pull/18569/head (forced update)
2d86f7760f..2d13d9849b refs/pull/18570/head -> refs/pull/18570/head
+ 157c0ad95c...c52394bc6b refs/pull/18572/merge -> refs/pull/18572/merge (forced update)
+ 7a66df81d1...2e4916edf1 refs/pull/18575/merge -> refs/pull/18575/merge (forced update)
* [new ref] refs/pull/18577/head -> refs/pull/18577/head
* [new ref] refs/pull/18581/head -> refs/pull/18581/head
* [new ref] refs/pull/18581/merge -> refs/pull/18581/merge
* [new ref] refs/pull/18582/head -> refs/pull/18582/head
* [new ref] refs/pull/18583/head -> refs/pull/18583/head
* [new ref] refs/pull/18584/head -> refs/pull/18584/head
* [new ref] refs/pull/18586/head -> refs/pull/18586/head
* [new ref] refs/pull/18587/head -> refs/pull/18587/head
* [new ref] refs/pull/18590/head -> refs/pull/18590/head
* [new ref] refs/pull/18592/head -> refs/pull/18592/head
* [new ref] refs/pull/18595/head -> refs/pull/18595/head
* [new ref] refs/pull/18596/head -> refs/pull/18596/head
* [new ref] refs/pull/18597/head -> refs/pull/18597/head
* [new ref] refs/pull/18598/head -> refs/pull/18598/head
* [new ref] refs/pull/18599/head -> refs/pull/18599/head
* [new ref] refs/pull/18600/head -> refs/pull/18600/head
* [new ref] refs/pull/18601/head -> refs/pull/18601/head
* [new ref] refs/pull/18603/head -> refs/pull/18603/head
* [new ref] refs/pull/18604/head -> refs/pull/18604/head
* [new ref] refs/pull/18604/merge -> refs/pull/18604/merge
* [new ref] refs/pull/18605/head -> refs/pull/18605/head
* [new ref] refs/pull/18607/head -> refs/pull/18607/head
* [new ref] refs/pull/18607/merge -> refs/pull/18607/merge
* [new ref] refs/pull/18608/head -> refs/pull/18608/head
* [new ref] refs/pull/18609/head -> refs/pull/18609/head
* [new ref] refs/pull/18609/merge -> refs/pull/18609/merge
* [new ref] refs/pull/18610/head -> refs/pull/18610/head
* [new ref] refs/pull/18613/head -> refs/pull/18613/head
* [new ref] refs/pull/18614/head -> refs/pull/18614/head
* [new ref] refs/pull/18615/head -> refs/pull/18615/head
* [new ref] refs/pull/18616/head -> refs/pull/18616/head
* [new ref] refs/pull/18617/head -> refs/pull/18617/head
* [new ref] refs/pull/18634/head -> refs/pull/18634/head
* [new ref] refs/pull/18634/merge -> refs/pull/18634/merge
* [new ref] refs/pull/18636/head -> refs/pull/18636/head
* [new ref] refs/pull/18638/head -> refs/pull/18638/head
* [new ref] refs/pull/18639/head -> refs/pull/18639/head
* [new ref] refs/pull/18641/head -> refs/pull/18641/head
* [new ref] refs/pull/18644/head -> refs/pull/18644/head
* [new ref] refs/pull/18645/head -> refs/pull/18645/head
* [new ref] refs/pull/18645/merge -> refs/pull/18645/merge
* [new ref] refs/pull/18648/head -> refs/pull/18648/head
* [new ref] refs/pull/18650/head -> refs/pull/18650/head
* [new ref] refs/pull/18651/head -> refs/pull/18651/head
* [new ref] refs/pull/18653/head -> refs/pull/18653/head
* [new ref] refs/pull/18655/head -> refs/pull/18655/head
* [new ref] refs/pull/18655/merge -> refs/pull/18655/merge
* [new ref] refs/pull/18656/head -> refs/pull/18656/head
* [new ref] refs/pull/18657/head -> refs/pull/18657/head
* [new ref] refs/pull/18658/head -> refs/pull/18658/head
* [new ref] refs/pull/18658/merge -> refs/pull/18658/merge
* [new ref] refs/pull/18659/head -> refs/pull/18659/head
* [new ref] refs/pull/18661/head -> refs/pull/18661/head
* [new ref] refs/pull/18662/head -> refs/pull/18662/head
* [new ref] refs/pull/18663/head -> refs/pull/18663/head
* [new ref] refs/pull/18664/head -> refs/pull/18664/head
* [new ref] refs/pull/18665/head -> refs/pull/18665/head
* [new ref] refs/pull/18667/head -> refs/pull/18667/head
* [new ref] refs/pull/18668/head -> refs/pull/18668/head
* [new ref] refs/pull/18668/merge -> refs/pull/18668/merge
* [new ref] refs/pull/18669/head -> refs/pull/18669/head
* [new ref] refs/pull/18669/merge -> refs/pull/18669/merge
* [new ref] refs/pull/18670/head -> refs/pull/18670/head
* [new ref] refs/pull/18671/head -> refs/pull/18671/head
* [new ref] refs/pull/18672/head -> refs/pull/18672/head
* [new ref] refs/pull/18673/head -> refs/pull/18673/head
* [new ref] refs/pull/18675/head -> refs/pull/18675/head
* [new ref] refs/pull/18676/head -> refs/pull/18676/head
* [new ref] refs/pull/18677/head -> refs/pull/18677/head
* [new ref] refs/pull/18678/head -> refs/pull/18678/head
* [new ref] refs/pull/18681/head -> refs/pull/18681/head
* [new ref] refs/pull/18682/head -> refs/pull/18682/head
* [new ref] refs/pull/18682/merge -> refs/pull/18682/merge
* [new ref] refs/pull/18683/head -> refs/pull/18683/head
* [new ref] refs/pull/18685/head -> refs/pull/18685/head
* [new ref] refs/pull/18685/merge -> refs/pull/18685/merge
* [new ref] refs/pull/18686/head -> refs/pull/18686/head
* [new ref] refs/pull/18688/head -> refs/pull/18688/head
* [new ref] refs/pull/18690/head -> refs/pull/18690/head
* [new ref] refs/pull/18691/head -> refs/pull/18691/head
* [new ref] refs/pull/18691/merge -> refs/pull/18691/merge
* [new ref] refs/pull/18693/head -> refs/pull/18693/head
* [new ref] refs/pull/18695/head -> refs/pull/18695/head
* [new ref] refs/pull/18696/head -> refs/pull/18696/head
* [new ref] refs/pull/18696/merge -> refs/pull/18696/merge
* [new ref] refs/pull/18697/head -> refs/pull/18697/head
* [new ref] refs/pull/18698/head -> refs/pull/18698/head
* [new ref] refs/pull/18704/head -> refs/pull/18704/head
* [new ref] refs/pull/18705/head -> refs/pull/18705/head
* [new ref] refs/pull/18707/head -> refs/pull/18707/head
* [new ref] refs/pull/18709/head -> refs/pull/18709/head
* [new ref] refs/pull/18709/merge -> refs/pull/18709/merge
* [new ref] refs/pull/18710/head -> refs/pull/18710/head
* [new ref] refs/pull/18711/head -> refs/pull/18711/head
* [new ref] refs/pull/18713/head -> refs/pull/18713/head
* [new ref] refs/pull/18713/merge -> refs/pull/18713/merge
* [new ref] refs/pull/18714/head -> refs/pull/18714/head
* [new ref] refs/pull/18720/head -> refs/pull/18720/head
* [new ref] refs/pull/18721/head -> refs/pull/18721/head
* [new ref] refs/pull/18721/merge -> refs/pull/18721/merge
* [new ref] refs/pull/18725/head -> refs/pull/18725/head
* [new ref] refs/pull/18725/merge -> refs/pull/18725/merge
* [new ref] refs/pull/18728/head -> refs/pull/18728/head
* [new ref] refs/pull/18732/head -> refs/pull/18732/head
* [new ref] refs/pull/18733/head -> refs/pull/18733/head
* [new ref] refs/pull/18734/head -> refs/pull/18734/head
* [new ref] refs/pull/18736/head -> refs/pull/18736/head
* [new ref] refs/pull/18737/head -> refs/pull/18737/head
* [new ref] refs/pull/18739/head -> refs/pull/18739/head
* [new ref] refs/pull/18741/head -> refs/pull/18741/head
* [new ref] refs/pull/18743/head -> refs/pull/18743/head
* [new ref] refs/pull/18747/head -> refs/pull/18747/head
* [new ref] refs/pull/18749/head -> refs/pull/18749/head
* [new ref] refs/pull/18752/head -> refs/pull/18752/head
* [new ref] refs/pull/18753/head -> refs/pull/18753/head
* [new ref] refs/pull/18753/merge -> refs/pull/18753/merge
* [new ref] refs/pull/18755/head -> refs/pull/18755/head
* [new ref] refs/pull/18756/head -> refs/pull/18756/head
* [new ref] refs/pull/18757/head -> refs/pull/18757/head
* [new ref] refs/pull/18759/head -> refs/pull/18759/head
* [new ref] refs/pull/18762/head -> refs/pull/18762/head
* [new ref] refs/pull/18766/head -> refs/pull/18766/head
* [new ref] refs/pull/18767/head -> refs/pull/18767/head
* [new ref] refs/pull/18769/head -> refs/pull/18769/head
* [new ref] refs/pull/18769/merge -> refs/pull/18769/merge
* [new ref] refs/pull/18770/head -> refs/pull/18770/head
* [new ref] refs/pull/18771/head -> refs/pull/18771/head
* [new ref] refs/pull/18772/head -> refs/pull/18772/head
* [new ref] refs/pull/18773/head -> refs/pull/18773/head
* [new ref] refs/pull/18774/head -> refs/pull/18774/head
* [new ref] refs/pull/18774/merge -> refs/pull/18774/merge
* [new ref] refs/pull/18775/head -> refs/pull/18775/head
* [new ref] refs/pull/18775/merge -> refs/pull/18775/merge
* [new ref] refs/pull/18777/head -> refs/pull/18777/head
* [new ref] refs/pull/18778/head -> refs/pull/18778/head
* [new ref] refs/pull/18780/head -> refs/pull/18780/head
* [new ref] refs/pull/18783/head -> refs/pull/18783/head
* [new ref] refs/pull/18785/head -> refs/pull/18785/head
* [new ref] refs/pull/18785/merge -> refs/pull/18785/merge
* [new ref] refs/pull/18786/head -> refs/pull/18786/head
* [new ref] refs/pull/18787/head -> refs/pull/18787/head
* [new ref] refs/pull/18791/head -> refs/pull/18791/head
* [new ref] refs/pull/18791/merge -> refs/pull/18791/merge
* [new ref] refs/pull/18793/head -> refs/pull/18793/head
* [new ref] refs/pull/18794/head -> refs/pull/18794/head
* [new ref] refs/pull/18795/head -> refs/pull/18795/head
* [new ref] refs/pull/18796/head -> refs/pull/18796/head
* [new ref] refs/pull/18796/merge -> refs/pull/18796/merge
* [new ref] refs/pull/18797/head -> refs/pull/18797/head
* [new ref] refs/pull/18798/head -> refs/pull/18798/head
* [new ref] refs/pull/18798/merge -> refs/pull/18798/merge
* [new ref] refs/pull/18799/head -> refs/pull/18799/head
* [new ref] refs/pull/18802/head -> refs/pull/18802/head
* [new ref] refs/pull/18804/head -> refs/pull/18804/head
* [new ref] refs/pull/18813/head -> refs/pull/18813/head
* [new ref] refs/pull/18813/merge -> refs/pull/18813/merge
* [new ref] refs/pull/18814/head -> refs/pull/18814/head
* [new ref] refs/pull/18814/merge -> refs/pull/18814/merge
* [new ref] refs/pull/18817/head -> refs/pull/18817/head
* [new ref] refs/pull/18819/head -> refs/pull/18819/head
* [new ref] refs/pull/18820/head -> refs/pull/18820/head
* [new ref] refs/pull/18821/head -> refs/pull/18821/head
* [new ref] refs/pull/18822/head -> refs/pull/18822/head
* [new ref] refs/pull/18823/head -> refs/pull/18823/head
* [new ref] refs/pull/18824/head -> refs/pull/18824/head
* [new ref] refs/pull/18825/head -> refs/pull/18825/head
* [new ref] refs/pull/18827/head -> refs/pull/18827/head
* [new ref] refs/pull/18828/head -> refs/pull/18828/head
* [new ref] refs/pull/18828/merge -> refs/pull/18828/merge
* [new ref] refs/pull/18829/head -> refs/pull/18829/head
* [new ref] refs/pull/18830/head -> refs/pull/18830/head
* [new ref] refs/pull/18832/head -> refs/pull/18832/head
* [new ref] refs/pull/18835/head -> refs/pull/18835/head
* [new ref] refs/pull/18835/merge -> refs/pull/18835/merge
* [new ref] refs/pull/18837/head -> refs/pull/18837/head
* [new ref] refs/pull/18837/merge -> refs/pull/18837/merge
* [new ref] refs/pull/18838/head -> refs/pull/18838/head
* [new ref] refs/pull/18839/head -> refs/pull/18839/head
* [new ref] refs/pull/18839/merge -> refs/pull/18839/merge
* [new ref] refs/pull/18840/head -> refs/pull/18840/head
* [new ref] refs/pull/18841/head -> refs/pull/18841/head
* [new ref] refs/pull/18845/head -> refs/pull/18845/head
* [new ref] refs/pull/18846/head -> refs/pull/18846/head
* [new ref] refs/pull/18847/head -> refs/pull/18847/head
* [new ref] refs/pull/18848/head -> refs/pull/18848/head
* [new ref] refs/pull/18851/head -> refs/pull/18851/head
* [new ref] refs/pull/18852/head -> refs/pull/18852/head
* [new ref] refs/pull/18853/head -> refs/pull/18853/head
* [new ref] refs/pull/18854/head -> refs/pull/18854/head
* [new ref] refs/pull/18855/head -> refs/pull/18855/head
* [new ref] refs/pull/18857/head -> refs/pull/18857/head
* [new ref] refs/pull/18858/head -> refs/pull/18858/head
* [new ref] refs/pull/18858/merge -> refs/pull/18858/merge
* [new ref] refs/pull/18859/head -> refs/pull/18859/head
* [new ref] refs/pull/18859/merge -> refs/pull/18859/merge
* [new ref] refs/pull/18861/head -> refs/pull/18861/head
* [new ref] refs/pull/18862/head -> refs/pull/18862/head
* [new ref] refs/pull/18863/head -> refs/pull/18863/head
* [new ref] refs/pull/18864/head -> refs/pull/18864/head
* [new ref] refs/pull/18865/head -> refs/pull/18865/head
* [new ref] refs/pull/18866/head -> refs/pull/18866/head
* [new ref] refs/pull/18867/head -> refs/pull/18867/head
* [new ref] refs/pull/18869/head -> refs/pull/18869/head
* [new ref] refs/pull/18870/head -> refs/pull/18870/head
* [new ref] refs/pull/18873/head -> refs/pull/18873/head
* [new ref] refs/pull/18876/head -> refs/pull/18876/head
* [new ref] refs/pull/18878/head -> refs/pull/18878/head
* [new ref] refs/pull/18879/head -> refs/pull/18879/head
* [new ref] refs/pull/18879/merge -> refs/pull/18879/merge
* [new ref] refs/pull/18880/head -> refs/pull/18880/head
* [new ref] refs/pull/18880/merge -> refs/pull/18880/merge
* [new ref] refs/pull/18882/head -> refs/pull/18882/head
* [new ref] refs/pull/18883/head -> refs/pull/18883/head
* [new ref] refs/pull/18887/head -> refs/pull/18887/head
* [new ref] refs/pull/18889/head -> refs/pull/18889/head
* [new ref] refs/pull/18891/head -> refs/pull/18891/head
* [new ref] refs/pull/18891/merge -> refs/pull/18891/merge
* [new ref] refs/pull/18894/head -> refs/pull/18894/head
* [new ref] refs/pull/18898/head -> refs/pull/18898/head
* [new ref] refs/pull/18898/merge -> refs/pull/18898/merge
* [new ref] refs/pull/18902/head -> refs/pull/18902/head
* [new ref] refs/pull/18904/head -> refs/pull/18904/head
* [new ref] refs/pull/18904/merge -> refs/pull/18904/merge
* [new ref] refs/pull/18905/head -> refs/pull/18905/head
* [new ref] refs/pull/18916/head -> refs/pull/18916/head
* [new ref] refs/pull/18924/head -> refs/pull/18924/head
* [new ref] refs/pull/18924/merge -> refs/pull/18924/merge
* [new ref] refs/pull/18928/head -> refs/pull/18928/head
* [new ref] refs/pull/18931/head -> refs/pull/18931/head
* [new ref] refs/pull/18932/head -> refs/pull/18932/head
* [new ref] refs/pull/18932/merge -> refs/pull/18932/merge
* [new ref] refs/pull/18933/head -> refs/pull/18933/head
* [new ref] refs/pull/18933/merge -> refs/pull/18933/merge
* [new ref] refs/pull/18935/head -> refs/pull/18935/head
* [new ref] refs/pull/18936/head -> refs/pull/18936/head
* [new ref] refs/pull/18936/merge -> refs/pull/18936/merge
* [new ref] refs/pull/18938/head -> refs/pull/18938/head
* [new ref] refs/pull/18939/head -> refs/pull/18939/head
* [new ref] refs/pull/18941/head -> refs/pull/18941/head
* [new ref] refs/pull/18943/head -> refs/pull/18943/head
* [new ref] refs/pull/18944/head -> refs/pull/18944/head
* [new ref] refs/pull/18945/head -> refs/pull/18945/head
* [new ref] refs/pull/18945/merge -> refs/pull/18945/merge
* [new ref] refs/pull/18947/head -> refs/pull/18947/head
* [new ref] refs/pull/18948/head -> refs/pull/18948/head
* [new ref] refs/pull/18949/head -> refs/pull/18949/head
* [new ref] refs/pull/18950/head -> refs/pull/18950/head
* [new ref] refs/pull/18950/merge -> refs/pull/18950/merge
* [new ref] refs/pull/18952/head -> refs/pull/18952/head
* [new ref] refs/pull/18954/head -> refs/pull/18954/head
* [new ref] refs/pull/18955/head -> refs/pull/18955/head
* [new ref] refs/pull/18957/head -> refs/pull/18957/head
* [new ref] refs/pull/18958/head -> refs/pull/18958/head
* [new ref] refs/pull/18959/head -> refs/pull/18959/head
* [new ref] refs/pull/18963/head -> refs/pull/18963/head
* [new ref] refs/pull/18963/merge -> refs/pull/18963/merge
* [new ref] refs/pull/18965/head -> refs/pull/18965/head
* [new ref] refs/pull/18967/head -> refs/pull/18967/head
* [new ref] refs/pull/18969/head -> refs/pull/18969/head
* [new ref] refs/pull/18969/merge -> refs/pull/18969/merge
* [new ref] refs/pull/18970/head -> refs/pull/18970/head
* [new ref] refs/pull/18971/head -> refs/pull/18971/head
* [new ref] refs/pull/18972/head -> refs/pull/18972/head
* [new ref] refs/pull/18972/merge -> refs/pull/18972/merge
* [new ref] refs/pull/18973/head -> refs/pull/18973/head
* [new ref] refs/pull/18974/head -> refs/pull/18974/head
* [new ref] refs/pull/18975/head -> refs/pull/18975/head
* [new ref] refs/pull/18976/head -> refs/pull/18976/head
* [new ref] refs/pull/18977/head -> refs/pull/18977/head
* [new ref] refs/pull/18982/head -> refs/pull/18982/head
* [new ref] refs/pull/18982/merge -> refs/pull/18982/merge
* [new ref] refs/pull/18985/head -> refs/pull/18985/head
* [new ref] refs/pull/18988/head -> refs/pull/18988/head
* [new ref] refs/pull/18991/head -> refs/pull/18991/head
* [new ref] refs/pull/18992/head -> refs/pull/18992/head
* [new ref] refs/pull/18998/head -> refs/pull/18998/head
* [new ref] refs/pull/19001/head -> refs/pull/19001/head
* [new ref] refs/pull/19001/merge -> refs/pull/19001/merge
* [new ref] refs/pull/19004/head -> refs/pull/19004/head
* [new ref] refs/pull/19006/head -> refs/pull/19006/head
* [new ref] refs/pull/19008/head -> refs/pull/19008/head
* [new ref] refs/pull/19010/head -> refs/pull/19010/head
* [new ref] refs/pull/19010/merge -> refs/pull/19010/merge
* [new ref] refs/pull/19011/head -> refs/pull/19011/head
* [new ref] refs/pull/19012/head -> refs/pull/19012/head
* [new ref] refs/pull/19013/head -> refs/pull/19013/head
* [new ref] refs/pull/19013/merge -> refs/pull/19013/merge
* [new ref] refs/pull/19014/head -> refs/pull/19014/head
* [new ref] refs/pull/19014/merge -> refs/pull/19014/merge
* [new ref] refs/pull/19015/head -> refs/pull/19015/head
* [new ref] refs/pull/19016/head -> refs/pull/19016/head
* [new ref] refs/pull/19017/head -> refs/pull/19017/head
* [new ref] refs/pull/19017/merge -> refs/pull/19017/merge
* [new ref] refs/pull/19019/head -> refs/pull/19019/head
* [new ref] refs/pull/19023/head -> refs/pull/19023/head
* [new ref] refs/pull/19024/head -> refs/pull/19024/head
* [new ref] refs/pull/19024/merge -> refs/pull/19024/merge
* [new ref] refs/pull/19025/head -> refs/pull/19025/head
* [new ref] refs/pull/19025/merge -> refs/pull/19025/merge
* [new ref] refs/pull/19026/head -> refs/pull/19026/head
* [new ref] refs/pull/19026/merge -> refs/pull/19026/merge
* [new ref] refs/pull/19027/head -> refs/pull/19027/head
* [new ref] refs/pull/19029/head -> refs/pull/19029/head
* [new ref] refs/pull/19029/merge -> refs/pull/19029/merge
* [new ref] refs/pull/19030/head -> refs/pull/19030/head
* [new ref] refs/pull/19031/head -> refs/pull/19031/head
* [new ref] refs/pull/19032/head -> refs/pull/19032/head
* [new ref] refs/pull/19032/merge -> refs/pull/19032/merge
* [new ref] refs/pull/19033/head -> refs/pull/19033/head
* [new ref] refs/pull/19034/head -> refs/pull/19034/head
* [new ref] refs/pull/19036/head -> refs/pull/19036/head
* [new ref] refs/pull/19037/head -> refs/pull/19037/head
* [new ref] refs/pull/19038/head -> refs/pull/19038/head
* [new ref] refs/pull/19038/merge -> refs/pull/19038/merge
* [new ref] refs/pull/19039/head -> refs/pull/19039/head
* [new ref] refs/pull/19041/head -> refs/pull/19041/head
* [new ref] refs/pull/19042/head -> refs/pull/19042/head
* [new ref] refs/pull/19044/head -> refs/pull/19044/head
* [new ref] refs/pull/19044/merge -> refs/pull/19044/merge
* [new ref] refs/pull/19046/head -> refs/pull/19046/head
* [new ref] refs/pull/19046/merge -> refs/pull/19046/merge
* [new ref] refs/pull/19053/head -> refs/pull/19053/head
* [new ref] refs/pull/19056/head -> refs/pull/19056/head
* [new ref] refs/pull/19056/merge -> refs/pull/19056/merge
* [new ref] refs/pull/19057/head -> refs/pull/19057/head
* [new ref] refs/pull/19059/head -> refs/pull/19059/head
* [new ref] refs/pull/19061/head -> refs/pull/19061/head
* [new ref] refs/pull/19061/merge -> refs/pull/19061/merge
* [new ref] refs/pull/19064/head -> refs/pull/19064/head
* [new ref] refs/pull/19074/head -> refs/pull/19074/head
* [new ref] refs/pull/19074/merge -> refs/pull/19074/merge
* [new ref] refs/pull/19078/head -> refs/pull/19078/head
* [new ref] refs/pull/19080/head -> refs/pull/19080/head
* [new ref] refs/pull/19090/head -> refs/pull/19090/head
* [new ref] refs/pull/19139/head -> refs/pull/19139/head
* [new ref] refs/pull/19161/head -> refs/pull/19161/head
* [new ref] refs/pull/19161/merge -> refs/pull/19161/merge
* [new ref] refs/pull/19166/head -> refs/pull/19166/head
* [new ref] refs/pull/19171/head -> refs/pull/19171/head
* [new ref] refs/pull/19171/merge -> refs/pull/19171/merge
* [new ref] refs/pull/19172/head -> refs/pull/19172/head
* [new ref] refs/pull/19172/merge -> refs/pull/19172/merge
* [new ref] refs/pull/19173/head -> refs/pull/19173/head
* [new ref] refs/pull/19173/merge -> refs/pull/19173/merge
* [new ref] refs/pull/19174/head -> refs/pull/19174/head
* [new ref] refs/pull/19175/head -> refs/pull/19175/head
* [new ref] refs/pull/19178/head -> refs/pull/19178/head
* [new ref] refs/pull/19178/merge -> refs/pull/19178/merge
* [new ref] refs/pull/19180/head -> refs/pull/19180/head
* [new ref] refs/pull/19182/head -> refs/pull/19182/head
* [new ref] refs/pull/19183/head -> refs/pull/19183/head
* [new ref] refs/pull/19183/merge -> refs/pull/19183/merge
* [new ref] refs/pull/19184/head -> refs/pull/19184/head
* [new ref] refs/pull/19184/merge -> refs/pull/19184/merge
* [new ref] refs/pull/19188/head -> refs/pull/19188/head
* [new ref] refs/pull/19188/merge -> refs/pull/19188/merge
* [new ref] refs/pull/19189/head -> refs/pull/19189/head
* [new ref] refs/pull/19190/head -> refs/pull/19190/head
* [new ref] refs/pull/19192/head -> refs/pull/19192/head
* [new ref] refs/pull/19192/merge -> refs/pull/19192/merge
* [new ref] refs/pull/19193/head -> refs/pull/19193/head
* [new ref] refs/pull/19193/merge -> refs/pull/19193/merge
* [new ref] refs/pull/19201/head -> refs/pull/19201/head
* [new ref] refs/pull/19202/head -> refs/pull/19202/head
* [new ref] refs/pull/19203/head -> refs/pull/19203/head
* [new ref] refs/pull/19204/head -> refs/pull/19204/head
* [new ref] refs/pull/19205/head -> refs/pull/19205/head
* [new ref] refs/pull/19209/head -> refs/pull/19209/head
* [new ref] refs/pull/19209/merge -> refs/pull/19209/merge
* [new ref] refs/pull/19210/head -> refs/pull/19210/head
* [new ref] refs/pull/19210/merge -> refs/pull/19210/merge
* [new ref] refs/pull/19211/head -> refs/pull/19211/head
* [new ref] refs/pull/19211/merge -> refs/pull/19211/merge
* [new ref] refs/pull/19214/head -> refs/pull/19214/head
* [new ref] refs/pull/19218/head -> refs/pull/19218/head
* [new ref] refs/pull/19219/head -> refs/pull/19219/head
* [new ref] refs/pull/19221/head -> refs/pull/19221/head
* [new ref] refs/pull/19222/head -> refs/pull/19222/head
* [new ref] refs/pull/19226/head -> refs/pull/19226/head
* [new ref] refs/pull/19227/head -> refs/pull/19227/head
* [new ref] refs/pull/19231/head -> refs/pull/19231/head
* [new ref] refs/pull/19240/head -> refs/pull/19240/head
* [new ref] refs/pull/19243/head -> refs/pull/19243/head
* [new ref] refs/pull/19243/merge -> refs/pull/19243/merge
* [new ref] refs/pull/19244/head -> refs/pull/19244/head
* [new ref] refs/pull/19246/head -> refs/pull/19246/head
* [new ref] refs/pull/19246/merge -> refs/pull/19246/merge
* [new ref] refs/pull/19247/head -> refs/pull/19247/head
* [new ref] refs/pull/19250/head -> refs/pull/19250/head
* [new ref] refs/pull/19250/merge -> refs/pull/19250/merge
* [new ref] refs/pull/19253/head -> refs/pull/19253/head
* [new ref] refs/pull/19253/merge -> refs/pull/19253/merge
* [new ref] refs/pull/19254/head -> refs/pull/19254/head
* [new ref] refs/pull/19261/head -> refs/pull/19261/head
* [new ref] refs/pull/19262/head -> refs/pull/19262/head
* [new ref] refs/pull/19264/head -> refs/pull/19264/head
* [new ref] refs/pull/19266/head -> refs/pull/19266/head
* [new ref] refs/pull/19267/head -> refs/pull/19267/head
* [new ref] refs/pull/19269/head -> refs/pull/19269/head
* [new ref] refs/pull/19274/head -> refs/pull/19274/head
* [new ref] refs/pull/19277/head -> refs/pull/19277/head
* [new ref] refs/pull/19278/head -> refs/pull/19278/head
* [new ref] refs/pull/19278/merge -> refs/pull/19278/merge
* [new ref] refs/pull/19281/head -> refs/pull/19281/head
* [new ref] refs/pull/19281/merge -> refs/pull/19281/merge
* [new ref] refs/pull/19284/head -> refs/pull/19284/head
* [new ref] refs/pull/19284/merge -> refs/pull/19284/merge
* [new ref] refs/pull/19286/head -> refs/pull/19286/head
* [new ref] refs/pull/19286/merge -> refs/pull/19286/merge
* [new ref] refs/pull/19287/head -> refs/pull/19287/head
* [new ref] refs/pull/19288/head -> refs/pull/19288/head
* [new ref] refs/pull/19290/head -> refs/pull/19290/head
* [new ref] refs/pull/19291/head -> refs/pull/19291/head
* [new ref] refs/pull/19292/head -> refs/pull/19292/head
* [new ref] refs/pull/19294/head -> refs/pull/19294/head
* [new ref] refs/pull/19295/head -> refs/pull/19295/head
* [new ref] refs/pull/19297/head -> refs/pull/19297/head
* [new ref] refs/pull/19297/merge -> refs/pull/19297/merge
* [new ref] refs/pull/19298/head -> refs/pull/19298/head
* [new ref] refs/pull/19298/merge -> refs/pull/19298/merge
* [new ref] refs/pull/19299/head -> refs/pull/19299/head
* [new ref] refs/pull/19299/merge -> refs/pull/19299/merge
* [new ref] refs/pull/19300/head -> refs/pull/19300/head
* [new ref] refs/pull/19300/merge -> refs/pull/19300/merge
* [new ref] refs/pull/19301/head -> refs/pull/19301/head
* [new ref] refs/pull/19301/merge -> refs/pull/19301/merge
* [new ref] refs/pull/19302/head -> refs/pull/19302/head
* [new ref] refs/pull/19302/merge -> refs/pull/19302/merge
* [new ref] refs/pull/19303/head -> refs/pull/19303/head
* [new ref] refs/pull/19303/merge -> refs/pull/19303/merge
* [new ref] refs/pull/19304/head -> refs/pull/19304/head
* [new ref] refs/pull/19304/merge -> refs/pull/19304/merge
* [new ref] refs/pull/19305/head -> refs/pull/19305/head
* [new ref] refs/pull/19305/merge -> refs/pull/19305/merge
* [new ref] refs/pull/19306/head -> refs/pull/19306/head
* [new ref] refs/pull/19306/merge -> refs/pull/19306/merge
* [new ref] refs/pull/19307/head -> refs/pull/19307/head
* [new ref] refs/pull/19307/merge -> refs/pull/19307/merge
* [new ref] refs/pull/19308/head -> refs/pull/19308/head
* [new ref] refs/pull/19309/head -> refs/pull/19309/head
* [new ref] refs/pull/19309/merge -> refs/pull/19309/merge
* [new ref] refs/pull/19310/head -> refs/pull/19310/head
* [new ref] refs/pull/19310/merge -> refs/pull/19310/merge
* [new ref] refs/pull/19311/head -> refs/pull/19311/head
* [new ref] refs/pull/19313/head -> refs/pull/19313/head
* [new ref] refs/pull/19313/merge -> refs/pull/19313/merge
* [new ref] refs/pull/19314/head -> refs/pull/19314/head
* [new ref] refs/pull/19314/merge -> refs/pull/19314/merge
* [new ref] refs/pull/19315/head -> refs/pull/19315/head
* [new ref] refs/pull/19315/merge -> refs/pull/19315/merge
* [new ref] refs/pull/19316/head -> refs/pull/19316/head
* [new ref] refs/pull/19316/merge -> refs/pull/19316/merge
* [new ref] refs/pull/19317/head -> refs/pull/19317/head
* [new ref] refs/pull/19317/merge -> refs/pull/19317/merge
* [new ref] refs/pull/19318/head -> refs/pull/19318/head
* [new ref] refs/pull/19318/merge -> refs/pull/19318/merge
* [new ref] refs/pull/19319/head -> refs/pull/19319/head
* [new ref] refs/pull/19319/merge -> refs/pull/19319/merge
* [new ref] refs/pull/19320/head -> refs/pull/19320/head
* [new ref] refs/pull/19320/merge -> refs/pull/19320/merge
* [new ref] refs/pull/19321/head -> refs/pull/19321/head
* [new ref] refs/pull/19322/head -> refs/pull/19322/head
* [new ref] refs/pull/19322/merge -> refs/pull/19322/merge
* [new ref] refs/pull/19323/head -> refs/pull/19323/head
* [new ref] refs/pull/19323/merge -> refs/pull/19323/merge
* [new ref] refs/pull/19324/head -> refs/pull/19324/head
* [new ref] refs/pull/19324/merge -> refs/pull/19324/merge
* [new ref] refs/pull/19325/head -> refs/pull/19325/head
* [new ref] refs/pull/19325/merge -> refs/pull/19325/merge
* [new ref] refs/pull/19326/head -> refs/pull/19326/head
* [new ref] refs/pull/19326/merge -> refs/pull/19326/merge
* [new ref] refs/pull/19327/head -> refs/pull/19327/head
* [new ref] refs/pull/19327/merge -> refs/pull/19327/merge
* [new ref] refs/pull/19328/head -> refs/pull/19328/head
* [new ref] refs/pull/19328/merge -> refs/pull/19328/merge
* [new ref] refs/pull/19329/head -> refs/pull/19329/head
* [new ref] refs/pull/19330/head -> refs/pull/19330/head
* [new ref] refs/pull/19330/merge -> refs/pull/19330/merge
* [new ref] refs/pull/19331/head -> refs/pull/19331/head
* [new ref] refs/pull/19331/merge -> refs/pull/19331/merge
* [new ref] refs/pull/19332/head -> refs/pull/19332/head
* [new ref] refs/pull/19332/merge -> refs/pull/19332/merge
* [new ref] refs/pull/19333/head -> refs/pull/19333/head
* [new ref] refs/pull/19333/merge -> refs/pull/19333/merge
* [new ref] refs/pull/19334/head -> refs/pull/19334/head
* [new ref] refs/pull/19335/head -> refs/pull/19335/head
* [new ref] refs/pull/19336/head -> refs/pull/19336/head
* [new ref] refs/pull/19337/head -> refs/pull/19337/head
* [new ref] refs/pull/19337/merge -> refs/pull/19337/merge
* [new ref] refs/pull/19339/head -> refs/pull/19339/head
* [new ref] refs/pull/19339/merge -> refs/pull/19339/merge
* [new ref] refs/pull/19340/head -> refs/pull/19340/head
* [new ref] refs/pull/19340/merge -> refs/pull/19340/merge
* [new ref] refs/pull/19341/head -> refs/pull/19341/head
* [new ref] refs/pull/19342/head -> refs/pull/19342/head
* [new ref] refs/pull/19342/merge -> refs/pull/19342/merge
* [new ref] refs/pull/19343/head -> refs/pull/19343/head
* [new ref] refs/pull/19343/merge -> refs/pull/19343/merge
* [new ref] refs/pull/19345/head -> refs/pull/19345/head
* [new ref] refs/pull/19345/merge -> refs/pull/19345/merge
* [new ref] refs/pull/19346/head -> refs/pull/19346/head
* [new ref] refs/pull/19346/merge -> refs/pull/19346/merge
* [new ref] refs/pull/19347/head -> refs/pull/19347/head
* [new ref] refs/pull/19347/merge -> refs/pull/19347/merge
* [new ref] refs/pull/19348/head -> refs/pull/19348/head
* [new ref] refs/pull/19349/head -> refs/pull/19349/head
* [new ref] refs/pull/19349/merge -> refs/pull/19349/merge
* [new ref] refs/pull/19350/head -> refs/pull/19350/head
* [new ref] refs/pull/19350/merge -> refs/pull/19350/merge
* [new ref] refs/pull/19351/head -> refs/pull/19351/head
* [new ref] refs/pull/19352/head -> refs/pull/19352/head
* [new ref] refs/pull/19352/merge -> refs/pull/19352/merge
* [new ref] refs/pull/19354/head -> refs/pull/19354/head
* [new ref] refs/pull/19354/merge -> refs/pull/19354/merge
* [new ref] refs/pull/19355/head -> refs/pull/19355/head
* [new ref] refs/pull/19355/merge -> refs/pull/19355/merge
* [new ref] refs/pull/19356/head -> refs/pull/19356/head
* [new ref] refs/pull/19356/merge -> refs/pull/19356/merge
* [new ref] refs/pull/19357/head -> refs/pull/19357/head
* [new ref] refs/pull/19357/merge -> refs/pull/19357/merge
* [new ref] refs/pull/19358/head -> refs/pull/19358/head
* [new ref] refs/pull/19358/merge -> refs/pull/19358/merge
* [new ref] refs/pull/19360/head -> refs/pull/19360/head
* [new ref] refs/pull/19361/head -> refs/pull/19361/head
* [new ref] refs/pull/19361/merge -> refs/pull/19361/merge
* [new ref] refs/pull/19362/head -> refs/pull/19362/head
* [new ref] refs/pull/19362/merge -> refs/pull/19362/merge
* [new tag] v0.27.4 -> v0.27.4
* [new tag] v0.28.0 -> v0.28.0
* [new tag] v0.28.0-preview.6 -> v0.28.0-preview.6
* [new tag] v0.28.0-preview.7 -> v0.28.0-preview.7
* [new tag] v0.28.0-preview.8 -> v0.28.0-preview.8
* [new tag] v0.28.1 -> v0.28.1
* [new tag] v0.28.2 -> v0.28.2
* [new tag] v0.29.0 -> v0.29.0
* [new tag] v0.29.0-preview.0 -> v0.29.0-preview.0
* [new tag] v0.29.0-preview.1 -> v0.29.0-preview.1
* [new tag] v0.29.0-preview.2 -> v0.29.0-preview.2
* [new tag] v0.29.0-preview.3 -> v0.29.0-preview.3
* [new tag] v0.29.0-preview.4 -> v0.29.0-preview.4
* [new tag] v0.29.0-preview.5 -> v0.29.0-preview.5
* [new tag] v0.30.0-nightly.20260210.8257ec447 -> v0.30.0-nightly.20260210.8257ec447
* [new tag] v0.30.0-nightly.20260211.0d034b8c1 -> v0.30.0-nightly.20260211.0d034b8c1
* [new tag] v0.30.0-nightly.20260211.f5dd1068f -> v0.30.0-nightly.20260211.f5dd1068f
* [new tag] v0.30.0-nightly.20260212.099aa9621 -> v0.30.0-nightly.20260212.099aa9621
* [new tag] v0.30.0-nightly.20260212.207ac6f2d -> v0.30.0-nightly.20260212.207ac6f2d
* [new tag] v0.30.0-preview.0 -> v0.30.0-preview.0
[1m[32m==>[m[1m Validating source files with b2sums...[m
gemini-cli ... Passed
]3008;start=430e95813f0a47e6b263ace758c579e6;user=root;hostname=minun.felixc.at;machineid=0ffe3ef7ad56462790c2861f2a747f6b;bootid=32d9c4b537a24816afcaf7574fd06933;pid=3296599;pidfdid=49424544;comm=systemd-nspawn;container=arch-nspawn-3296599;type=container\]11;?\[22;2t]2;๐ต Container arch-nspawn-3296599 on minun.felixc.at\==> Making package: gemini-cli 1:0.28.2-1 (Wed Feb 18 03:56:26 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (4) New Version Net Change Download Size
extra/c-ares 1.34.6-1 0.51 MiB
extra/libuv 1.52.0-1 0.62 MiB
extra/simdjson 1:4.2.4-1 6.17 MiB
extra/nodejs 25.6.1-1 59.46 MiB 15.46 MiB
Total Download Size: 15.46 MiB
Total Installed Size: 66.76 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
nodejs-25.6.1-1-riscv64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing c-ares...
installing libuv...
installing simdjson...
installing nodejs...
Optional dependencies for nodejs
npm: nodejs package manager
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (11) New Version Net Change Download Size
extra/node-gyp 12.2.0-1 7.84 MiB
extra/nodejs-nopt 7.2.1-1 0.03 MiB
extra/oniguruma 6.9.10-1 0.88 MiB
extra/perl-error 0.17030-3 0.04 MiB
extra/perl-mailtools 2.22-3 0.10 MiB
extra/perl-timedate 2.33-9 0.08 MiB
extra/semver 7.7.3-1 0.09 MiB
extra/zlib-ng 2.3.3-1 0.23 MiB
extra/git 2.53.0-1 28.84 MiB
extra/jq 1.8.1-1 0.46 MiB
extra/npm 11.10.0-1 7.39 MiB 1.42 MiB
Total Download Size: 1.42 MiB
Total Installed Size: 45.99 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
npm-11.10.0-1-any downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing zlib-ng...
installing git...
Optional dependencies for git
git-zsh-completion: upstream zsh completion
tk: gitk and git gui
openssh: ssh transport and crypto
man: show help with `git command --help`
perl-libwww: git svn
perl-term-readkey: git svn and interactive.singlekey setting
perl-io-socket-ssl: git send-email TLS support
perl-authen-sasl: git send-email TLS support
perl-cgi: gitweb (web interface) support
python: git svn & git p4
subversion: git svn
org.freedesktop.secrets: keyring credential helper
libsecret: libsecret credential helper [installed]
less: the default pager for git
installing oniguruma...
installing jq...
installing nodejs-nopt...
installing semver...
installing node-gyp...
Optional dependencies for node-gyp
gcc: to build C++ modules [installed]
make: to build C++ modules [installed]
python: to build C++ modules
installing npm...
Optional dependencies for npm
git: for dependencies using Git URL's [installed]
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
Creating group 'git' with GID 969.
Creating user 'git' (git daemon user) with UID 969 and GID 969.
(2/4) Reloading system manager configuration...
Skipped: Current root is not booted.
(3/4) Arming ConditionNeedsUpdate...
(4/4) Checking for old perl modules...
==> Retrieving sources...
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Creating working copy of gemini-cli git repo...
Cloning into 'gemini-cli'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
added 1324 packages, and audited 1330 packages in 4m
360 packages are looking for funding
run `npm fund` for details
20 vulnerabilities (1 low, 14 moderate, 5 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
==> Starting build()...
> @google/gemini-cli@0.28.2 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @google/gemini-cli@0.28.2 generate
> node scripts/generate-git-commit-info.js
Copied 5 policy files to bundle/policies/
Copied docs to bundle/docs/
Copied built-in skills to bundle/builtin/
Assets copied to bundle/
> @google/gemini-cli@0.28.2 prepare
> husky && npm run bundle
> @google/gemini-cli@0.28.2 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @google/gemini-cli@0.28.2 generate
> node scripts/generate-git-commit-info.js
Copied 5 policy files to bundle/policies/
Copied docs to bundle/docs/
Copied built-in skills to bundle/builtin/
Assets copied to bundle/
npm notice
npm notice ๐ฆ @google/gemini-cli@0.28.2
npm notice Tarball Contents
npm notice 11.4kB LICENSE
npm notice 12.1kB README.md
npm notice 7.9kB bundle/builtin/skill-creator/scripts/init_skill.cjs
npm notice 2.8kB bundle/builtin/skill-creator/scripts/package_skill.cjs
npm notice 3.5kB bundle/builtin/skill-creator/scripts/validate_skill.cjs
npm notice 20.1kB bundle/builtin/skill-creator/SKILL.md
npm notice 3.8kB bundle/docs/architecture.md
npm notice 121.7kB bundle/docs/assets/connected_devtools.png
npm notice 61.2kB bundle/docs/assets/gemini-screenshot.png
npm notice 112.5kB bundle/docs/assets/monitoring-dashboard-logs.png
npm notice 58.9kB bundle/docs/assets/monitoring-dashboard-metrics.png
npm notice 55.8kB bundle/docs/assets/monitoring-dashboard-overview.png
npm notice 389.7kB bundle/docs/assets/release_patch.png
npm notice 129.0kB bundle/docs/assets/theme-ansi-light.png
npm notice 129.8kB bundle/docs/assets/theme-ansi.png
npm notice 131.5kB bundle/docs/assets/theme-atom-one.png
npm notice 129.1kB bundle/docs/assets/theme-ayu-light.png
npm notice 131.3kB bundle/docs/assets/theme-ayu.png
npm notice 265.5kB bundle/docs/assets/theme-custom.png
npm notice 128.3kB bundle/docs/assets/theme-default-light.png
npm notice 130.4kB bundle/docs/assets/theme-default.png
npm notice 131.3kB bundle/docs/assets/theme-dracula.png
npm notice 129.4kB bundle/docs/assets/theme-github-light.png
npm notice 131.5kB bundle/docs/assets/theme-github.png
npm notice 129.3kB bundle/docs/assets/theme-google-light.png
npm notice 128.0kB bundle/docs/assets/theme-xcode-light.png
npm notice 43.6kB bundle/docs/changelogs/index.md
npm notice 20.9kB bundle/docs/changelogs/latest.md
npm notice 26.9kB bundle/docs/changelogs/preview.md
npm notice 105B bundle/docs/cli/authentication.md
npm notice 3.1kB bundle/docs/cli/checkpointing.md
npm notice 12.3kB bundle/docs/cli/cli-reference.md
npm notice 19.5kB bundle/docs/cli/commands.md
npm notice 2.4kB bundle/docs/cli/creating-skills.md
npm notice 11.6kB bundle/docs/cli/custom-commands.md
npm notice 18.4kB bundle/docs/cli/enterprise.md
npm notice 2.1kB bundle/docs/cli/gemini-ignore.md
npm notice 3.7kB bundle/docs/cli/gemini-md.md
npm notice 6.4kB bundle/docs/cli/generation-settings.md
npm notice 12.2kB bundle/docs/cli/headless.md
npm notice 2.7kB bundle/docs/cli/index.md
npm notice 11.0kB bundle/docs/cli/keyboard-shortcuts.md
npm notice 1.9kB bundle/docs/cli/model-routing.md
npm notice 3.2kB bundle/docs/cli/model.md
npm notice 2.3kB bundle/docs/cli/rewind.md
npm notice 4.5kB bundle/docs/cli/sandbox.md
npm notice 4.4kB bundle/docs/cli/session-management.md
npm notice 19.8kB bundle/docs/cli/settings.md
npm notice 4.7kB bundle/docs/cli/skills.md
npm notice 4.6kB bundle/docs/cli/system-prompt.md
npm notice 27.4kB bundle/docs/cli/telemetry.md
npm notice 6.1kB bundle/docs/cli/themes.md
npm notice 754B bundle/docs/cli/token-caching.md
npm notice 3.7kB bundle/docs/cli/trusted-folders.md
npm notice 2.7kB bundle/docs/cli/tutorials.md
npm notice 3.0kB bundle/docs/cli/tutorials/skills-getting-started.md
npm notice 1.6kB bundle/docs/cli/uninstall.md
npm notice 4.8kB bundle/docs/core/index.md
npm notice 6.4kB bundle/docs/core/memport.md
npm notice 10.8kB bundle/docs/core/policy-engine.md
npm notice 2.9kB bundle/docs/core/remote-agents.md
npm notice 7.2kB bundle/docs/core/subagents.md
npm notice 6.9kB bundle/docs/core/tools-api.md
npm notice 2.8kB bundle/docs/examples/proxy-script.md
npm notice 3.8kB bundle/docs/extensions/best-practices.md
npm notice 1.3kB bundle/docs/extensions/index.md
npm notice 11.9kB bundle/docs/extensions/reference.md
npm notice 7.4kB bundle/docs/extensions/releasing.md
npm notice 11.3kB bundle/docs/extensions/writing-extensions.md
npm notice 6.7kB bundle/docs/faq.md
npm notice 12.0kB bundle/docs/get-started/authentication.md
npm notice 39.2kB bundle/docs/get-started/configuration-v1.md
npm notice 59.6kB bundle/docs/get-started/configuration.md
npm notice 6.4kB bundle/docs/get-started/examples.md
npm notice 3.9kB bundle/docs/get-started/gemini-3.md
npm notice 2.1kB bundle/docs/get-started/index.md
npm notice 4.7kB bundle/docs/get-started/installation.md
npm notice 16.8kB bundle/docs/hooks/best-practices.md
npm notice 8.2kB bundle/docs/hooks/index.md
npm notice 12.8kB bundle/docs/hooks/reference.md
npm notice 10.9kB bundle/docs/hooks/writing-hooks.md
npm notice 10.7kB bundle/docs/ide-integration/ide-companion-spec.md
npm notice 8.1kB bundle/docs/ide-integration/index.md
npm notice 5.2kB bundle/docs/index.md
npm notice 5.9kB bundle/docs/integration-tests.md
npm notice 6.4kB bundle/docs/issue-and-pr-automation.md
npm notice 3.7kB bundle/docs/local-development.md
npm notice 3.1kB bundle/docs/mermaid/context.mmd
npm notice 1.6kB bundle/docs/mermaid/render-path.mmd
npm notice 2.5kB bundle/docs/npm.md
npm notice 6.2kB bundle/docs/quota-and-pricing.md
npm notice 5.6kB bundle/docs/release-confidence.md
npm notice 22.9kB bundle/docs/releases.md
npm notice 5.3kB bundle/docs/sidebar.json
npm notice 10.1kB bundle/docs/tools/file-system.md
npm notice 4.7kB bundle/docs/tools/index.md
npm notice 33.5kB bundle/docs/tools/mcp-server.md
npm notice 1.6kB bundle/docs/tools/memory.md
npm notice 7.9kB bundle/docs/tools/shell.md
npm notice 2.1kB bundle/docs/tools/todos.md
npm notice 2.0kB bundle/docs/tools/web-fetch.md
npm notice 1.1kB bundle/docs/tools/web-search.md
npm notice 6.3kB bundle/docs/tos-privacy.md
npm notice 9.4kB bundle/docs/troubleshooting.md
npm notice 23.7MB bundle/gemini.js
npm notice 254B bundle/policies/discovered.toml
npm notice 2.5kB bundle/policies/plan.toml
npm notice 1.8kB bundle/policies/read-only.toml
npm notice 2.2kB bundle/policies/write.toml
npm notice 1.5kB bundle/policies/yolo.toml
npm notice 1.0kB bundle/sandbox-macos-permissive-closed.sb
npm notice 890B bundle/sandbox-macos-permissive-open.sb
npm notice 1.3kB bundle/sandbox-macos-permissive-proxied.sb
npm notice 3.3kB bundle/sandbox-macos-restrictive-closed.sb
npm notice 3.4kB bundle/sandbox-macos-restrictive-open.sb
npm notice 3.6kB bundle/sandbox-macos-restrictive-proxied.sb
npm notice 6.5kB package.json
npm notice Bundled Dependencies
npm notice node-pty
npm notice minimist
npm notice tar-fs
npm notice config-chain
npm notice @alcalzone/ansi-tokenize
npm notice @kwsites/file-exists
npm notice @kwsites/promise-deferred
npm notice @lydell/node-pty
npm notice @pnpm/network.ca-file
npm notice @pnpm/npm-conf
npm notice ansi-escapes
npm notice ansi-regex
npm notice auto-bind
npm notice base64-js
npm notice buffer
npm notice cli-boxes
npm notice cli-cursor
npm notice cli-truncate
npm notice code-excerpt
npm notice convert-to-spaces
npm notice debug
npm notice decompress-response
npm notice deep-extend
npm notice detect-libc
npm notice end-of-stream
npm notice environment
npm notice es-toolkit
npm notice expand-template
npm notice fs-constants
npm notice get-east-asian-width
npm notice github-from-package
npm notice ieee754
npm notice indent-string
npm notice inherits
npm notice ini
npm notice ink
npm notice ky
npm notice latest-version
npm notice mimic-fn
npm notice mkdirp-classic
npm notice napi-build-utils
npm notice node-abi
npm notice once
npm notice onetime
npm notice package-json
npm notice patch-console
npm notice prebuild-install
npm notice proto-list
npm notice pump
npm notice rc
npm notice react-reconciler
npm notice readable-stream
npm notice registry-auth-token
npm notice registry-url
npm notice restore-cursor
npm notice safe-buffer
npm notice scheduler
npm notice semver
npm notice simple-concat
npm notice simple-get
npm notice slice-ansi
npm notice stack-utils
npm notice string_decoder
npm notice strip-ansi
npm notice tar-stream
npm notice tunnel-agent
npm notice util-deprecate
npm notice wrap-ansi
npm notice wrappy
npm notice ws
npm notice node-addon-api
npm notice keytar
npm notice yoga-layout
npm notice nan
npm notice mnemonist
npm notice bl
npm notice obliterator
npm notice @pnpm/config.env-replace
npm notice ms
npm notice simple-git
npm notice Tarball Details
npm notice name: @google/gemini-cli
npm notice version: 0.28.2
npm notice filename: google-gemini-cli-0.28.2.tgz
npm notice package size: 8.9 MB
npm notice unpacked size: 37.6 MB
npm notice shasum: b60069496857835c2e7ad984dd6dd81817e045af
npm notice integrity: sha512-2SxkMHXwN5qZS[...]Ccbto3kPtBdCw==
npm notice bundled deps: 80
npm notice bundled files: 0
npm notice own files: 4497
npm notice total files: 4497
npm notice
google-gemini-cli-0.28.2.tgz
==> Starting check()...
> @google/gemini-cli@0.28.2 build
> node scripts/build.js
> @google/gemini-cli@0.28.2 generate
> node scripts/generate-git-commit-info.js
> @google/gemini-cli-a2a-server@0.28.2 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli@0.28.2 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli-core@0.28.2 build
> node ../../scripts/build_package.js
Successfully copied files.
Copied documentation to dist/docs
> @google/gemini-cli-test-utils@0.28.2 build
> node ../../scripts/build_package.js
Successfully copied files.
> gemini-cli-vscode-ide-companion@0.28.2 build
> npm run build:dev
> gemini-cli-vscode-ide-companion@0.28.2 build:dev
> npm run check-types && npm run lint && node esbuild.js
> gemini-cli-vscode-ide-companion@0.28.2 check-types
> tsc --noEmit
> gemini-cli-vscode-ide-companion@0.28.2 lint
> eslint src
[watch] build started
[watch] build finished
> @google/gemini-cli@0.28.2 test
> npm run test --workspaces --if-present --exclude=**/BuiltinCommandLoader.test.ts --exclude=**/config.integration.test.ts --exclude=**/mcp-client.test.ts
npm warn Unknown cli config "--exclude". This will stop working in the next major version of npm.
> @google/gemini-cli-a2a-server@0.28.2 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/a2a-server
Coverage enabled with v8
โ src/commands/command-registry.test.ts (6 tests) 89ms
โ src/commands/extensions.test.ts (8 tests) 86ms
โ src/persistence/gcs.test.ts (12 tests) 629ms
โ src/config/settings.test.ts (6 tests) 106ms
โ src/config/config.test.ts (11 tests) 191ms
โ src/commands/memory.test.ts (7 tests) 147ms
โ src/http/endpoints.test.ts (5 tests) 1504ms
โ Agent Server Endpoints > should create a new task via POST /tasks 804ms
(node:3499) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/commands/restore.test.ts (6 tests) 118ms
โ src/commands/init.test.ts (5 tests) 311ms
โ src/agent/task.test.ts (17 tests) 1382ms
โ src/http/app.test.ts (20 tests) 2903ms
โ E2E Tests > should create a new task and stream status updates (text-content) via POST / 1458ms
โ E2E Tests > should create a new task, schedule a tool call, and wait for approval 379ms
Test Files 11 passed (11)
Tests 103 passed (103)
Start at 04:09:42
Duration 47.18s (transform 31.86s, setup 0ms, collect 320.42s, tests 7.47s, environment 41ms, prepare 14.96s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/a2a-server/junit.xml
% Coverage report from v8
> @google/gemini-cli@0.28.2 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/cli
Coverage enabled with v8
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should pass through original query if only a lone @ symbol is present
Ignore file not found: /tmp/folder-structure-test-NkqbHG/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid text file path
Ignore file not found: /tmp/folder-structure-test-b9NCjd/.geminiignore, continue without it.
โ src/utils/sessionCleanup.test.ts (70 tests) 1178ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid text file path
Ignore file not found: /tmp/folder-structure-test-b9NCjd/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid directory path and convert to glob
Ignore file not found: /tmp/folder-structure-test-4x4oZo/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process a valid directory path and convert to glob
Ignore file not found: /tmp/folder-structure-test-4x4oZo/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle query with text before and after @command
Ignore file not found: /tmp/folder-structure-test-2QCpN6/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle query with text before and after @command
Ignore file not found: /tmp/folder-structure-test-2QCpN6/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly unescape paths with escaped spaces
Ignore file not found: /tmp/folder-structure-test-y3Towk/.geminiignore, continue without it.
โ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 779ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should correctly unescape paths with escaped spaces
Ignore file not found: /tmp/folder-structure-test-y3Towk/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references
Ignore file not found: /tmp/folder-structure-test-tuYGuq/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references
Ignore file not found: /tmp/folder-structure-test-tuYGuq/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references with interleaved text
Ignore file not found: /tmp/folder-structure-test-prK6pj/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle multiple @file references with interleaved text
Ignore file not found: /tmp/folder-structure-test-prK6pj/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references
Ignore file not found: /tmp/folder-structure-test-KPGvOg/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references
Ignore file not found: /tmp/folder-structure-test-KPGvOg/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle a mix of valid, invalid, and lone @ references
Ignore file not found: /tmp/folder-structure-test-KPGvOg/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return original query if all @paths are invalid or lone @
Ignore file not found: /tmp/folder-structure-test-WkNV7b/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return original query if all @paths are invalid or lone @
Ignore file not found: /tmp/folder-structure-test-WkNV7b/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands
Ignore file not found: /tmp/folder-structure-test-W774rT/.geminiignore, continue without it.
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-W774rT/node_modules/package.json
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should process non-git-ignored files normally
Ignore file not found: /tmp/folder-structure-test-lSMNeo/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should process non-git-ignored files normally
Ignore file not found: /tmp/folder-structure-test-lSMNeo/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files
Ignore file not found: /tmp/folder-structure-test-OSSGPy/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-OSSGPy/.env
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should handle mixed git-ignored and valid files
Ignore file not found: /tmp/folder-structure-test-OSSGPy/.geminiignore, continue without it.
โ src/config/extensions/extensionSettings.test.ts (27 tests) 679ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files
Ignore file not found: /tmp/folder-structure-test-4HyV5n/.geminiignore, continue without it.
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-4HyV5n/.git/config
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > when recursive file search is disabled > should not use glob search for a nonexistent file
Ignore file not found: /tmp/folder-structure-test-Jy95s6/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands
Loading ignore patterns from: /tmp/folder-structure-test-hqx8a2/.geminiignore
Ignored 1 files:
Gemini-ignored: /tmp/folder-structure-test-hqx8a2/build/output.js
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process non-ignored files when .geminiignore is present
Loading ignore patterns from: /tmp/folder-structure-test-hkF8QS/.geminiignore
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should process non-ignored files when .geminiignore is present
Loading ignore patterns from: /tmp/folder-structure-test-hkF8QS/.geminiignore
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files
Loading ignore patterns from: /tmp/folder-structure-test-iLiZE6/.geminiignore
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files
Ignored 1 files:
Gemini-ignored: /tmp/folder-structure-test-iLiZE6/dist/bundle.js
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should handle mixed gemini-ignored and valid files
Loading ignore patterns from: /tmp/folder-structure-test-iLiZE6/.geminiignore
โ src/utils/settingsUtils.test.ts (73 tests) 532ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'comma'
Ignore file not found: /tmp/folder-structure-test-qandYQ/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'comma'
Ignore file not found: /tmp/folder-structure-test-qandYQ/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'period'
Ignore file not found: /tmp/folder-structure-test-ktGkOJ/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'period'
Ignore file not found: /tmp/folder-structure-test-ktGkOJ/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'semicolon'
Ignore file not found: /tmp/folder-structure-test-aS4geL/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'semicolon'
Ignore file not found: /tmp/folder-structure-test-aS4geL/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'exclamation mark'
Ignore file not found: /tmp/folder-structure-test-XeosMP/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'exclamation mark'
Ignore file not found: /tmp/folder-structure-test-XeosMP/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'question mark'
Ignore file not found: /tmp/folder-structure-test-wETP8N/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'question mark'
Ignore file not found: /tmp/folder-structure-test-wETP8N/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening parenthesis'
Ignore file not found: /tmp/folder-structure-test-msWL8w/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening parenthesis'
Ignore file not found: /tmp/folder-structure-test-msWL8w/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing parenthesis'
Ignore file not found: /tmp/folder-structure-test-bzLs6q/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing parenthesis'
Ignore file not found: /tmp/folder-structure-test-bzLs6q/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening square bracket'
Ignore file not found: /tmp/folder-structure-test-uj5vmF/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening square bracket'
Ignore file not found: /tmp/folder-structure-test-uj5vmF/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing square bracket'
Ignore file not found: /tmp/folder-structure-test-MnEmNg/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing square bracket'
Ignore file not found: /tmp/folder-structure-test-MnEmNg/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening curly brace'
Ignore file not found: /tmp/folder-structure-test-kPkRZi/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'opening curly brace'
Ignore file not found: /tmp/folder-structure-test-kPkRZi/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing curly brace'
Ignore file not found: /tmp/folder-structure-test-hLNTvt/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should terminate @path at 'closing curly brace'
Ignore file not found: /tmp/folder-structure-test-hLNTvt/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle multiple @paths terminated by different punctuation
Ignore file not found: /tmp/folder-structure-test-oE8sW0/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle multiple @paths terminated by different punctuation
Ignore file not found: /tmp/folder-structure-test-oE8sW0/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should still handle escaped spaces in paths before punctuation
Ignore file not found: /tmp/folder-structure-test-PLyqrr/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should still handle escaped spaces in paths before punctuation
Ignore file not found: /tmp/folder-structure-test-PLyqrr/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should not break file paths with periods in extensions
Ignore file not found: /tmp/folder-structure-test-XEhy06/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should not break file paths with periods in extensions
Ignore file not found: /tmp/folder-structure-test-XEhy06/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle file paths ending with period followed by space
Ignore file not found: /tmp/folder-structure-test-ASvZze/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle file paths ending with period followed by space
Ignore file not found: /tmp/folder-structure-test-ASvZze/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle comma termination with complex file paths
Ignore file not found: /tmp/folder-structure-test-ebyHmk/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle comma termination with complex file paths
Ignore file not found: /tmp/folder-structure-test-ebyHmk/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should correctly handle file paths with multiple periods
Ignore file not found: /tmp/folder-structure-test-ZKQmTo/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should correctly handle file paths with multiple periods
Ignore file not found: /tmp/folder-structure-test-ZKQmTo/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle end of string termination for period and comma
Ignore file not found: /tmp/folder-structure-test-Nko5VJ/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle end of string termination for period and comma
Ignore file not found: /tmp/folder-structure-test-Nko5VJ/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle files with special characters in names
Ignore file not found: /tmp/folder-structure-test-9YFf9Z/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle files with special characters in names
Ignore file not found: /tmp/folder-structure-test-9YFf9Z/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle basic file names without special characters
Ignore file not found: /tmp/folder-structure-test-uiIj1O/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > punctuation termination in @ commands > should handle basic file names without special characters
Ignore file not found: /tmp/folder-structure-test-uiIj1O/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute file paths correctly
Ignore file not found: /tmp/folder-structure-test-Q0Rlwu/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute file paths correctly
Ignore file not found: /tmp/folder-structure-test-Q0Rlwu/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute directory paths correctly
Ignore file not found: /tmp/folder-structure-test-zUzHC3/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should handle absolute directory paths correctly
Ignore file not found: /tmp/folder-structure-test-zUzHC3/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > absolute path handling > should skip absolute paths outside workspace
Ignore file not found: /tmp/folder-structure-test-WdKdFD/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should not add the user's turn to history, as that is the caller's responsibility
Ignore file not found: /tmp/folder-structure-test-qaCkge/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should not add the user's turn to history, as that is the caller's responsibility
Ignore file not found: /tmp/folder-structure-test-qaCkge/.geminiignore, continue without it.
stderr | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should authenticate correctly
Failed to clear cached credentials: Error: ENOENT: no such file or directory, open '/build/.gemini/google_accounts.json'
[90m at open (node:internal/fs/promises:636:25)[39m
[90m at Object.writeFile (node:internal/fs/promises:1239:14)[39m
at UserAccountManager.clearCachedGoogleAccount (/build/gemini-cli/src/gemini-cli/packages/core/src/utils/userAccountManager.ts:142:5)
at clearCachedCredentialFile (/build/gemini-cli/src/gemini-cli/packages/core/src/code_assist/oauth2.ts:662:5)
at GeminiAgent.authenticate [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/zed-integration/zedIntegration.ts:137:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/zed-integration/zedIntegration.test.ts:159:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20 {
errno: [33m-2[39m,
code: [32m'ENOENT'[39m,
syscall: [32m'open'[39m,
path: [32m'/build/.gemini/google_accounts.json'[39m
}
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should create a new session
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should create a new session with mcp servers
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should initialize file system service if client supports it
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should cancel a session
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/zed-integration/zedIntegration.test.ts > GeminiAgent > should delegate prompt to session
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > attaches MCP resource content when @serverName:uri matches registry
Ignore file not found: /tmp/folder-structure-test-M2NI3d/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable
Ignore file not found: /tmp/folder-structure-test-vli9O5/.geminiignore, continue without it.
stderr | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > MCP resource attachments > returns an error if MCP client is unavailable
[
[32m"Error reading resource resource://server-1/logs: MCP client for server 'server-1' is not available or not connected."[39m
]
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should return error if the read_many_files tool is cancelled by user
Ignore file not found: /tmp/folder-structure-test-tO5ZVv/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > should include agent nudge when agents are found
Ignore file not found: /tmp/folder-structure-test-y4URcP/.geminiignore, continue without it.
โ src/ui/hooks/atCommandProcessor.test.ts (46 tests) 4861ms
โ handleAtCommand > should process a valid text file path 1965ms
โ src/ui/commands/hooksCommand.test.ts (33 tests) 1756ms
โ hooksCommand > completion > should return empty array when hook system is not enabled 380ms
stderr | src/zed-integration/zedIntegration.test.ts > Session > should ignore files based on configuration
Path ignored.txt is ignored and will be skipped.
No valid file paths found in @ commands to read.
โ src/zed-integration/zedIntegration.test.ts (21 tests) 2021ms
โ GeminiAgent > should authenticate correctly 1077ms
TEST: calling prompt
TEST: waiting for streamStarted
TEST: asyncStream started
TEST: waiting for read
TEST: streamStarted
TEST: cancelled
TEST: stream closed
TEST: read returned done=true
TEST: releasing lock
TEST: result received {"stopReason":"cancelled"}
โ src/ui/commands/chatCommand.test.ts (33 tests) 1124ms
โ src/config/settings.test.ts (86 tests) 5553ms
โ LoadedSettings Isolation and Serializability > setValue Serializability > should handle circular references (structuredClone supports them, but deepMerge may not) 2107ms
โ src/services/prompt-processors/shellProcessor.test.ts (34 tests) 2218ms
โ ShellProcessor > should throw ConfirmationRequiredError if a command is not allowed in default mode 642ms
stderr | src/ui/commands/extensionsCommand.test.ts > extensionsCommand > link > should show error message for invalid source
Failed to stat path "test-extension-package": invalid path
โ src/services/FileCommandLoader.test.ts (44 tests) 6126ms
โ FileCommandLoader > loads a single command from a file 645ms
โ FileCommandLoader > loads commands from a symlinked subdirectory 925ms
โ FileCommandLoader > loads multiple commands 442ms
โ FileCommandLoader > creates deeply nested namespaces correctly 302ms
(node:5538) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/ui/commands/extensionsCommand.test.ts (49 tests) 2462ms
โ extensionsCommand > list > should add an EXTENSIONS_LIST item to the UI 621ms
โ src/ui/hooks/useApprovalModeIndicator.test.ts (20 tests) 1146ms
โ useApprovalModeIndicator > should initialize with ApprovalMode.AUTO_EDIT if config.getApprovalMode returns ApprovalMode.AUTO_EDIT 312ms
(node:5703) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/ui/hooks/useQuotaAndFallback.test.ts (18 tests) 1332ms
โ useQuotaAndFallback > should register a fallback handler on initialization 342ms
stderr | src/config/extension.test.ts > extension tests > installExtension > should prompt for settings if promptForSettings
Extension "my-local-extension" has missing settings: API Key. Please run "gemini extensions config my-local-extension [setting-name]" to configure them.
stderr | src/config/extension.test.ts > extension tests > installExtension > should not prompt for settings if promptForSettings is false
Extension "my-local-extension" has missing settings: API Key. Please run "gemini extensions config my-local-extension [setting-name]" to configure them.
โ src/ui/hooks/useSelectionList.test.tsx (47 tests) 1660ms
โ useSelectionList > Initialization > should initialize with the default index (0) if enabled 305ms
stderr | src/config/extension.test.ts > extension tests > installExtension > should auto-update if settings have changed
Extension "my-auto-update-ext" has missing settings: OLD_SETTING. Please run "gemini extensions config my-auto-update-ext [setting-name]" to configure them.
stderr | src/config/extension.test.ts > extension tests > installExtension > should auto-update if settings have changed
Extension "my-auto-update-ext" has missing settings: NEW_SETTING. Please run "gemini extensions config my-auto-update-ext [setting-name]" to configure them.
โ src/ui/contexts/KeypressContext.test.tsx (98 tests) 2545ms
โ KeypressContext > Enter key handling > should recognize 'regular enter key (keycode 13)' in kitty protocol 405ms
โ src/ui/hooks/useSlashCompletion.test.ts (25 tests) 2296ms
โ useSlashCompletion > Top-Level Commands > should suggest all top-level commands for the root slash 626ms
โ src/config/extension.test.ts (79 tests) 5807ms
โ extension tests > loadExtensions > should include extension path in loaded extension 675ms
โ extension tests > loadExtensions > should load context file path when GEMINI.md is present 327ms
โ src/ui/hooks/shellCommandProcessor.test.tsx (34 tests) 2796ms
โ useShellCommandProcessor > should initiate command execution and set pending state 481ms
โ useShellCommandProcessor > Background Shell Management > should hide background shell when waiting for confirmation and restore after delay 403ms
โ useShellCommandProcessor > Background Shell Management > should auto-hide background shell when foreground shell starts and restore when it ends 474ms
stderr | src/ui/hooks/shellCommandProcessor.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
(node:5529) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 retry-attempt listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/ui/hooks/slashCommandProcessor.test.tsx (35 tests) 3284ms
โ useSlashCommandProcessor > Console Clear Safety > should not call console.clear if alternate buffer is active 652ms
โ src/ui/hooks/vim.test.tsx (93 tests) 6124ms
โ useVim hook > Mode switching > should start in INSERT mode 375ms
โ src/ui/hooks/useToolScheduler.test.ts (23 tests) 3047ms
โ useReactToolScheduler in YOLO Mode > should skip confirmation and execute tool directly when yoloMode is true 949ms
โ useReactToolScheduler > should handle live output updates 825ms
โ src/ui/hooks/useGeminiStream.test.tsx (64 tests) 8083ms
โ useGeminiStream > should not submit tool responses if not all tool calls are completed 709ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > enum values > 'toggles to next value'
[DEBUG SettingsDialog] Saving ui.theme immediately with value: baz
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end'
[DEBUG SettingsDialog] Saving ui.theme immediately with value: foo
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > should handle vim mode setting specially
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
โ src/nonInteractiveCli.test.ts (45 tests) 3646ms
โ runNonInteractive > should handle cancellation (Ctrl+C) 539ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Basic Rendering > renders without crashing with minimal props
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Basic Rendering > renders with startup warnings
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > State Initialization > initializes with theme error from initialization result
[SessionSummary] No chats directory found
โฏ src/ui/components/AskUserDialog.test.tsx (35 tests | 6 failed) 33858ms
โ AskUserDialog > renders question and options 2345ms
โ AskUserDialog > Submission: 'Single Select' > submits correct values for Single Select 1230ms
โ AskUserDialog > Submission: 'Multi-select' > submits correct values for Multi-select 2739ms
โ AskUserDialog > Submission: 'Text Input' > submits correct values for Text Input 889ms
ร AskUserDialog > handles custom option in single select with inline typing 2548ms
โ expected 'Which authentication method should weโฆ' to contain 'Enter a custom value'
โ AskUserDialog > Scroll Arrows (useAlternateBuffer: true) > shows scroll arrows correctly when useAlternateBuffer is true 1688ms
โ AskUserDialog > Scroll Arrows (useAlternateBuffer: false) > shows scroll arrows correctly when useAlternateBuffer is false 507ms
ร AskUserDialog > navigates to custom option when typing unbound characters (Type-to-Jump) 3000ms
โ expected 'Which authentication method should weโฆ' to contain '3. A'
ร AskUserDialog > shows progress header for multiple questions 1270ms
โ Snapshot `AskUserDialog > shows progress header for multiple questions 1` mismatched
ร AskUserDialog > hides progress header for single question 843ms
โ Snapshot `AskUserDialog > hides progress header for single question 1` mismatched
ร AskUserDialog > shows keyboard hints 621ms
โ Snapshot `AskUserDialog > shows keyboard hints 1` mismatched
โ AskUserDialog > navigates between questions with arrow keys 1069ms
โ AskUserDialog > preserves answers when navigating back 2042ms
ร AskUserDialog > shows Review tab in progress header for multiple questions 537ms
โ Snapshot `AskUserDialog > shows Review tab in progress header for multiple questions 1` mismatched
โ AskUserDialog > allows navigating to Review tab and back 1088ms
โ AskUserDialog > shows warning for unanswered questions on Review tab 685ms
โ AskUserDialog > submits with unanswered questions when user confirms on Review 783ms
โ AskUserDialog > Text type questions > renders text input for type: "text" 140ms
โ AskUserDialog > Text type questions > shows default placeholder when none provided 133ms
โ AskUserDialog > Text type questions > supports backspace in text mode 433ms
โ AskUserDialog > Text type questions > shows correct keyboard hints for text type 148ms
โ AskUserDialog > Text type questions > preserves text answer when navigating between questions 1459ms
โ AskUserDialog > Text type questions > handles mixed text and choice questions 1887ms
โ AskUserDialog > Text type questions > does not submit empty text 143ms
โ AskUserDialog > Text type questions > clears text on Ctrl+C 740ms
โ AskUserDialog > Text type questions > allows immediate arrow navigation after switching away from text input 970ms
โ AskUserDialog > Text type questions > handles rapid sequential answers correctly (stale closure protection) 785ms
โ AskUserDialog > Markdown rendering > auto-bolds plain single-line questions 203ms
โ AskUserDialog > Markdown rendering > does not auto-bold questions that already have markdown 236ms
โ AskUserDialog > Markdown rendering > renders bold markdown in question 179ms
โ AskUserDialog > Markdown rendering > renders inline code markdown in question 251ms
โ AskUserDialog > uses availableTerminalHeight from UIStateContext if availableHeight prop is missing 240ms
โ AskUserDialog > does NOT truncate the question when in alternate buffer mode even with small height 341ms
โ AskUserDialog > Choice question placeholder > uses placeholder for "Other" option when provided 745ms
โ AskUserDialog > Choice question placeholder > uses default placeholder when not provided 890ms
โ src/utils/sessions.test.ts (17 tests) 639ms
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=run_shell_command, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: allowed-server__tool1, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=allowed-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: allowed-server__another_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=allowed-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: trusted-server__tool1, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: trusted-server__special_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: blocked-server__tool1, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: blocked-server__any_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle MCP server wildcard patterns correctly
[PolicyEngine.check] toolCall.name: unknown-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides AppContext with correct values
[SessionSummary] No chats directory found
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should correctly prioritize specific tool excludes over MCP server wildcards
[PolicyEngine.check] toolCall.name: my-server__safe-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should correctly prioritize specific tool excludes over MCP server wildcards
[PolicyEngine.check] toolCall.name: my-server__dangerous-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__dangerous-tool, decision=deny, priority=2.4, argsPattern=none
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides UIStateContext with state management
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides UIActionsContext with action handlers
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides ConfigContext with config object
[SessionSummary] No chats directory found
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: read_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=read_file, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: list_directory, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=list_directory, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: glob, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=glob, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: custom-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=custom-tool, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: my-server__special-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__special-tool, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: allowed-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=allowed-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: trusted-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: blocked-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with all display options disabled
[SessionSummary] No chats directory found
(node:5535) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with memory usage enabled
[SessionSummary] No chats directory found
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=allow, priority=1.999, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=allow, priority=1.999, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=allow, priority=1.999, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly
[PolicyEngine.check] toolCall.name: dangerous-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=dangerous-tool, decision=deny, priority=2.4, argsPattern=none
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 1.0.0
[SessionSummary] No chats directory found
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle AUTO_EDIT mode correctly
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=allow, priority=1.015, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle AUTO_EDIT mode correctly
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=allow, priority=1.015, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle AUTO_EDIT mode correctly
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=run_shell_command, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 2.1.3-beta
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 3.0.0-nightly
[SessionSummary] No chats directory found
(node:7125) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [EventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/config/extensions/github.test.ts (33 tests) 1355ms
โ github.ts > downloadFromGitHubRelease > should use correct headers for release assets 425ms
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: read_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=read_file, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: google_web_search, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=google_web_search, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: list_directory, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=list_directory, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle Plan mode correctly
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
โ src/utils/errors.test.ts (29 tests) 811ms
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should allow write_file to plans directory in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/my-plan.md"}
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=allow, priority=1.05, argsPattern="file_path":"[^"]+\/\.gemini\/tmp\/[a-f0-9]{64}\/plans\/[a-zA-Z0-9_-]+\.md"
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should allow write_file to plans directory in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/feature_auth.md"}
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=allow, priority=1.05, argsPattern="file_path":"[^"]+\/\.gemini\/tmp\/[a-f0-9]{64}\/plans\/[a-zA-Z0-9_-]+\.md"
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should deny write_file outside plans directory in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/project/src/file.ts"}
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should deny write_file outside plans directory in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/script.js"}
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should deny write_file outside plans directory in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/../../../etc/passwd.md"}
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should deny write_file outside plans directory in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/abc123/plans/plan.md"}
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should deny write_file to subdirectories in Plan mode
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: {"file_path":"/home/user/.gemini/tmp/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2/plans/subdir/plan.md"}
[PolicyEngine.check] MATCHED rule: toolName=undefined, decision=deny, priority=1.02, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: blocked-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-tool, decision=deny, priority=2.4, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: blocked-server__any, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=blocked-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: specific-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=specific-tool, decision=allow, priority=2.3, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: trusted-server__any, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=trusted-server__*, decision=allow, priority=2.2, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: mcp-server__any, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=mcp-server__*, decision=allow, priority=2.1, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify priority ordering works correctly in practice
[PolicyEngine.check] toolCall.name: glob, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=glob, decision=allow, priority=1.05, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle edge case: MCP server with both trust and exclusion
[PolicyEngine.check] toolCall.name: conflicted-server__tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=conflicted-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle edge case: specific tool allowed but server excluded
[PolicyEngine.check] toolCall.name: my-server__special-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle edge case: specific tool allowed but server excluded
[PolicyEngine.check] toolCall.name: my-server__other-tool, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=my-server__*, decision=deny, priority=2.9, argsPattern=none
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Error Handling > handles undefined settings gracefully
[SessionSummary] No chats directory found
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify non-interactive mode transformation
[PolicyEngine.check] toolCall.name: unknown_tool, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should verify non-interactive mode transformation
[PolicyEngine.check] toolCall.name: run_shell_command, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=run_shell_command, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle empty settings gracefully
[PolicyEngine.check] toolCall.name: write_file, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=write_file, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle empty settings gracefully
[PolicyEngine.check] toolCall.name: replace, stringifiedArgs: undefined
[PolicyEngine.check] MATCHED rule: toolName=replace, decision=ask_user, priority=1.01, argsPattern=none
stdout | src/config/policy-engine.integration.test.ts > Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle empty settings gracefully
[PolicyEngine.check] toolCall.name: unknown, stringifiedArgs: undefined
[PolicyEngine.check] NO MATCH - using default decision: ask_user
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Session Resumption > handles resumed session data correctly
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Session Resumption > handles resumed session data correctly
[SessionSummary] No chats directory found
โ src/config/extensions/extensionEnablement.test.ts (48 tests) 671ms
โ src/config/policy-engine.integration.test.ts (16 tests) 2722ms
โ Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings 361ms
โ Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle complex mixed configurations 383ms
โ Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should handle YOLO mode correctly 363ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Session Resumption > renders without resumed session data
[SessionSummary] No chats directory found
stderr | src/ui/utils/commandUtils.test.ts > commandUtils > getUrlOpenCommand > on unmatched OS > should return xdg-open
Unknown platform: unmatched. Attempting to open URLs with: xdg-open.
โ src/ui/utils/commandUtils.test.ts (30 tests) 886ms
โ src/utils/sessionUtils.test.ts (20 tests) 404ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Quota and Fallback Integration > passes a null proQuotaRequest to UIStateContext by default
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Quota and Fallback Integration > passes a valid proQuotaRequest to UIStateContext when provided by the hook
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Quota and Fallback Integration > passes the handleProQuotaChoice function to UIActionsContext
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > should update terminal title when in WaitingForConfirmation state with thought subject
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Action Required in title after a delay when shell is awaiting focus
[SessionSummary] No chats directory found
โ src/ui/commands/skillsCommand.test.ts (19 tests) 2638ms
โ skillsCommand > should add a SKILLS_LIST item to UI with descriptions by default 305ms
โ skillsCommand > disable/enable > should enable a skill 766ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Workingโฆ in title for redirected commands after 2 mins
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Workingโฆ in title for silent non-redirected commands after 1 min
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should NOT show Action Required in title if shell is streaming output
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should set and clear the queue error message after a timeout
[SessionSummary] No chats directory found
โ src/services/McpPromptLoader.test.ts (31 tests) 578ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Queue Error Message > should reset the timer if a new error message is set
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Terminal Height Calculation > should prevent terminal height from being less than 1
[SessionSummary] No chats directory found
โ src/config/settingsSchema.test.ts (22 tests) 471ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should cancel ongoing request on first press
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should quit on second press
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+C > should reset press count after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should quit on second press if buffer is empty
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should NOT quit if buffer is not empty (bubbles from InputPrompt)
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > CTRL+D > should reset press count after a timeout
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should focus shell input on Tab
[SessionSummary] No chats directory found
โฏ src/ui/components/InputPrompt.test.tsx (152 tests | 1 failed) 40863ms
โ InputPrompt > should call shellHistory.getPreviousCommand on up arrow in shell mode 2107ms
โ InputPrompt > should call shellHistory.getNextCommand on down arrow in shell mode 341ms
โ InputPrompt > should set the buffer text when a shell history command is retrieved 297ms
โ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 322ms
โ InputPrompt > should NOT call shell history methods when not in shell mode 361ms
โ InputPrompt > should call completion.navigateUp for both up arrow and Ctrl+P when suggestions are showing 447ms
โ InputPrompt > should call completion.navigateDown for both down arrow and Ctrl+N when suggestions are showing 249ms
โ InputPrompt > should NOT call completion navigation when suggestions are not showing 176ms
โ InputPrompt > should clear the buffer and reset completion on Ctrl+C 219ms
โ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 161ms
โ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 220ms
โ InputPrompt > clipboard image paste > should handle image save failure gracefully 203ms
โ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 172ms
โ InputPrompt > clipboard image paste > should handle errors during clipboard operations 226ms
โ InputPrompt > clipboard text paste > should insert text from clipboard on Ctrl+V 207ms
โ InputPrompt > clipboard text paste > should use OSC 52 when useOSC52Paste setting is enabled 445ms
โ InputPrompt > 'should complete a partial parent commโฆ' 910ms
โ InputPrompt > 'should append a sub-command when pareโฆ' 343ms
โ InputPrompt > 'should handle the backspace edge caseโฆ' 288ms
โ InputPrompt > 'should complete a partial argument foโฆ' 178ms
โ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 224ms
โ InputPrompt > should complete a command based on its altNames 280ms
โ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 186ms
โ InputPrompt > should submit directly on Enter when isPerfectMatch is true 221ms
โ InputPrompt > should execute perfect match on Enter even if suggestions are showing, if at first suggestion 258ms
โ InputPrompt > should autocomplete and NOT execute on Enter if a DIFFERENT suggestion is selected even if perfect match 288ms
โ InputPrompt > should submit directly on Enter when a complete leaf command is typed 224ms
โ InputPrompt > should auto-execute commands with autoExecute: true on Enter 231ms
โ InputPrompt > should autocomplete commands with autoExecute: false on Enter 249ms
โ InputPrompt > should autocomplete on Tab, even for executable commands 205ms
โ InputPrompt > should autocomplete custom commands from .toml files on Enter 279ms
โ InputPrompt > should auto-execute argument completion when command has autoExecute: true 273ms
โ InputPrompt > should autocomplete argument completion when command has autoExecute: false 261ms
โ InputPrompt > should autocomplete command name even with autoExecute: true if command has completion function 247ms
โ InputPrompt > should autocomplete an @-path on Enter without submitting 254ms
โ InputPrompt > should add a newline on enter when the line ends with a backslash 240ms
โ InputPrompt > should clear the buffer on Ctrl+C if it has text 178ms
โ InputPrompt > should render correctly in plan mode 198ms
โ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 196ms
โ InputPrompt > should call setBannerVisible(false) when clear screen key is pressed 218ms
โ InputPrompt > Background Color Styles > should render with background color by default 253ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is 'black' 449ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#000000' 250ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#000' 396ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is 'default (black)' 250ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is 'white' 254ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#ffffff' 261ms
โ InputPrompt > Background Color Styles > should render with safe grey background but NO side borders in 8-bit mode when background is '#fff' 276ms
โ InputPrompt > Background Color Styles > should NOT render with background color but SHOULD render horizontal lines when color depth is < 24 and background is NOT black 309ms
โ InputPrompt > Background Color Styles > should handle 4-bit color mode (16 colors) as low color depth 261ms
โ InputPrompt > Background Color Styles > should render horizontal lines (but NO background) in 8-bit mode when background is blue 267ms
โ InputPrompt > Background Color Styles > should render with plain borders when useBackgroundColor is false 289ms
โ InputPrompt > cursor-based completion trigger > 'should trigger completion when cursorโฆ' 305ms
โ InputPrompt > cursor-based completion trigger > 'should trigger completion when cursorโฆ' 253ms
โ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cuโฆ' 251ms
โ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cuโฆ' 217ms
โ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion when cuโฆ' 189ms
โ InputPrompt > cursor-based completion trigger > 'should handle multiline text correctly' 146ms
โ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters (emoโฆ' 198ms
โ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters withโฆ' 184ms
โ InputPrompt > cursor-based completion trigger > 'should handle escaped spaces in pathsโฆ' 217ms
โ InputPrompt > cursor-based completion trigger > 'should NOT trigger completion after uโฆ' 189ms
โ InputPrompt > cursor-based completion trigger > 'should handle multiple escaped spacesโฆ' 177ms
โ InputPrompt > cursor-based completion trigger > 'should handle escaped spaces in slashโฆ' 176ms
โ InputPrompt > cursor-based completion trigger > 'should handle Unicode characters withโฆ' 161ms
โ InputPrompt > vim mode > 'should not call buffer.handleInput whโฆ' 277ms
โ InputPrompt > vim mode > 'should call buffer.handleInput when vโฆ' 367ms
โ InputPrompt > vim mode > 'should call handleInput when vim modeโฆ' 132ms
โ InputPrompt > unfocused paste > should handle bracketed paste when not focused 311ms
โ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 147ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'mid-word' 161ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the beginning of the line' 156ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of the line' 158ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a highlighted token' 161ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'for multi-byte unicode characters' 189ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'after multi-byte unicode characters' 169ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of a line with unicode chaโฆ' 223ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'at the end of a short line with unicoโฆ' 196ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on an empty line' 171ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a space between words' 175ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'in the middle of a line' in a multiline block 346ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the beginning of a line' in a multiline block 187ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the end of a line' in a multiline block 200ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor on a blank line in a multiline block 239ms
โ InputPrompt > multiline rendering > should correctly render multiline input including blank lines 219ms
โ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 249ms
โ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 212ms
โ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 294ms
โ InputPrompt > large paste placeholder > should handle large clipboard paste (lines > 5) by calling buffer.insert 196ms
โ InputPrompt > large paste placeholder > should handle large clipboard paste (chars > 500) by calling buffer.insert 168ms
โ InputPrompt > large paste placeholder > should handle normal clipboard paste by calling buffer.insert 185ms
โ InputPrompt > large paste placeholder > should replace placeholder with actual content on submit 197ms
โ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after an unsafe paste 433ms
โ InputPrompt > paste auto-submission protection > should allow submission after unsafe paste protection timeout 422ms
โ InputPrompt > paste auto-submission protection > should allow immediate submission for a trusted paste ('kitty') 303ms
โ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 339ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should clear buffer on Ctrl-C 219ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should submit /rewind on double ESC when buffer is empty 176ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should clear the buffer on esc esc if it has text 184ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should reset escape state on any non-ESC key 229ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should handle ESC in shell mode by disabling shell mode 169ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should handle ESC when completion suggestions are showing 228ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should not call onEscapePromptChange when not provided 231ms
โ InputPrompt > enhanced input UX - keyboard shortcuts > should not interfere with existing keyboard shortcuts 222ms
โ InputPrompt > reverse search > invokes reverse search on Ctrl+R 347ms
โ InputPrompt > reverse search > resets reverse search state on Escape ('standard') 377ms
โ InputPrompt > reverse search > resets reverse search state on Escape ('kitty') 305ms
โ InputPrompt > reverse search > completes the highlighted entry on Tab and exits reverse-search 335ms
โ InputPrompt > reverse search > submits the highlighted entry on Enter and exits reverse-search 369ms
โ InputPrompt > reverse search > should restore text and cursor position after reverse search" 334ms
โ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 151ms
โ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 165ms
โ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 221ms
โ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 504ms
โ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 291ms
โ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 300ms
โ InputPrompt > command search (Ctrl+R when not in shell) > ensures Ctrl+R search results are prioritized newest-to-oldest by reversing userMessages 186ms
โ InputPrompt > Tab focus toggle > 'should toggle focus in on Tab when noโฆ' 178ms
โ InputPrompt > Tab focus toggle > 'should accept ghost text and NOT toggโฆ' 137ms
โ InputPrompt > Tab focus toggle > 'should NOT toggle focus on Tab when sโฆ' 185ms
โ InputPrompt > mouse interaction > should move cursor on mouse click - 'first line, first char' 271ms
โ InputPrompt > mouse interaction > should move cursor on mouse click - 'first line, middle char' 193ms
โ InputPrompt > mouse interaction > should move cursor on mouse click - 'second line, first char' 164ms
โ InputPrompt > mouse interaction > should move cursor on mouse click - 'second line, end char' 195ms
โ InputPrompt > mouse interaction > should unfocus embedded shell on click 287ms
โ InputPrompt > mouse interaction > should toggle paste expansion on double-click 562ms
ร InputPrompt > mouse interaction > should collapse expanded paste on double-click after the end of the line 1763ms
โ expected 'โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '[Pasted Text: 10 lines]'
โ InputPrompt > mouse interaction > should move cursor on mouse click with plain borders 185ms
โ InputPrompt > queued message editing > should load all queued messages when up arrow is pressed with empty input 204ms
โ InputPrompt > queued message editing > should not load queued messages when input is not empty 210ms
โ InputPrompt > queued message editing > should handle undefined messages from popAllMessages 224ms
โ InputPrompt > queued message editing > should work with NAVIGATION_UP key as well 259ms
โ InputPrompt > queued message editing > should handle single queued message 194ms
โ InputPrompt > queued message editing > should only check for queued messages when buffer text is trimmed empty 208ms
โ InputPrompt > queued message editing > should not call popAllMessages if it is not provided 240ms
โ InputPrompt > queued message editing > should navigate input history on fresh start when no queued messages exist 216ms
โ InputPrompt > snapshots > should render correctly in shell mode 224ms
โ InputPrompt > snapshots > should render correctly when accepting edits 209ms
โ InputPrompt > snapshots > should render correctly in yolo mode 246ms
โ InputPrompt > snapshots > should not show inverted cursor when shell is focused 197ms
โ InputPrompt > should still allow input when shell is not focused 241ms
โ InputPrompt > command queuing while streaming > 'should prevent slash commands' 239ms
โ InputPrompt > command queuing while streaming > 'should prevent shell commands' 214ms
โ InputPrompt > command queuing while streaming > 'should allow regular messages' 192ms
โ InputPrompt > IME Cursor Support > should report correct cursor position for simple ASCII text 213ms
โ InputPrompt > IME Cursor Support > should report correct cursor position for text with double-width characters 203ms
โ InputPrompt > IME Cursor Support > should report correct cursor position for a line full of "๐" emojis 191ms
โ InputPrompt > IME Cursor Support > should report correct cursor position for mixed emojis and multi-line input 165ms
โ InputPrompt > IME Cursor Support > should report correct cursor position and focus for multi-line input 236ms
โ InputPrompt > IME Cursor Support > should report cursor position 0 when input is empty and placeholder is shown 206ms
โ InputPrompt > image path transformation snapshots > should snapshot collapsed image path 241ms
โ InputPrompt > image path transformation snapshots > should snapshot expanded image path when cursor is on it 195ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should unfocus shell input on Shift+Tab
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should auto-unfocus when activePtyId becomes null
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Focus Handling (Tab / Shift+Tab) > should focus background shell on Tab when already visible (not toggle it off)
[SessionSummary] No chats directory found
โ src/config/trustedFolders.test.ts (31 tests) 1071ms
โ Trusted Folders > Locking & Concurrency > setValue should handle concurrent calls correctly using real lockfile 320ms
(node:7596) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/validateNonInterActiveAuth.test.ts (17 tests) 424ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Background Shell Toggling (CTRL+B) > should toggle background shell on Ctrl+B even if visible but not focused
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Keyboard Input Handling (CTRL+C / CTRL+D) > Background Shell Toggling (CTRL+B) > should show and focus background shell on Ctrl+B if hidden
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Normal Mode' > should NOT toggle mouse off when Ctrl+S is pressed
[SessionSummary] No chats directory found
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/hooks/useCommandCompletion.test.tsx (27 tests) 3140ms
โ useCommandCompletion > Core Hook Behavior > State Management > should initialize with default state 865ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Alternate Buffer Mode' > should toggle mouse off when Ctrl+S is pressed
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Alternate Buffer Mode' > should toggle mouse back on when Ctrl+S is pressed again
[SessionSummary] No chats directory found
โ src/ui/keyMatchers.test.ts (57 tests) 436ms
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Copy Mode (CTRL+S) > 'Alternate Buffer Mode' > should exit copy mode on any key press
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Model Dialog Integration > should provide isModelDialogOpen in the UIStateContext
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Model Dialog Integration > should provide model dialog actions in the UIActionsContext
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Agent Configuration Dialog Integration > should initialize with dialog closed and no agent selected
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Agent Configuration Dialog Integration > should update state when openAgentConfigDialog is called
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Agent Configuration Dialog Integration > should clear state when closeAgentConfigDialog is called
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > subscribes to UserFeedback and drains backlog on mount
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > unsubscribes from UserFeedback on unmount
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > adds history item when UserFeedback event is received
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > updates currentModel when ModelChanged event is received
[SessionSummary] No chats directory found
stderr | src/ui/hooks/useCommandCompletion.test.tsx
React has detected a change in the order of Hooks called by TestComponent. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks
Previous render Next render
------------------------------------------------------
1. useMemo useMemo
2. useReducer useReducer
3. useMemo useMemo
4. useMemo useMemo
5. useState useState
6. useEffect useEffect
7. useEffect useEffect
8. useEffect useEffect
9. useCallback useCallback
10. useCallback useCallback
11. useCallback useCallback
12. useCallback useCallback
13. useCallback useCallback
14. useCallback useCallback
15. useCallback useCallback
16. useCallback useCallback
17. useCallback useCallback
18. useCallback useCallback
19. useCallback useCallback
20. useCallback useCallback
21. useCallback useCallback
22. useCallback useCallback
23. useCallback useCallback
24. useCallback useCallback
25. useCallback useCallback
26. useCallback useCallback
27. useCallback useCallback
28. useCallback useCallback
29. useCallback useCallback
30. useCallback useCallback
31. useCallback useCallback
32. useCallback useCallback
33. useCallback useCallback
34. useCallback useCallback
35. useCallback useCallback
36. useCallback useCallback
37. useCallback useCallback
38. useCallback useCallback
39. useCallback useCallback
40. useCallback useCallback
41. useCallback useCallback
42. useCallback useCallback
43. useCallback useCallback
44. useCallback useCallback
45. useCallback useCallback
46. useCallback useCallback
47. useCallback useCallback
48. useCallback useCallback
49. useCallback useCallback
50. useCallback useCallback
51. useCallback useCallback
52. useCallback useCallback
53. useCallback useCallback
54. useCallback useCallback
55. useMemo useMemo
56. useMemo useMemo
57. useCallback useCallback
58. useCallback useCallback
59. useCallback useCallback
60. useCallback useCallback
61. useCallback useCallback
62. useCallback useCallback
63. useCallback useCallback
64. useCallback useCallback
65. useMemo useMemo
66. useState useState
67. useState useState
68. useState useState
69. useState useState
70. useState useState
71. useState useState
72. useCallback useCallback
73. useCallback useCallback
74. useCallback useCallback
75. useMemo useMemo
76. useEffect useState
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > provides activeHooks from useHookDisplayState
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > handles consent request events
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > CoreEvents Integration > unsubscribes from ConsentRequest on unmount
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Shell Interaction > should not crash if resizing the pty fails
[SessionSummary] No chats directory found
stderr | src/ui/hooks/useCommandCompletion.test.tsx
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Banner Text > should render placeholder banner text for USE_GEMINI auth type
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > onCancelSubmit Behavior > clears the prompt when onCancelSubmit is called with shouldRestorePrompt=false
[SessionSummary] No chats directory found
stdout | src/gemini.test.tsx > getNodeMemoryArgs > should log debug info when isDebugMode is true
Current heap size 4096.00 MB
Need to relaunch with more memory: 8192.00 MB
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex State Management > should track modified settings correctly
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > onCancelSubmit Behavior > restores the prompt when onCancelSubmit is called with shouldRestorePrompt=true (or undefined)
[SessionSummary] No chats directory found
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > onCancelSubmit Behavior > input history is independent from conversation history (survives /clear)
[SessionSummary] No chats directory found
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโฆ'
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mfalse[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mfalse[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโฆ'
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mfalse[39m
[DEBUG SettingsDialog] Saving tools.shell.showColor immediately with value: [33mtrue[39m
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Regression Tests > does not refresh static on startup if banner text is empty
[SessionSummary] No chats directory found
]0;โ Ready (cli) ]0;๐ต โ Ready (cli) \ โ src/utils/sandbox.test.ts (8 tests) 651ms
Error: The --prompt-interactive flag cannot be used when input is piped from stdin.
โ src/ui/AppContainer.test.tsx (78 tests) 21529ms
โ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 1506ms
โ AppContainer State Management > State Initialization > initializes with theme error from initialization result 512ms
โ AppContainer State Management > State Initialization > handles debug mode state 3387ms
โ AppContainer State Management > Error Handling > handles config methods that might throw 614ms
โ AppContainer State Management > Session Resumption > initializes chat recording service when config has it 634ms
โ AppContainer State Management > Session Recording Integration > provides chat recording service configuration 558ms
โ AppContainer State Management > Session Recording Integration > handles session recording when messages are added 481ms
โ AppContainer State Management > Session Resume Flow > accepts resumed session data 414ms
โ AppContainer State Management > Session Resume Flow > does not attempt resume when client is not initialized 446ms
โ AppContainer State Management > Token Counting from Session Stats > tracks token counts from session messages 750ms
โ AppContainer State Management > Quota and Fallback Integration > passes a valid proQuotaRequest to UIStateContext when provided by the hook 312ms
โ AppContainer State Management > Terminal Title Update Feature > Shell Focus Action Required > should show Action Required in title after a delay when shell is awaiting focus 427ms
โฏ src/ui/components/shared/text-buffer.test.ts (215 tests | 2 failed) 60505ms
โ textBufferReducer > should return the initial state if state is undefined 113ms
โ textBufferReducer > set_text action > should set new text and move cursor to the end 52ms
โ textBufferReducer > set_text action > should not create an undo snapshot if pushToUndo is false 14ms
โ textBufferReducer > insert action > should insert a character 26ms
โ textBufferReducer > insert action > should insert a newline 16ms
โ textBufferReducer > insert action with options > should filter input using inputFilter option 15ms
โ textBufferReducer > insert action with options > should strip newlines when singleLine option is true 16ms
โ textBufferReducer > insert action with options > should apply both inputFilter and singleLine options 15ms
โ textBufferReducer > add_pasted_content action > should add content to pastedContent Record 8ms
โ textBufferReducer > backspace action > should remove a character 12ms
โ textBufferReducer > backspace action > should join lines if at the beginning of a line 24ms
โ textBufferReducer > atomic placeholder deletion > paste placeholders > backspace at end of paste placeholder removes entire placeholder 34ms
โ textBufferReducer > atomic placeholder deletion > paste placeholders > delete at start of paste placeholder removes entire placeholder 6ms
โ textBufferReducer > atomic placeholder deletion > paste placeholders > backspace inside paste placeholder does normal deletion 7ms
โ textBufferReducer > atomic placeholder deletion > image placeholders > backspace at end of image path removes entire path 20ms
โ textBufferReducer > atomic placeholder deletion > image placeholders > delete at start of image path removes entire path 6ms
โ textBufferReducer > atomic placeholder deletion > image placeholders > backspace inside image path does normal deletion 12ms
โ textBufferReducer > atomic placeholder deletion > undo behavior > undo after placeholder deletion restores everything 13ms
โ textBufferReducer > undo/redo actions > should undo and redo a change 10ms
โ textBufferReducer > create_undo_snapshot action > should create a snapshot without changing state 7ms
โ textBufferReducer > delete_word_left action > should delete 'simple word' 32ms
โ textBufferReducer > delete_word_left action > should delete 'path segment' 9ms
โ textBufferReducer > delete_word_left action > should delete 'variable_name parts' 17ms
โ textBufferReducer > delete_word_left action > should act like backspace at the beginning of a line 10ms
โ textBufferReducer > delete_word_right action > should delete 'simple word' 15ms
โ textBufferReducer > delete_word_right action > should delete 'variable_name parts' 17ms
โ textBufferReducer > delete_word_right action > should delete path segments progressively 13ms
โ textBufferReducer > delete_word_right action > should act like delete at the end of a line 10ms
โ textBufferReducer > toggle_paste_expansion action > should expand a placeholder correctly 22ms
โ textBufferReducer > toggle_paste_expansion action > should collapse an expanded placeholder correctly 12ms
โ textBufferReducer > toggle_paste_expansion action > should expand single-line content correctly 9ms
โ textBufferReducer > toggle_paste_expansion action > should return current state if placeholder ID not found in pastedContent 4ms
โ textBufferReducer > toggle_paste_expansion action > should preserve expandedPaste when lines change from edits outside the region 15ms
โ useTextBuffer > Initialization > should initialize with empty text and cursor at (0,0) by default 455ms
โ useTextBuffer > Initialization > should initialize with provided initialText 74ms
โ useTextBuffer > Initialization > should initialize with initialText and initialCursorOffset 78ms
โ useTextBuffer > Initialization > should wrap visual lines 43ms
โ useTextBuffer > Initialization > should wrap visual lines with multiple spaces 35ms
โ useTextBuffer > Initialization > should wrap visual lines even without spaces 36ms
โ useTextBuffer > Initialization > should initialize with multi-byte unicode characters and correct cursor offset 376ms
โ useTextBuffer > Basic Editing > insert: should insert a character and update cursor 38ms
โ useTextBuffer > Basic Editing > insert: should insert text in the middle of a line 33ms
โ useTextBuffer > Basic Editing > insert: should use placeholder for large text paste 55ms
โ useTextBuffer > Basic Editing > insert: should NOT use placeholder for large text if NOT a paste 66ms
โ useTextBuffer > Basic Editing > insert: should clean up pastedContent when placeholder is deleted 93ms
โ useTextBuffer > Basic Editing > insert: should clean up pastedContent when placeholder is removed via atomic backspace 34ms
โ useTextBuffer > Basic Editing > newline: should create a new line and move cursor 29ms
โ useTextBuffer > Basic Editing > backspace: should delete char to the left or merge lines 37ms
โ useTextBuffer > Basic Editing > del: should delete char to the right or merge lines 27ms
โ useTextBuffer > Drag and Drop File Paths > should prepend @ to a valid file path on insert 26ms
โ useTextBuffer > Drag and Drop File Paths > should not prepend @ to an invalid file path on insert 22ms
โ useTextBuffer > Drag and Drop File Paths > should handle quoted paths 28ms
โ useTextBuffer > Drag and Drop File Paths > should not prepend @ to short text that is not a path 26ms
โ useTextBuffer > Drag and Drop File Paths > should prepend @ to multiple valid file paths on insert 35ms
โ useTextBuffer > Drag and Drop File Paths > should handle multiple paths with escaped spaces 45ms
โ useTextBuffer > Drag and Drop File Paths > should only prepend @ to valid paths in multi-path paste 32ms
โ useTextBuffer > Shell Mode Behavior > should not prepend @ to valid file paths when shellModeActive is true 28ms
โ useTextBuffer > Shell Mode Behavior > should not prepend @ to quoted paths when shellModeActive is true 30ms
โ useTextBuffer > Shell Mode Behavior > should behave normally with invalid paths when shellModeActive is true 29ms
โ useTextBuffer > Shell Mode Behavior > should behave normally with short text when shellModeActive is true 21ms
โ useTextBuffer > Cursor Movement > move: left/right should work within and across visual lines (due to wrapping) 61ms
โ useTextBuffer > Cursor Movement > move: up/down should preserve preferred visual column 70ms
โ useTextBuffer > Cursor Movement > move: home/end should go to visual line start/end 38ms
โ useTextBuffer > Visual Layout & Viewport > should wrap long lines correctly into visualLines 23ms
โ useTextBuffer > Visual Layout & Viewport > should update visualScrollRow when visualCursor moves out of viewport 80ms
โ useTextBuffer > Undo/Redo > should undo and redo an insert operation 83ms
โ useTextBuffer > Undo/Redo > should undo and redo a newline operation 66ms
โ useTextBuffer > Unicode Handling > insert: should correctly handle multi-byte unicode characters 44ms
โ useTextBuffer > Unicode Handling > backspace: should correctly delete multi-byte unicode characters 109ms
โ useTextBuffer > Unicode Handling > move: left/right should treat multi-byte chars as single units for visual cursor 40ms
โ useTextBuffer > Unicode Handling > move: up/down should work on wrapped lines (regression test) 34ms
โ useTextBuffer > Unicode Handling > moveToVisualPosition: should correctly handle wide characters (Chinese) 44ms
โ useTextBuffer > handleInput > should insert printable characters 31ms
โ useTextBuffer > handleInput > should handle "Enter" key as newline 28ms
โ useTextBuffer > handleInput > should handle Ctrl+J as newline 28ms
โ useTextBuffer > handleInput > should do nothing for a tab key press 31ms
โ useTextBuffer > handleInput > should do nothing for a shift tab key press 32ms
โ useTextBuffer > handleInput > should handle CLEAR_INPUT (Ctrl+C) 30ms
โ useTextBuffer > handleInput > should NOT handle CLEAR_INPUT if buffer is empty 22ms
โ useTextBuffer > handleInput > should handle "Backspace" key 34ms
โ useTextBuffer > handleInput > should handle multiple delete characters in one input 52ms
โ useTextBuffer > handleInput > should handle inserts that contain delete characters 27ms
โ useTextBuffer > handleInput > should handle inserts with a mix of regular and delete characters 28ms
โ useTextBuffer > handleInput > should handle arrow keys for movement 26ms
โ useTextBuffer > handleInput > should strip ANSI escape codes when pasting text 22ms
โ useTextBuffer > handleInput > should handle VSCode terminal Shift+Enter as newline 29ms
โ useTextBuffer > handleInput > should correctly handle repeated pasting of long text 58ms
โ useTextBuffer > replaceRange > should replace a single-line range with single-line text 29ms
โ useTextBuffer > replaceRange > should replace a multi-line range with single-line text 26ms
โ useTextBuffer > replaceRange > should delete a range when replacing with an empty string 28ms
โ useTextBuffer > replaceRange > should handle replacing at the beginning of the text 25ms
โ useTextBuffer > replaceRange > should handle replacing at the end of the text 20ms
โ useTextBuffer > replaceRange > should handle replacing the entire buffer content 22ms
โ useTextBuffer > replaceRange > should correctly replace with unicode characters 20ms
โ useTextBuffer > replaceRange > should handle invalid range by returning false and not changing text 20ms
โ useTextBuffer > replaceRange > replaceRange: multiple lines with a single character 23ms
โ useTextBuffer > replaceRange > should replace a single-line range with multi-line text 26ms
โ useTextBuffer > Input Sanitization > should strip 'ANSI escape codes' from input 33ms
โ useTextBuffer > Input Sanitization > should strip 'control characters' from input 19ms
โ useTextBuffer > Input Sanitization > should strip 'mixed ANSI and control characters' from input 22ms
โ useTextBuffer > Input Sanitization > should strip 'pasted text with ANSI' from input 24ms
โ useTextBuffer > Input Sanitization > should not strip standard characters or newlines 25ms
ร useTextBuffer > Input Sanitization > should sanitize large text (>5000 chars) and strip unsafe characters 17091ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
ร useTextBuffer > Input Sanitization > should sanitize large ANSI text (>5000 chars) and strip escape codes 37150ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ useTextBuffer > Input Sanitization > should not strip popular emojis 53ms
โ useTextBuffer > inputFilter > should filter input based on the provided filter function 38ms
โ useTextBuffer > inputFilter > should handle empty result from filter 43ms
โ useTextBuffer > inputFilter > should filter pasted text 35ms
โ useTextBuffer > inputFilter > should not filter newlines if they are allowed by the filter 33ms
โ useTextBuffer > inputFilter > should filter before newline check in insert 35ms
โ useTextBuffer > stripAnsi > should correctly strip ANSI escape codes 9ms
โ useTextBuffer > stripAnsi > should handle multiple ANSI codes 9ms
โ useTextBuffer > stripAnsi > should not modify text without ANSI codes 9ms
โ useTextBuffer > stripAnsi > should handle empty string 8ms
โ useTextBuffer > Memoization > should keep action references stable across re-renders 46ms
โ useTextBuffer > Memoization > should have memoized actions that operate on the latest state 42ms
โ useTextBuffer > singleLine mode > should not insert a newline character when singleLine is true 31ms
โ useTextBuffer > singleLine mode > should not create a new line when newline() is called and singleLine is true 35ms
โ useTextBuffer > singleLine mode > should not handle "Enter" key as newline when singleLine is true 28ms
โ useTextBuffer > singleLine mode > should not print anything for function keys when singleLine is true 27ms
โ useTextBuffer > singleLine mode > should strip newlines from pasted text when singleLine is true 64ms
โ offsetToLogicalPos > should handle 'offset 0' 16ms
โ offsetToLogicalPos > should handle 'single line start' 8ms
โ offsetToLogicalPos > should handle 'single line middle' 5ms
โ offsetToLogicalPos > should handle 'single line end' 4ms
โ offsetToLogicalPos > should handle 'beyond end clamps' 4ms
โ offsetToLogicalPos > should handle 'empty lines - first char' 3ms
โ offsetToLogicalPos > should handle 'empty lines - end of first' 3ms
โ offsetToLogicalPos > should handle 'empty lines - empty line' 3ms
โ offsetToLogicalPos > should handle 'empty lines - last line start' 3ms
โ offsetToLogicalPos > should handle 'empty lines - last line end' 3ms
โ offsetToLogicalPos > should handle 'newline end - before newline' 4ms
โ offsetToLogicalPos > should handle 'newline end - after newline' 4ms
โ offsetToLogicalPos > should handle 'newline end - beyond' 4ms
โ offsetToLogicalPos > should handle 'newline start - first line' 5ms
โ offsetToLogicalPos > should handle 'newline start - second line' 4ms
โ offsetToLogicalPos > should handle 'newline start - middle of second' 8ms
โ offsetToLogicalPos > should handle 'empty string at 0' 7ms
โ offsetToLogicalPos > should handle 'empty string beyond' 5ms
โ offsetToLogicalPos > should handle 'unicode - start' 4ms
โ offsetToLogicalPos > should handle 'unicode - after first char' 4ms
โ offsetToLogicalPos > should handle 'unicode - end first line' 3ms
โ offsetToLogicalPos > should handle 'unicode - second line start' 3ms
โ offsetToLogicalPos > should handle 'unicode - second line middle' 3ms
โ offsetToLogicalPos > should handle 'unicode - second line end' 3ms
โ offsetToLogicalPos > should handle 'unicode - beyond' 3ms
โ offsetToLogicalPos > should handle 'at newline - end of line' 3ms
โ offsetToLogicalPos > should handle 'at newline - after newline' 3ms
โ offsetToLogicalPos > should handle 'emoji - start' 3ms
โ offsetToLogicalPos > should handle 'emoji - middle' 4ms
โ offsetToLogicalPos > should handle 'emoji - end' 4ms
โ offsetToLogicalPos > multi-line text > should return [ +0, +0 ] for 'start of first line' (offset +0) 5ms
โ offsetToLogicalPos > multi-line text > should return [ +0, 3 ] for 'middle of first line' (offset 3) 4ms
โ offsetToLogicalPos > multi-line text > should return [ +0, 5 ] for 'end of first line' (offset 5) 4ms
โ offsetToLogicalPos > multi-line text > should return [ 1, +0 ] for 'start of second line' (offset 6) 4ms
โ offsetToLogicalPos > multi-line text > should return [ 1, 2 ] for 'middle of second line' (offset 8) 3ms
โ offsetToLogicalPos > multi-line text > should return [ 1, 5 ] for 'end of second line' (offset 11) 5ms
โ offsetToLogicalPos > multi-line text > should return [ 2, +0 ] for 'start of third line' (offset 12) 4ms
โ offsetToLogicalPos > multi-line text > should return [ 2, 1 ] for 'middle of third line' (offset 13) 4ms
โ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'end of third line' (offset 15) 10ms
โ offsetToLogicalPos > multi-line text > should return [ 2, 3 ] for 'beyond end' (offset 20) 5ms
โ logicalPosToOffset > should convert row/col position to offset correctly 11ms
โ logicalPosToOffset > should handle empty lines 8ms
โ logicalPosToOffset > should handle single empty line 5ms
โ logicalPosToOffset > should be inverse of offsetToLogicalPos 13ms
โ logicalPosToOffset > should handle out-of-bounds positions 5ms
โ textBufferReducer vim operations > vim_delete_line > should delete a single line including newline in multi-line text 28ms
โ textBufferReducer vim operations > vim_delete_line > should delete multiple lines when count > 1 14ms
โ textBufferReducer vim operations > vim_delete_line > should clear single line content when only one line exists 13ms
โ textBufferReducer vim operations > vim_delete_line > should handle deleting the last line properly 10ms
โ textBufferReducer vim operations > vim_delete_line > should handle deleting all lines and maintain valid state for subsequent paste 12ms
โ Unicode helper functions > findWordEndInLine with Unicode > should handle combining characters 21ms
โ Unicode helper functions > findWordEndInLine with Unicode > should handle precomposed characters with diacritics 6ms
โ Unicode helper functions > findWordEndInLine with Unicode > should return null when no word end found 5ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle right-to-left text 8ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle Chinese characters 5ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should return null at end of line 5ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle combining characters 7ms
โ Unicode helper functions > findNextWordStartInLine with Unicode > should handle precomposed characters with diacritics 5ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return true for ASCII word characters 7ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return false for punctuation 25ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return true for non-Latin scripts 5ms
โ Unicode helper functions > isWordCharStrict with Unicode > should return false for whitespace 5ms
โ Unicode helper functions > cpLen with Unicode > should handle combining characters 3ms
โ Unicode helper functions > cpLen with Unicode > should handle Chinese and Arabic text 4ms
โ Unicode helper functions > useTextBuffer CJK Navigation > should navigate by word in Chinese 105ms
โ Unicode helper functions > useTextBuffer CJK Navigation > should navigate mixed English and Chinese 60ms
โ Transformation Utilities > getTransformedImagePath > should transform a simple image path 10ms
โ Transformation Utilities > getTransformedImagePath > should handle paths with directories 10ms
โ Transformation Utilities > getTransformedImagePath > should truncate long filenames 6ms
โ Transformation Utilities > getTransformedImagePath > should handle different image extensions 7ms
โ Transformation Utilities > getTransformedImagePath > should handle POSIX-style forward-slash paths on any platform 8ms
โ Transformation Utilities > getTransformedImagePath > should handle Windows-style backslash paths on any platform 6ms
โ Transformation Utilities > getTransformedImagePath > should handle escaped spaces in paths 8ms
โ Transformation Utilities > getTransformationsForLine > should find transformations in a line 23ms
โ Transformation Utilities > getTransformationsForLine > should handle no transformations 7ms
โ Transformation Utilities > getTransformationsForLine > should handle empty line 8ms
โ Transformation Utilities > getTransformationsForLine > should keep adjacent image paths as separate transformations 12ms
โ Transformation Utilities > getTransformationsForLine > should handle multiple transformations in a row 35ms
โ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is inside it 10ms
โ Transformation Utilities > getTransformUnderCursor > should find transformation when cursor is at start 9ms
โ Transformation Utilities > getTransformUnderCursor > should NOT find transformation when cursor is at end 8ms
โ Transformation Utilities > getTransformUnderCursor > should return null when cursor is not on a transformation 8ms
โ Transformation Utilities > getTransformUnderCursor > should handle empty transformations array 8ms
โ Transformation Utilities > getTransformUnderCursor > regression: should not find paste transformation when clicking one character after it 7ms
โ Transformation Utilities > calculateTransformedLine > should transform a line with one transformation 13ms
โ Transformation Utilities > calculateTransformedLine > should handle cursor inside transformation 6ms
โ Transformation Utilities > calculateTransformedLine > should handle line with no transformations 7ms
โ Transformation Utilities > calculateTransformedLine > should handle empty line 6ms
โ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via setText' 368ms
โ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when line content changes 'via replaceRange' 85ms
โ Transformation Utilities > Layout Caching and Invalidation > should invalidate cache when viewport width changes 104ms
โ Transformation Utilities > Layout Caching and Invalidation > should correctly handle cursor expansion/collapse in cached layout 98ms
โ Transformation Utilities > Layout Caching and Invalidation > should reuse cache for unchanged lines during editing 120ms
โ Transformation Utilities > Scroll Regressions > should not show empty viewport when collapsing a large paste that was scrolled 66ms
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx (28 tests | 4 failed) 11300ms
โ > Golden Snapshots > renders single successful tool call 1970ms
โ > Golden Snapshots > renders multiple tool calls with different statuses 787ms
ร > Golden Snapshots > renders tool call awaiting confirmation 778ms
โ Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched
โ > Golden Snapshots > renders shell command with yellow border 403ms
โ > Golden Snapshots > renders mixed tool calls including shell command 550ms
โ > Golden Snapshots > renders with limited terminal height 500ms
โ > Golden Snapshots > renders when not focused 206ms
โ > Golden Snapshots > renders with narrow terminal width 248ms
โ > Golden Snapshots > renders empty tool calls array 58ms
โ > Golden Snapshots > renders header when scrolled 589ms
โ > Golden Snapshots > renders tool call with outputFile 320ms
โ > Golden Snapshots > renders two tool groups where only the last line of the previous group is visible 452ms
โ > Border Color Logic > uses yellow border when tools are pending 258ms
โ > Border Color Logic > uses yellow border for shell commands even when successful 254ms
โ > Border Color Logic > uses gray border when all tools are successful and no shell commands 523ms
โ > Height Calculation > calculates available height correctly with multiple tools with results 583ms
ร > Confirmation Handling > shows confirmation dialog for first confirming tool only 737ms
โ Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched
ร > Confirmation Handling > renders confirmation with permanent approval enabled 762ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Allow for all future sessions'
ร > Confirmation Handling > renders confirmation with permanent approval disabled 364ms
โ Snapshot ` > Confirmation Handling > renders confirmation with permanent approval disabled 1` mismatched
โ > Event-Driven Scheduler > hides confirming tools when event-driven scheduler is enabled 49ms
โ > Event-Driven Scheduler > shows only successful tools when mixed with confirming tools 202ms
โ > Event-Driven Scheduler > renders nothing when only tool is in-progress AskUser with borderBottom=false 32ms
โ > Ask User Filtering > filters out ask_user when status is Pending 34ms
โ > Ask User Filtering > filters out ask_user when status is Executing 28ms
โ > Ask User Filtering > filters out ask_user when status is Confirming 37ms
โ > Ask User Filtering > does NOT filter out ask_user when status is Success 205ms
โ > Ask User Filtering > does NOT filter out ask_user when status is Error 133ms
โ > Ask User Filtering > shows other tools when ask_user is filtered out 198ms
โ src/ui/hooks/useSessionResume.test.ts (14 tests) 982ms
โ useSessionResume > loadHistoryForResume > should return a loadHistoryForResume callback 446ms
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/commands/directoryCommand.test.tsx (21 tests) 580ms
โ src/ui/utils/clipboardUtils.test.ts (34 tests) 5070ms
โ clipboardUtils > clipboardHasImage (Linux) > should return false if tool fails 444ms
โ clipboardUtils > saveClipboardImage (Linux) > should save image using wl-paste if detected 329ms
โ clipboardUtils > parsePastedPaths > should add @ prefix to all valid paths 384ms
]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l]0;Gemini CLI (root) ]0;๐ต Gemini CLI (root) \[?7l โ src/gemini.test.tsx (35 tests | 1 skipped) 9267ms
โ gemini.tsx main function > should log unhandled promise rejections and open debug console on first error 433ms
โ gemini.tsx main function kitty protocol > should call setRawMode and detectCapabilities when isInteractive is true 489ms
โ gemini.tsx main function kitty protocol > should log warning when theme is not found 338ms
โ gemini.tsx main function kitty protocol > should handle session selector error 308ms
โ gemini.tsx main function kitty protocol > should read from stdin in non-interactive mode 425ms
โ gemini.tsx main function exit codes > should exit with 42 for session resume failure 460ms
โ gemini.tsx main function exit codes > should exit with 42 for no input provided 907ms
โ gemini.tsx main function exit codes > should validate and refresh auth in non-interactive mode when no auth type is selected but env var is present 1795ms
โ project hooks loading based on trust > should load project hooks when workspace is trusted 1479ms
โ project hooks loading based on trust > should NOT load project hooks when workspace is not trusted 696ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/ui/components/Composer.test.tsx (25 tests) 4455ms
โ Composer > Footer Display Settings > renders Footer by default when hideFooter is false 1553ms
(node:7588) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-client-update listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/Composer.test.tsx
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > parseArguments > should set isCommand to true for hooks command
Usage: gemini hooks migrate --from-claude
Migrate hooks from Claude Code to Gemini CLI format.
stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should leave proxy to empty by default
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig > Proxy configuration > should leave proxy to empty by default
innerError Error: Cannot find module '../build/Debug/pty.node'
Require stack:
- /build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/unixTerminal.js
- /build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/index.js
[90m at Module._resolveFilename (node:internal/modules/cjs/loader:1455:15)[39m
[90m at defaultResolveImpl (node:internal/modules/cjs/loader:1065:19)[39m
[90m at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1070:22)[39m
[90m at Module._load (node:internal/modules/cjs/loader:1241:25)[39m
[90m at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)[39m
[90m at Module.require (node:internal/modules/cjs/loader:1555:12)[39m
[90m at require (node:internal/modules/helpers:152:16)[39m
at Object. (/build/gemini-cli/src/gemini-cli/node_modules/[4mnode-pty[24m/src/unixTerminal.ts:20:11)
[90m at Module._compile (node:internal/modules/cjs/loader:1811:14)[39m
[90m at Object..js (node:internal/modules/cjs/loader:1942:10)[39m {
code: [32m'MODULE_NOT_FOUND'[39m,
requireStack: [
[32m'/build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/unixTerminal.js'[39m,
[32m'/build/gemini-cli/src/gemini-cli/node_modules/node-pty/lib/index.js'[39m
]
}
stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [https_proxy]
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > String Settings Editing > should allow editing and committing a string setting
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.previewFeatures immediately with value: [33mtrue[39m
stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [http_proxy]
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTPS_PROXY]
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTP_PROXY]
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig > should use default fileFilter options when unconfigured
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig > should be non-interactive when isCommand is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > Hierarchical Memory Loading (config.ts) - Placeholder Suite > should pass extension context file paths to loadServerHierarchicalMemory
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > Hierarchical Memory Loading (config.ts) - Placeholder Suite > should pass includeDirectories to loadServerHierarchicalMemory when loadMemoryFromIncludeDirectories is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > Hierarchical Memory Loading (config.ts) - Placeholder Suite > should NOT pass includeDirectories to loadServerHierarchicalMemory when loadMemoryFromIncludeDirectories is false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > mergeMcpServers > should not modify the original settings object
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > mergeExcludeTools > should merge excludeTools from settings and extensions
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
(node:5526) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > mergeExcludeTools > should handle overlapping excludeTools between settings and extensions
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > mergeExcludeTools > should handle overlapping excludeTools between extensions
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > mergeExcludeTools > should return an empty array when no excludeTools are specified and it is interactive
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > mergeExcludeTools > should return default excludes when no excludeTools are specified and it is not interactive
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > mergeExcludeTools > should handle settings with excludeTools but no extensions
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > mergeExcludeTools > should handle extensions with excludeTools but no settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > mergeExcludeTools > should not modify the original settings object
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with default approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with explicit default approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude only shell tools in non-interactive mode with auto_edit approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with yolo approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with yolo approval mode
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with plan approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with legacy yolo flag
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should exclude no interactive tools in non-interactive mode with legacy yolo flag
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โ src/utils/commentJson.test.ts (12 tests) 842ms
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should merge approval mode exclusions with settings exclusions in auto_edit mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โฏ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests | 7 failed) 13596ms
โ BaseSelectionList > Rendering and Structure > should render all items using the renderItem prop 1710ms
โ BaseSelectionList > Rendering and Structure > should render the selection indicator (โ or space) and layout 315ms
โ BaseSelectionList > Rendering and Structure > should handle an empty list gracefully 175ms
โ BaseSelectionList > useSelectionList Integration > should pass props correctly to useSelectionList 167ms
โ BaseSelectionList > useSelectionList Integration > should use the activeIndex returned by the hook 535ms
โ BaseSelectionList > Styling and Colors > should apply success color to the selected item 275ms
โ BaseSelectionList > Styling and Colors > should apply primary color to unselected, enabled items 160ms
โ BaseSelectionList > Styling and Colors > should apply secondary color to disabled items (when not selected) 147ms
โ BaseSelectionList > Styling and Colors > should apply success color to disabled items if they are selected 238ms
โ BaseSelectionList > Numbering (showNumbers) > should show numbers by default with correct formatting 251ms
โ BaseSelectionList > Numbering (showNumbers) > should hide numbers when showNumbers is false 169ms
โ BaseSelectionList > Numbering (showNumbers) > should apply correct padding for alignment in long lists 768ms
โ BaseSelectionList > Numbering (showNumbers) > should apply secondary color to numbers if showNumbers is false (internal logic check) 155ms
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially 543ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll down when activeIndex moves beyond the visible window 1685ms
โ expected ' 2. I\n t\n e\n m\n โฆ' to contain 'Item 2'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll up when activeIndex moves before the visible window 1417ms
โ expected ' 3. I\n t\n e\n m\n โฆ' to contain 'Item 3'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should pin the scroll offset to the end if selection starts near the end 1348ms
โ expected ' 8. I\n t\n e\n m\n โฆ' to contain 'Item 10'
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes 183ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
โ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item within the visible window 223ms
โ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item when scrolled (high index) 380ms
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length 507ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
โ BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows by default 158ms
โ BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top) 559ms
โ BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the middle 576ms
โ BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the end 514ms
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows when list fits entirely 377ms
โ Snapshot `BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows when list fits entirely 1` mismatched
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should throw an error if YOLO mode is attempted when disableYoloMode is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Approval mode tool exclusion logic > should throw an error for invalid approval mode values in loadCliConfig
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow all MCP servers if the flag is not provided
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow only the specified MCP server
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow multiple specified MCP servers
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should handle server names that do not exist
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should allow no MCP servers if the flag is provided but empty
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should read allowMCPServers from settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should read excludeMCPServers from settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should override allowMCPServers with excludeMCPServers if overlapping
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should prioritize mcp server flag if set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with allowed-mcp-server-names > should prioritize CLI flag over both allowed and excluded settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig model selection > selects a model from settings.json if provided
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig model selection > uses the default gemini model if nothing is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig model selection > always prefers model from argv
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig model selection > selects the model from argv if provided
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig model selection > selects the default auto model if provided via auto alias
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be false when folderTrust is false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be true when folderTrust is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig folderTrust > should be true by default
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig with includeDirectories > should combine and resolve paths from settings and CLI arguments
Ignore file not found: /home/user/project/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig compressionThreshold > should pass settings to the core config
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig compressionThreshold > should have default compressionThreshold if not in settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be true by default when useRipgrep is not set in settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be false when useRipgrep is set to false in settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig useRipgrep > should be true when useRipgrep is explicitly set to true in settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings true)
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > screenReader configuration > should use screenReader value from settings if CLI flag is not present (settings false)
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > screenReader configuration > should prioritize --screen-reader CLI flag (true) over settings (false)
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > screenReader configuration > should be false by default when no flag or setting is present
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode without YOLO
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in interactive mode with YOLO
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude interactive tools in non-interactive mode without YOLO
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in non-interactive mode with YOLO
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude interactive tools in non-interactive mode with YOLO
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool" is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should exclude web-fetch in non-interactive mode when not allowed
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude web-fetch in non-interactive mode when allowed
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="run_shell_command" is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool(wc)" is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if isTTY and no prompt
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if prompt-interactive is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if not isTTY and no prompt
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if prompt is set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with other flags
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with multiple flags
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if positional prompt words are provided with extensions flag
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should handle multiple positional words correctly
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should handle multiple positional words with flags
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should handle empty positional arguments
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should handle extensions flag with positional arguments correctly
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig interactive > should be interactive if no positional prompt words are provided with flags
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should default to DEFAULT approval mode when no flags are set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --yolo flag is used
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when -y flag is used
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when -y flag is used
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should set DEFAULT approval mode when --approval-mode=default
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/ui/themes/color-utils.test.ts > Color Utils > resolveColor > should return undefined for invalid colors
[ColorUtils] Could not resolve color "invalidcolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "notacolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "" to an Ink-compatible format.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should set AUTO_EDIT approval mode when --approval-mode=auto_edit
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/ui/themes/color-utils.test.ts > Color Utils > Consistency between validation and resolution > should have consistent behavior between isValidColor and resolveColor
[ColorUtils] Could not resolve color "invalidcolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "notacolor" to an Ink-compatible format.
[ColorUtils] Could not resolve color "" to an Ink-compatible format.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > should set YOLO approval mode when --approval-mode=yolo
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should prioritize --approval-mode over --yolo when both would be valid (but validation prevents this)
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > should fall back to --yolo behavior when --approval-mode is not set
YOLO mode is enabled. All tool calls will be automatically approved.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should set Plan approval mode when --approval-mode=plan is used and experimental.plan is enabled
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should ignore "yolo" in settings.tools.approvalMode and fall back to DEFAULT
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should throw error when --approval-mode=plan is used but experimental.plan is disabled
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > should throw error when --approval-mode=plan is used but experimental.plan setting is missing
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=yolo to DEFAULT
YOLO mode is enabled. All tool calls will be automatically approved.
Approval mode overridden to "default" because the current folder is not trusted.
stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --approval-mode=auto_edit to DEFAULT
Approval mode overridden to "default" because the current folder is not trusted.
stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should override --yolo flag to DEFAULT
YOLO mode is enabled. All tool calls will be automatically approved.
Approval mode overridden to "default" because the current folder is not trusted.
stdout | src/config/config.test.ts > loadCliConfig approval mode > when folder is NOT trusted > should remain DEFAULT when --approval-mode=default
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should use approvalMode from settings when no CLI flags are set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --approval-mode flag over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โ src/ui/themes/color-utils.test.ts (40 tests) 571ms
stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should prioritize --yolo flag over settings
YOLO mode is enabled. All tool calls will be automatically approved.
stderr | src/ui/components/shared/BaseSettingsDialog.test.tsx
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/shared/BaseSettingsDialog.test.tsx
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should respect plan mode from settings when experimental.plan is enabled
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx (27 tests | 11 failed) 34205ms
โ BaseSettingsDialog > rendering > should render the dialog with title 2057ms
ร BaseSettingsDialog > rendering > should render all items 1821ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
ร BaseSettingsDialog > rendering > should render help text with Ctrl+L for reset 1205ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Use Enter to select'
ร BaseSettingsDialog > rendering > should render scope selector when showScopeSelector is true 984ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Apply To'
โ BaseSettingsDialog > rendering > should not render scope selector when showScopeSelector is false 219ms
ร BaseSettingsDialog > rendering > should render footer content when provided 876ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Custom Footer'
โ BaseSettingsDialog > keyboard navigation > should close dialog on Escape 382ms
ร BaseSettingsDialog > keyboard navigation > should navigate down with arrow key 967ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
โ BaseSettingsDialog > keyboard navigation > should navigate up with arrow key 1078ms
โ BaseSettingsDialog > keyboard navigation > should wrap around when navigating past last item 532ms
โ BaseSettingsDialog > keyboard navigation > should wrap around when navigating before first item 725ms
ร BaseSettingsDialog > keyboard navigation > should switch focus with Tab when scope selector is shown 1059ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '> Test Settings'
ร BaseSettingsDialog > scrolling and resizing list (search filtering) > should preserve focus on the active item if it remains in the filtered list 3073ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
ร BaseSettingsDialog > scrolling and resizing list (search filtering) > should reset focus to the top if the active item is filtered out 2742ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
โ BaseSettingsDialog > item interactions > should call onItemToggle for boolean items on Enter 385ms
โ BaseSettingsDialog > item interactions > should call onItemToggle for enum items on Enter 243ms
ร BaseSettingsDialog > item interactions > should enter edit mode for string items on Enter 1975ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'test-value'
ร BaseSettingsDialog > item interactions > should enter edit mode for number items on Enter 1922ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '42'
โ BaseSettingsDialog > item interactions > should call onItemClear on Ctrl+L 664ms
โ BaseSettingsDialog > edit mode > should commit edit on Enter 2285ms
โ BaseSettingsDialog > edit mode > should commit edit on Escape 980ms
โ BaseSettingsDialog > edit mode > should commit edit and navigate on Down arrow 862ms
โ BaseSettingsDialog > edit mode > should commit edit and navigate on Up arrow 1220ms
โ BaseSettingsDialog > edit mode > should allow number input for number fields 2333ms
โ BaseSettingsDialog > edit mode > should support quick number entry for number fields 770ms
โ BaseSettingsDialog > custom key handling > should call onKeyPress and respect its return value 616ms
ร BaseSettingsDialog > focus management > should keep focus on settings when scope selector is hidden 2153ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '> Test Settings'
stdout | src/config/config.test.ts > loadCliConfig approval mode > Persistent approvalMode setting > should throw error if plan mode is in settings but experimental.plan is disabled
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableFuzzySearch' from settings to config when false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGitIgnore' from settings to config when false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'respectGeminiIgnore' from settings to config when false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig fileFiltering > should pass 'enableRecursiveFileSearch' from settings to config when false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Output format > should default to TEXT
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Output format > should use the format from settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Output format > should prioritize the format from argv
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Output format > should accept stream-json as a valid output format
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to BaseSettingsDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_TARGET over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should throw when GEMINI_TELEMETRY_TARGET is invalid
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_ENDPOINT over settings and default env var
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_PROTOCOL over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_LOG_PROMPTS over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OUTFILE over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_USE_COLLECTOR over settings
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โ src/config/extensions/consent.test.ts (20 tests) 725ms
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should use settings value when GEMINI_TELEMETRY_ENABLED is not set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should use settings value when GEMINI_TELEMETRY_TARGET is not set
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โฏ src/ui/components/SettingsDialog.test.tsx (58 tests | 33 failed) 91188ms
โ SettingsDialog > Initial Rendering > should render the settings dialog with default state 3193ms
ร SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors 1642ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Initial Rendering > should render settings list with visual indicators 1550ms
โ Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched
ร SettingsDialog > Initial Rendering > should use almost full height of the window but no more when the window height is 25 rows 1654ms
โ expected 117 to be less than or equal to 25
ร SettingsDialog > Setting Descriptions > should render descriptions for settings that have them 981ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Settings Navigation > should navigate with 'arrow keys' 1383ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)' 882ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Settings Navigation > wraps around when at the top of the list 2670ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Hook Notifications'
ร SettingsDialog > Settings Toggling > should toggle setting with Enter key 2926ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Preview Features (e.g., models)'
โ SettingsDialog > Settings Toggling > enum values > 'toggles to next value' 1127ms
โ SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end' 615ms
โ SettingsDialog > Settings Toggling > should handle vim mode setting specially 1609ms
โ SettingsDialog > Scope Selection > should switch between scopes 2139ms
ร SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 2100ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 1203ms
โ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 2006ms
ร SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 1992ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Settings Persistence > should persist settings across scope changes 1968ms
ร SettingsDialog > Settings Persistence > should show different values for different scopes 878ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 1579ms
โ SettingsDialog > Complex State Management > should track modified settings correctly 1417ms
โ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 1551ms
โ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 1401ms
ร SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states 908ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 1293ms
โ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 998ms
โ SettingsDialog > Specific Settings Behavior > should clear restart prompt when switching scopes 840ms
ร SettingsDialog > Settings Display Values > should show correct values for inherited settings 724ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Settings Display Values > should show override indicator for overridden settings 987ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโฆ' 1737ms
โ SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโฆ' 1170ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 1377ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+C' to reset current setting to default 932ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+L' to reset current setting to default 1420ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 1375ms
ร SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 2022ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Error Recovery > should handle malformed settings gracefully 1066ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Error Recovery > should handle missing setting definitions gracefully 948ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 1876ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 1261ms
โ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 1597ms
โ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 1915ms
ร SettingsDialog > Restart and Search Conflict Regression > should prioritize restart request over search text box when showRestartPrompt is true 2042ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Show Color'
ร SettingsDialog > Restart and Search Conflict Regression > should hide search box when showRestartPrompt is true 1175ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
โ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 3475ms
ร SettingsDialog > Search Functionality > should display text entered in search 885ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
ร SettingsDialog > Search Functionality > should show search query and filter settings as user types 2988ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'yolo'
ร SettingsDialog > Search Functionality > should exit search settings when Escape is pressed 3128ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vim'
ร SettingsDialog > Search Functionality > should handle backspace to modify search query 2736ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vimm'
ร SettingsDialog > Search Functionality > should display nothing when search yields no results 3327ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'nonexistentsetting'
ร SettingsDialog > Snapshot Tests > should render 'default state' correctly 1002ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1038ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 940ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1338ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1051ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1054ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 945ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1084ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_ENABLED='1' as true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_ENABLED='0' as false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='1' as true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Telemetry configuration via environment variables > should treat GEMINI_TELEMETRY_LOG_PROMPTS='false' as false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to true when -p flag is used
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > PolicyEngine nonInteractive wiring > should set nonInteractive to false in interactive mode
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass merged allowed tools from CLI and settings to createPolicyEngineConfig
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โ src/commands/hooks/migrate.test.ts (17 tests) 802ms
stdout | src/config/config.test.ts > Policy Engine Integration in loadCliConfig > should pass merged exclude tools from CLI logic and settings to createPolicyEngineConfig
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig disableYoloMode > should allow auto_edit mode even if yolo mode is disabled
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig disableYoloMode > should throw if YOLO mode is attempted when disableYoloMode is true
YOLO mode is disabled by the "disableYolo" setting.
stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if YOLO mode is attempted when secureModeEnabled is true
YOLO mode is disabled by "secureModeEnabled" setting.
stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stderr | src/config/config.test.ts > loadCliConfig secureModeEnabled > should throw an error if approval-mode=yolo is attempted when secureModeEnabled is true
YOLO mode is disabled by "secureModeEnabled" setting.
stdout | src/config/config.test.ts > loadCliConfig secureModeEnabled > should set disableYoloMode to true when secureModeEnabled is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should enable MCP by default
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โ src/ui/components/StatsDisplay.test.tsx (16 tests) 8073ms
โ > renders only the Performance section in its zero state 2430ms
โ > renders a table with two models correctly 797ms
โ > renders all sections when all data is present 435ms
โ > Conditional Rendering Tests > hides User Agreement when no decisions are made 358ms
โ > Conditional Rendering Tests > hides Efficiency section when cache is not used 618ms
โ > Code Changes Display > hides Code Changes when no lines are added or removed 315ms
โ > Title Rendering > renders the custom title when a title prop is provided 459ms
โ > Quota Display > renders quota information when quotas are provided 556ms
โ > Quota Display > renders quota information for unused models 351ms
stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should disable MCP when mcpEnabled is false
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
stdout | src/config/config.test.ts > loadCliConfig mcpEnabled > should enable MCP when mcpEnabled is true
Ignore file not found: /build/gemini-cli/src/gemini-cli/packages/cli/.geminiignore, continue without it.
โ src/config/config.test.ts (176 tests) 31193ms
โ parseArguments > should throw an error when using conflicting prompt flags ('long flags') 1054ms
โ parseArguments > should reject invalid --approval-mode values 319ms
โ loadCliConfig > Proxy configuration > should leave proxy to empty by default 752ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [https_proxy] 307ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [http_proxy] 316ms
โ Hierarchical Memory Loading (config.ts) - Placeholder Suite > should NOT pass includeDirectories to loadServerHierarchicalMemory when loadMemoryFromIncludeDirectories is false 310ms
โ Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode 966ms
โ loadCliConfig model selection > always prefers model from argv 335ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings 658ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_TARGET over settings 608ms
โ PolicyEngine nonInteractive wiring > should set nonInteractive to true when -p flag is used 310ms
โ loadCliConfig mcpEnabled > should enable MCP when mcpEnabled is true 305ms
โ src/ui/commands/memoryCommand.test.ts (11 tests) 671ms
โ src/ui/commands/agentsCommand.test.ts (20 tests) 1014ms
โ src/utils/installationInfo.test.ts (17 tests) 422ms
โ src/ui/utils/rewindFileOps.test.ts (9 tests) 379ms
โ src/config/settings-validation.test.ts (25 tests) 545ms
โ src/ui/hooks/useToolExecutionScheduler.test.ts (9 tests) 1487ms
โ useToolExecutionScheduler > initializes with empty tool calls 813ms
โ src/utils/handleAutoUpdate.test.ts (19 tests) 540ms
โ src/services/CommandService.test.ts (11 tests) 539ms
stderr | src/ui/auth/AuthDialog.test.tsx > AuthDialog > handleAuthSelect > exits process for Login with Google when browser is suppressed
An update to AuthDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/commands/mcp/add.test.ts > mcp add command > should add a stdio server to project settings
MCP server "my-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > should handle multiple env vars before positional args
MCP server "my-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an sse server to user settings
MCP server "sse-server" added to user settings. (sse)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an http server to project settings
MCP server "http-server" added to project settings. (http)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an sse server using --type alias
MCP server "sse-server" added to user settings. (sse)
stdout | src/commands/mcp/add.test.ts > mcp add command > should add an http server using --type alias
MCP server "http-server" added to project settings. (http)
stdout | src/commands/mcp/add.test.ts > mcp add command > should handle MCP server args with -- separator
MCP server "my-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > should handle unknown options as MCP server args
MCP server "test-server" added to project settings. (stdio)
โ src/ui/auth/AuthDialog.test.tsx (24 tests) 6735ms
โ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'in Cloud Shell' 1588ms
โ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'with GEMINI_CLI_USE_COMPUTE_ADC' 564ms
โ AuthDialog > handleAuthSelect > exits process for Login with Google when browser is suppressed 301ms
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a project directory > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a project directory > should use project scope when --scope=project is used
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a project directory > should use user scope when --scope=user is used
MCP server "test-server" added to user settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a subdirectory of a project > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in the home directory > should use user scope when --scope=user is used
MCP server "test-server" added to user settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a subdirectory of home (not a project) > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when in a subdirectory of home (not a project) > should write to the WORKSPACE scope, not the USER scope
MCP server "my-new-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when handling scope and directory > when outside of home (not a project) > should use project scope by default
MCP server "test-server" added to project settings. (stdio)
stdout | src/commands/mcp/add.test.ts > mcp add command > when updating an existing server > should update the existing server in the project scope
MCP server "existing-server" is already configured within project settings.
MCP server "existing-server" updated in project settings.
โ src/ui/contexts/ScrollProvider.test.tsx (9 tests) 1371ms
โ ScrollProvider > Event Handling Status > returns true when scroll event is handled 688ms
stdout | src/commands/mcp/add.test.ts > mcp add command > when updating an existing server > should update the existing server in the user scope
MCP server "existing-server" is already configured within user settings.
MCP server "existing-server" updated in user settings.
โ src/commands/mcp/add.test.ts (20 tests) 3414ms
โ mcp add command > should add a stdio server to project settings 673ms
โ mcp add command > should handle multiple env vars before positional args 571ms
โ src/ui/hooks/usePermissionsModifyTrust.test.ts (13 tests) 1267ms
โ usePermissionsModifyTrust > when targetDirectory is the current workspace > should initialize with the correct trust level 397ms
โฏ src/ui/components/shared/ScrollableList.test.tsx (4 tests | 4 failed) 5940ms
ร ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up 3235ms
โ expected '\n โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Item 1001'
ร ScrollableList Demo Behavior > should display sticky header when scrolled past the item 1262ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain '[Normal] Item 1'
ร ScrollableList Demo Behavior > Keyboard Navigation > should handle scroll keys correctly 148ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0'
ร ScrollableList Demo Behavior > Width Prop > should apply the width prop to the container 1252ms
โ expected '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' to contain 'Item 1'
(node:10335) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:10335) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:10335) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/ui/utils/terminalCapabilityManager.test.ts (14 tests) 676ms
โ src/ui/hooks/useMessageQueue.test.tsx (15 tests) 1642ms
โ useMessageQueue > should initialize with empty queue 693ms
stdout | src/ui/commands/setupGithubCommand.test.ts > setupGithubCommand > throws an error when download fails
Failed to download required setup files: Error: Invalid response code downloading https://raw.githubusercontent.com/google-github-actions/run-gemini-cli/refs/tags/v1.2.3/examples/workflows/gemini-dispatch/gemini-dispatch.yml: 404 - Not Found
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:131:17
at async Promise.all (index 0)
at downloadFiles [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:158:3[90m)[39m
at async Promise.all (index 0)
at downloadSetupFiles [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:184:5[90m)[39m
at Object.action [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:240:5[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.test.ts:216:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20
stdout | src/ui/commands/setupGithubCommand.test.ts > updateGitignore > handles file system errors gracefully
Failed to update .gitignore: Error: ENOENT: no such file or directory, open '/tmp/update-gitignore-yh2eT8/non-existent/.gitignore'
[90m at open (node:internal/fs/promises:636:25)[39m
[90m at Object.writeFile (node:internal/fs/promises:1239:14)[39m
at Module.updateGitignore [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.ts:82:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/ui/commands/setupGithubCommand.test.ts:319:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20 {
errno: [33m-2[39m,
code: [32m'ENOENT'[39m,
syscall: [32m'open'[39m,
path: [32m'/tmp/update-gitignore-yh2eT8/non-existent/.gitignore'[39m
}
โ src/ui/hooks/useFolderTrust.test.ts (13 tests) 1699ms
โ useFolderTrust > should not open dialog when folder is already trusted 716ms
โ src/ui/commands/setupGithubCommand.test.ts (10 tests) 2841ms
โ setupGithubCommand > downloads workflows, updates gitignore, and includes pipefail on non-windows 685ms
โ setupGithubCommand > downloads workflows, updates gitignore, and does not include pipefail on windows 1032ms
โ setupGithubCommand > throws an error when download fails 789ms
โ src/ui/hooks/usePhraseCycler.test.tsx (12 tests) 3126ms
โ usePhraseCycler > should initialize with a witty phrase when not active and not waiting 911ms
โ usePhraseCycler > should show "Waiting for user confirmation..." when isWaiting is true 530ms
โ usePhraseCycler > should reset to a phrase when isActive becomes true after being false 397ms
โ usePhraseCycler > should use custom phrases when provided 355ms
โฏ src/ui/components/Footer.test.tsx (21 tests | 4 failed) 4880ms
โ > renders the component 1375ms
โ > path display > should display a shortened path on a narrow terminal 130ms
โ > path display > should use wide layout at 80 columns 129ms
โ > displays the branch name when provided 146ms
โ > does not display the branch name when not provided 137ms
โ > displays the model name and context percentage 179ms
โ > displays the model name and abbreviated context percentage 142ms
โ > sandbox and trust info > should display untrusted when isTrustedFolder is false 117ms
โ > sandbox and trust info > should display custom sandbox info when SANDBOX env is set 115ms
โ > sandbox and trust info > should display macOS Seatbelt info when SANDBOX is sandbox-exec 227ms
โ > sandbox and trust info > should display "no sandbox" when SANDBOX is not set and folder is trusted 134ms
โ > sandbox and trust info > should prioritize untrusted message over sandbox info 140ms
ร > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) 471ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) > complete-footer-wide 1` mismatched
โ > footer configuration filtering (golden snapshots) > renders footer with all optional sections hidden (minimal footer) 71ms
ร > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) 160ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) > footer-no-model 1` mismatched
ร > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible) 423ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible) > footer-only-sandbox 1` mismatched
โ > footer configuration filtering (golden snapshots) > hides the context percentage when hideContextPercentage is true 123ms
โ > footer configuration filtering (golden snapshots) > shows the context percentage when hideContextPercentage is false 138ms
ร > footer configuration filtering (golden snapshots) > renders complete footer in narrow terminal (baseline narrow) 155ms
โ Snapshot ` > footer configuration filtering (golden snapshots) > renders complete footer in narrow terminal (baseline narrow) > complete-footer-narrow 1` mismatched
โ fallback mode display > should display Flash model when in fallback mode, not the configured Pro model 177ms
โ fallback mode display > should display Pro model when NOT in fallback mode 140ms
โฏ src/ui/components/messages/ToolMessage.test.tsx (19 tests | 1 failed) 9753ms
โ > renders basic tool information 2385ms
โ > JSON rendering > pretty prints valid JSON 384ms
โ > JSON rendering > renders pretty JSON in ink frame 523ms
โ > JSON rendering > uses JSON renderer even when renderOutputAsMarkdown=true is true 301ms
โ > JSON rendering > falls back to plain text for malformed JSON 214ms
โ > JSON rendering > rejects mixed text + JSON renders as plain text 254ms
โ > JSON rendering > rejects ANSI-tained JSON renders as plain text 260ms
โ > JSON rendering > pretty printing 10kb JSON completes in <50ms 2351ms
โ > ToolStatusIndicator rendering > shows โ for Success status 287ms
โ > ToolStatusIndicator rendering > shows o for Pending status 417ms
โ > ToolStatusIndicator rendering > shows ? for Confirming status 221ms
โ > ToolStatusIndicator rendering > shows - for Canceled status 224ms
โ > ToolStatusIndicator rendering > shows x for Error status 249ms
โ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is Idle 219ms
โ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is WaitingForConfirmation 284ms
โ > ToolStatusIndicator rendering > shows MockRespondingSpinner for Executing status when streamingState is Responding 265ms
โ > renders DiffRenderer for diff results 167ms
ร > renders emphasis correctly 523ms
โ Snapshot ` > renders emphasis correctly 1` mismatched
โ > renders AnsiOutputText for AnsiOutput results 175ms
โ src/services/BuiltinCommandLoader.test.ts (13 tests) 9464ms
โ BuiltinCommandLoader profile > should not include profile command when isDevelopment is false 4518ms
โ BuiltinCommandLoader profile > should include profile command when isDevelopment is true 4556ms
โ src/ui/contexts/ScrollProvider.drag.test.tsx (6 tests) 1190ms
โ ScrollProvider Drag > drags the scrollbar thumb 831ms
โ src/ui/utils/directoryUtils.test.ts (17 tests | 1 skipped) 377ms
โ src/config/extensions/update.test.ts (10 tests) 407ms
โฏ src/ui/components/ModelStatsDisplay.test.tsx (8 tests | 5 failed) 24903ms
โ > should render "no API calls" message when there are no active models 1451ms
โ > should not display conditional rows if no model has data for them 774ms
ร > should display conditional rows if at least one model has data 5506ms
โ Snapshot ` > should display conditional rows if at least one model has data 1` mismatched
ร > should display stats for multiple models correctly 1090ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > should handle large values without wrapping or overlapping 13799ms
โ Snapshot ` > should handle large values without wrapping or overlapping 1` mismatched
ร > should display a single model correctly 640ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > should handle models with long names (gemini-3-*-preview) without layout breaking 1055ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-'
โ > should render user identity information when provided 500ms
โ src/utils/relaunch.test.ts (8 tests) 573ms
โ relaunchOnExitCode > should exit with non-RELAUNCH_EXIT_CODE 301ms
โฏ src/ui/components/ExitPlanModeDialog.test.tsx (26 tests | 9 failed) 72564ms
โ ExitPlanModeDialog > useAlternateBuffer: true > renders correctly with plan content 3541ms
โ ExitPlanModeDialog > useAlternateBuffer: true > calls onApprove with AUTO_EDIT when first option is selected 1863ms
โ ExitPlanModeDialog > useAlternateBuffer: true > calls onApprove with DEFAULT when second option is selected 2195ms
ร ExitPlanModeDialog > useAlternateBuffer: true > calls onFeedback when feedback is typed and submitted 7116ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExitPlanModeDialog > useAlternateBuffer: true > calls onCancel when Esc is pressed 1051ms
โ ExitPlanModeDialog > useAlternateBuffer: true > displays error state when file read fails 143ms
โ ExitPlanModeDialog > useAlternateBuffer: true > displays error state when plan file is empty 111ms
ร ExitPlanModeDialog > useAlternateBuffer: true > handles long plan content appropriately 3979ms
โ Snapshot `ExitPlanModeDialog > useAlternateBuffer: true > handles long plan content appropriately 1` mismatched
โ ExitPlanModeDialog > useAlternateBuffer: true > allows number key quick selection 1447ms
ร ExitPlanModeDialog > useAlternateBuffer: true > clears feedback text when Ctrl+C is pressed while editing 6782ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
ร ExitPlanModeDialog > useAlternateBuffer: true > bubbles up Ctrl+C when feedback is empty while editing 5044ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExitPlanModeDialog > useAlternateBuffer: true > does not submit empty feedback when Enter is pressed 1709ms
โ ExitPlanModeDialog > useAlternateBuffer: true > allows arrow navigation while typing feedback to change selection 4316ms
ร ExitPlanModeDialog > useAlternateBuffer: false > renders correctly with plan content 1586ms
โ Snapshot `ExitPlanModeDialog > useAlternateBuffer: false > renders correctly with plan content 1` mismatched
โ ExitPlanModeDialog > useAlternateBuffer: false > calls onApprove with AUTO_EDIT when first option is selected 1271ms
โ ExitPlanModeDialog > useAlternateBuffer: false > calls onApprove with DEFAULT when second option is selected 1694ms
ร ExitPlanModeDialog > useAlternateBuffer: false > calls onFeedback when feedback is typed and submitted 6121ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExitPlanModeDialog > useAlternateBuffer: false > calls onCancel when Esc is pressed 930ms
โ ExitPlanModeDialog > useAlternateBuffer: false > displays error state when file read fails 92ms
โ ExitPlanModeDialog > useAlternateBuffer: false > displays error state when plan file is empty 100ms
ร ExitPlanModeDialog > useAlternateBuffer: false > handles long plan content appropriately 1626ms
โ Snapshot `ExitPlanModeDialog > useAlternateBuffer: false > handles long plan content appropriately 1` mismatched
โ ExitPlanModeDialog > useAlternateBuffer: false > allows number key quick selection 1356ms
ร ExitPlanModeDialog > useAlternateBuffer: false > clears feedback text when Ctrl+C is pressed while editing 7552ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
ร ExitPlanModeDialog > useAlternateBuffer: false > bubbles up Ctrl+C when feedback is empty while editing 5036ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExitPlanModeDialog > useAlternateBuffer: false > does not submit empty feedback when Enter is pressed 1637ms
โ ExitPlanModeDialog > useAlternateBuffer: false > allows arrow navigation while typing feedback to change selection 4217ms
โ src/utils/toolOutputCleanup.test.ts (8 tests) 574ms
โ src/ui/commands/rewindCommand.test.tsx (13 tests) 878ms
โ src/commands/extensions/uninstall.test.ts (9 tests) 842ms
โ extensions uninstall command > uninstallCommand > builder > should configure positional argument 365ms
โ src/ui/components/SessionBrowser.test.tsx (6 tests) 4299ms
โ SessionBrowser component > shows empty state when no sessions exist 1181ms
โ SessionBrowser component > renders a list of sessions and marks current session as disabled 873ms
โ SessionBrowser component > enters search mode, filters sessions, and renders match snippets 1468ms
โ SessionBrowser component > handles keyboard navigation and resumes the selected session 449ms
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx (16 tests | 13 failed) 7252ms
โ ToolConfirmationMessage > should not display urls if prompt and url are the same 2127ms
ร ToolConfirmationMessage > should display urls if prompt and url are different 788ms
โ Snapshot `ToolConfirmationMessage > should display urls if prompt and url are different 1` mismatched
ร ToolConfirmationMessage > should display multiple commands for exec type when provided 424ms
โ expected 'Allow execution of 3 commands?\n\nโ 1โฆ' to contain 'echo "hello"'
ร ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 451ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 380ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 283ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 262ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 336ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 234ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 403ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 177ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
โ ToolConfirmationMessage > enablePermanentToolApproval setting > should NOT show "Allow for all future sessions" when setting is false (default) 228ms
ร ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when setting is true 317ms
โ expected 'Apply this change?\n\nโ 1.\n 2.\n 3โฆ' to contain 'Allow for all future sessions'
ร ToolConfirmationMessage > Modify with external editor option > should show "Modify with external editor" when NOT in IDE mode 343ms
โ expected 'Apply this change?\n\nโ 1.\n 2.\n 3โฆ' to contain 'Modify with external editor'
ร ToolConfirmationMessage > Modify with external editor option > should show "Modify with external editor" when in IDE mode but diffing is NOT enabled 245ms
โ expected 'Apply this change?\n\nโ 1.\n 2.\n 3โฆ' to contain 'Modify with external editor'
โ ToolConfirmationMessage > Modify with external editor option > should NOT show "Modify with external editor" when in IDE mode AND diffing is enabled 200ms
โ src/ui/components/messages/DiffRenderer.test.tsx (26 tests) 13543ms
โ > with useAlternateBuffer = true > should call colorizeCode with correct language for new file with known extension 1563ms
โ > with useAlternateBuffer = true > should call colorizeCode with null language for new file with unknown extension 2459ms
โ > with useAlternateBuffer = true > should call colorizeCode with null language for new file if no filename is provided 714ms
โ > with useAlternateBuffer = true > should render diff content for existing file (not calling colorizeCode directly for the whole block) 302ms
โ > with useAlternateBuffer = true > should handle diff with only header and no changes 469ms
โ > with useAlternateBuffer = true > should render a gap indicator for skipped lines 366ms
โ > with useAlternateBuffer = true > should not render a gap indicator for small gaps (<= MAX_CONTEXT_LINES_WITHOUT_GAP) 398ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height undefined 474ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 641ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 624ms
โ > with useAlternateBuffer = true > should correctly render a diff with a SVN diff format 659ms
โ > with useAlternateBuffer = false > should call colorizeCode with null language for new file if no filename is provided 453ms
โ > with useAlternateBuffer = false > should render diff content for existing file (not calling colorizeCode directly for the whole block) 1021ms
โ > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height undefined 540ms
โ > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 463ms
โ > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 488ms
โ > with useAlternateBuffer = false > should correctly render a diff with a SVN diff format 332ms
โ src/ui/hooks/useTabbedNavigation.test.ts (23 tests) 1416ms
โ useTabbedNavigation > keyboard navigation > moves to next tab on Right arrow 624ms
โ src/ui/utils/textUtils.test.ts (17 tests) 827ms
โฏ src/ui/components/BackgroundShellDisplay.test.tsx (10 tests | 3 failed) 9989ms
โ > renders the output of the active shell 1783ms
โ > renders tabs for multiple shells 148ms
โ > highlights the focused state 178ms
โ > resizes the PTY on mount and when dimensions change 327ms
ร > renders the process list when isListOpenProp is true 1878ms
โ Snapshot ` > renders the process list when isListOpenProp is true 1` mismatched
โ > selects the current process and closes the list when Ctrl+L is pressed in list view 562ms
โ > kills the highlighted process when Ctrl+K is pressed in list view 554ms
โ > kills the active process when Ctrl+K is pressed in output view 83ms
ร > scrolls to active shell when list opens 1310ms
โ Snapshot ` > scrolls to active shell when list opens 1` mismatched
ร > keeps exit code status color even when selected 3124ms
โ Snapshot ` > keeps exit code status color even when selected 1` mismatched
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should configure all settings for an extension
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should verify overwrite if setting is already set
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should note if setting is configured in workspace
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should note if setting is configured in workspace
Note: Setting "Setting 1" is already configured in the workspace scope.
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should skip update if user denies overwrite
Configuring settings for "test-ext"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Extension configuration (all settings) > should skip update if user denies overwrite
Note: Setting "Setting 1" is already configured in the workspace scope.
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Configure all extensions > should configure settings for all installed extensions
Configuring settings for "ext1"...
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Configure all extensions > should configure settings for all installed extensions
Configuring settings for "ext2"...
โ src/ui/components/LoadingIndicator.test.tsx (16 tests) 3779ms
โ > should not render when streamingState is Idle 620ms
โ > should render spinner, phrase, and time when streamingState is Responding 700ms
โ > should render spinner (static), phrase but no time/cancel when streamingState is WaitingForConfirmation 333ms
stdout | src/commands/extensions/configure.test.ts > extensions configure command > Configure all extensions > should log if no extensions installed
No extensions installed.
โ src/commands/extensions/configure.test.ts (9 tests) 2113ms
โ extensions configure command > Specific setting configuration > should configure a specific setting 756ms
โ extensions configure command > Specific setting configuration > should reject invalid extension names 558ms
โ src/ui/hooks/useExtensionUpdates.test.tsx (4 tests) 2290ms
โ useExtensionUpdates > should check for updates and log a message if an update is available 925ms
โ useExtensionUpdates > should check for updates and automatically update if autoUpdate is true 812ms
โ useExtensionUpdates > should batch update notifications for multiple extensions 313ms
โ src/ui/commands/restoreCommand.test.ts (13 tests) 2320ms
โ restoreCommand > should return null if checkpointing is not enabled 330ms
โ restoreCommand > should return an error for a checkpoint file missing the toolCall property 884ms
โ src/ui/components/shared/VirtualizedList.test.tsx (9 tests) 5123ms
โ > with 10px height and 100 items > renders only visible items ('top') 2170ms
โ > with 10px height and 100 items > renders only visible items ('scrolled to bottom') 662ms
โ > with 10px height and 100 items > sticks to bottom when new items added 610ms
โ > with 10px height and 100 items > mounts only visible items with 1000 items and 10px height (scroll: 999) 309ms
โ > updates scroll position correctly when scrollBy is called multiple times in the same tick 324ms
stderr | src/ui/components/ModelDialog.test.tsx > > renders the initial "main" view correctly
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "main" view with preview options when preview features are enabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/hooks/atCommandProcessor_agents.test.ts > handleAtCommand with Agents > should detect agent reference and add nudge message
Ignore file not found: /tmp/agent-test-ZIjrWM/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor_agents.test.ts > handleAtCommand with Agents > should handle multiple agents
Ignore file not found: /tmp/agent-test-WOuTFf/.geminiignore, continue without it.
stdout | src/ui/hooks/atCommandProcessor_agents.test.ts > handleAtCommand with Agents > should not treat non-agents as agents
Ignore file not found: /tmp/agent-test-V6qgAj/.geminiignore, continue without it.
stderr | src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/hooks/atCommandProcessor_agents.test.ts > handleAtCommand with Agents > should not treat non-agents as agents
Ignore file not found: /tmp/agent-test-V6qgAj/.geminiignore, continue without it.
โ src/ui/hooks/atCommandProcessor_agents.test.ts (3 tests) 1454ms
โ handleAtCommand with Agents > should not treat non-agents as agents 1194ms
stderr | src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/commands/extensions/update.test.ts (10 tests) 1286ms
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "main" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โฏ src/config/extension-manager-hydration.test.ts (4 tests | 1 failed) 8492ms
ร ExtensionManager hydration > should hydrate skill body with extension settings 6289ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExtensionManager hydration > should hydrate agent system prompt with extension settings 1384ms
โ ExtensionManager hydration > should hydrate hooks with extension settings 246ms
โ ExtensionManager hydration > should pick up new settings after restartExtension 526ms
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > toggles persist mode with Tab key
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to ModelDialog inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/utils/envVarResolver.test.ts (16 tests) 406ms
stderr | src/ui/components/ModelDialog.test.tsx > > closes dialog on escape in "main" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
An update to BaseSelectionList inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should NOT show preview options if user has no access
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should NOT show preview options if user has access but preview features are disabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โ src/services/prompt-processors/injectionParser.test.ts (21 tests) 397ms
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show preview options if user has access AND preview features are enabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show "Gemini 3 is now available" header if user has access but preview features disabled
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show "Gemini 3 is coming soon" header if user has no access
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/ui/components/ModelDialog.test.tsx > > Preview Logic > should NOT show header/subheader if preview options are shown
An update to Root inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
โฏ src/ui/components/ModelDialog.test.tsx (15 tests | 8 failed) 12978ms
โ > renders the initial "main" view correctly 1583ms
ร > renders "main" view with preview options when preview features are enabled 1102ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
ร > switches to "manual" view when "Manual" is selected 1877ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > renders "manual" view with preview options when preview features are enabled 1377ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-preview'
ร > sets model and closes when a model is selected in "main" view 557ms
โ expected "spy" to be called with arguments: [ 'auto-gemini-2.5', true ][90m
Number of calls: [1m0[22m
[39m
ร > sets model and closes when a model is selected in "manual" view 1032ms
โ expected "spy" to be called with arguments: [ 'gemini-2.5-pro', true ][90m
Received:
[1m 1st spy call:
[22m[2m [[22m
[32m- "gemini-2.5-pro",[90m
[31m+ "auto-gemini-2.5",[90m
[2m true,[22m
[2m ][22m
[39m[90m
Number of calls: [1m1[22m
[39m
ร > toggles persist mode with Tab key 1727ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Remember model for future sessions: tโฆ'
โ > closes dialog on escape in "main" view 534ms
ร > goes back to "main" view on escape in "manual" view 1207ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
โ > Preview Logic > should NOT show preview options if user has no access 291ms
โ > Preview Logic > should NOT show preview options if user has access but preview features are disabled 285ms
ร > Preview Logic > should show preview options if user has access AND preview features are enabled 455ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
โ > Preview Logic > should show "Gemini 3 is now available" header if user has access but preview features disabled 270ms
โ > Preview Logic > should show "Gemini 3 is coming soon" header if user has no access 238ms
โ > Preview Logic > should NOT show header/subheader if preview options are shown 393ms
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should initialize with Unauthenticated state
Authenticated via "oauth-personal".
stderr | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should initialize with Unauthenticated state
An update to TestComponent inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate if USE_GEMINI and key is found
Authenticated via "gemini-api-key".
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate if USE_GEMINI and env key is found
Authenticated via "gemini-api-key".
Authenticated via "gemini-api-key".
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should prioritize env key over stored key when both are present
Authenticated via "gemini-api-key".
Authenticated via "gemini-api-key".
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate successfully for valid auth type
Authenticated via "oauth-personal".
โ src/commands/extensions/enable.test.ts (9 tests) 1200ms
โ extensions enable command > enableCommand > builder > should configure positional and option arguments 398ms
โ src/ui/components/ProQuotaDialog.test.tsx (8 tests) 2489ms
โ ProQuotaDialog > for flash model failures > should render "Keep trying" and "Stop" options 1544ms
โ src/ui/auth/useAuth.test.tsx (15 tests) 1554ms
โ useAuth > useAuthCommand > should initialize with Unauthenticated state 434ms
โฏ src/ui/components/RewindViewer.test.tsx (13 tests | 8 failed) 36395ms
โ RewindViewer > Rendering > renders 'nothing interesting for empty conversโฆ' 1970ms
โ RewindViewer > Rendering > renders 'a single interaction' 370ms
ร RewindViewer > Rendering > renders 'full text for selected item' 3821ms
โ Snapshot `RewindViewer > Rendering > renders 'full text for selected item' 1` mismatched
ร RewindViewer > updates selection and expansion on navigation 7872ms
โ Snapshot `RewindViewer > updates selection and expansion on navigation > initial-state 1` mismatched
โ RewindViewer > Navigation > handles 'down' navigation 714ms
โ RewindViewer > Navigation > handles 'up' navigation 939ms
โ RewindViewer > Navigation > handles cyclic navigation 1448ms
ร RewindViewer > Interaction Selection > 'confirms on Enter' 729ms
โ Snapshot `RewindViewer > Interaction Selection > 'confirms on Enter' > confirmation-dialog 1` mismatched
ร RewindViewer > Interaction Selection > 'cancels on Escape' 679ms
โ Snapshot `RewindViewer > Interaction Selection > 'cancels on Escape' > confirmation-dialog 1` mismatched
ร RewindViewer > Content Filtering > 'removes reference markers' 4149ms
โ Snapshot `RewindViewer > Content Filtering > 'removes reference markers' 1` mismatched
ร RewindViewer > Content Filtering > 'strips expanded MCP resource content' 6155ms
โ Snapshot `RewindViewer > Content Filtering > 'strips expanded MCP resource content' 1` mismatched
ร RewindViewer > Content Filtering > 'uses displayContent if present and doโฆ' 4219ms
โ Snapshot `RewindViewer > Content Filtering > 'uses displayContent if present and doโฆ' 1` mismatched
ร RewindViewer > updates content when conversation changes (background update) 3269ms
โ Snapshot `RewindViewer > updates content when conversation changes (background update) > initial 1` mismatched
โ src/ui/components/DebugProfiler.test.tsx (15 tests) 1776ms
โ DebugProfiler Component > should return null when showDebugProfiler is false 522ms
โ DebugProfiler Component > should render stats when showDebugProfiler is true 493ms
โ src/config/sandboxConfig.test.ts (27 tests) 406ms
โ src/ui/hooks/useShellHistory.test.ts (7 tests) 1860ms
โ useShellHistory > should initialize and read the history file from the correct path 825ms
โ src/ui/hooks/useSessionBrowser.test.ts (8 tests) 701ms
โ useSessionBrowser > should successfully resume a session 448ms
โฏ src/ui/components/HistoryItemDisplay.test.tsx (20 tests | 3 failed) 15871ms
โ > renders UserMessage for "user" type 1939ms
โ > renders UserMessage for "user" type with slash command 255ms
โ > renders InfoMessage for "info" type with multi-line text (alternateBuffer=true) 298ms
โ > renders InfoMessage for "info" type with multi-line text (alternateBuffer=false) 166ms
โ > renders AgentsStatus for "agents_list" type 437ms
โ > renders StatsDisplay for "stats" type 553ms
โ > renders AboutBox for "about" type 342ms
โ > renders ModelStatsDisplay for "model_stats" type 114ms
โ > renders ToolStatsDisplay for "tool_stats" type 144ms
โ > renders SessionSummaryDisplay for "quit" type 520ms
ร > should escape ANSI codes in text content 711ms
โ expected 'โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Hello, \u001b[31mred\u001b[0m world!'
โ > should escape ANSI codes in tool confirmation details 82ms
โ > gemini items (alternateBuffer=true) > should render a truncated gemini item 1509ms
โ > gemini items (alternateBuffer=true) > should render a full gemini item when using availableTerminalHeightGemini 1373ms
โ > gemini items (alternateBuffer=true) > should render a truncated gemini_content item 1473ms
โ > gemini items (alternateBuffer=true) > should render a full gemini_content item when using availableTerminalHeightGemini 1415ms
โ > gemini items (alternateBuffer=false) > should render a truncated gemini item 418ms
ร > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 1385ms
โ Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 1` mismatched
โ > gemini items (alternateBuffer=false) > should render a truncated gemini_content item 340ms
ร > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 2301ms
โ Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 1` mismatched
โ src/ui/hooks/useInputHistoryStore.test.ts (14 tests) 1415ms
โ useInputHistoryStore > should initialize with empty input history 563ms
โ src/ui/commands/ideCommand.test.ts (8 tests) 743ms
โ ideCommand > install subcommand > should install the extension 317ms
โ src/ui/utils/computeStats.test.ts (12 tests) 318ms
stderr | src/ui/themes/theme-manager.test.ts > ThemeManager > when loading a theme from a file > should not load a theme if the file does not exist
Theme file at "./my-theme.json" is outside your home directory. Only load themes from trusted sources.
stderr | src/ui/themes/theme-manager.test.ts > ThemeManager > when loading a theme from a file > should not load a theme from a file with invalid JSON
Theme file at "./my-theme.json" is outside your home directory. Only load themes from trusted sources.
stdout | src/ui/themes/theme-manager.test.ts > ThemeManager > extension themes > should register and unregister themes from extensions with namespacing
Registering extension themes for "test-extension": [
{
type: [32m'custom'[39m,
name: [32m'ExtensionTheme'[39m,
Background: [32m'#000000'[39m,
Foreground: [32m'#ffffff'[39m,
LightBlue: [32m'#89BDCD'[39m,
AccentBlue: [32m'#3B82F6'[39m,
AccentPurple: [32m'#8B5CF6'[39m,
AccentCyan: [32m'#06B6D4'[39m,
AccentGreen: [32m'#3CA84B'[39m,
AccentYellow: [32m'yellow'[39m,
AccentRed: [32m'red'[39m,
DiffAdded: [32m'green'[39m,
DiffRemoved: [32m'red'[39m,
Comment: [32m'gray'[39m,
Gray: [32m'gray'[39m
}
]
Registered theme: ExtensionTheme (test-extension)
Unregistered theme: ExtensionTheme (test-extension)
stdout | src/ui/themes/theme-manager.test.ts > ThemeManager > extension themes > should not allow extension themes to overwrite built-in themes even with prefixing
Registering extension themes for "Ext": [
{
type: [32m'custom'[39m,
name: [32m'Theme'[39m,
Background: [32m'#000000'[39m,
Foreground: [32m'#ffffff'[39m,
LightBlue: [32m'#89BDCD'[39m,
AccentBlue: [32m'#3B82F6'[39m,
AccentPurple: [32m'#8B5CF6'[39m,
AccentCyan: [32m'#06B6D4'[39m,
AccentGreen: [32m'#3CA84B'[39m,
AccentYellow: [32m'yellow'[39m,
AccentRed: [32m'red'[39m,
DiffAdded: [32m'green'[39m,
DiffRemoved: [32m'red'[39m,
Comment: [32m'gray'[39m,
Gray: [32m'gray'[39m
}
]
Registered theme: Theme (Ext)
stdout | src/ui/themes/theme-manager.test.ts > ThemeManager > extension themes > should allow extension themes and settings themes to coexist
Registering extension themes for "Ext": [
{
type: [32m'custom'[39m,
name: [32m'ExtensionTheme'[39m,
Background: [32m'#000000'[39m,
Foreground: [32m'#ffffff'[39m,
LightBlue: [32m'#89BDCD'[39m,
AccentBlue: [32m'#3B82F6'[39m,
AccentPurple: [32m'#8B5CF6'[39m,
AccentCyan: [32m'#06B6D4'[39m,
AccentGreen: [32m'#3CA84B'[39m,
AccentYellow: [32m'yellow'[39m,
AccentRed: [32m'red'[39m,
DiffAdded: [32m'green'[39m,
DiffRemoved: [32m'red'[39m,
Comment: [32m'gray'[39m,
Gray: [32m'gray'[39m
}
]
Registered theme: ExtensionTheme (Ext)
โ src/ui/themes/theme-manager.test.ts (15 tests) 601ms
โ src/ui/components/shared/TextInput.test.tsx (11 tests) 1536ms
โ TextInput > renders with an initial value 961ms
โ src/ui/hooks/useHistoryManager.test.ts (11 tests) 1129ms
โ useHistoryManager > should initialize with an empty history 640ms
stdout | src/ui/commands/copyCommand.test.ts > copyCommand > should handle clipboard copy error
Clipboard access denied
stdout | src/ui/commands/copyCommand.test.ts > copyCommand > should handle non-Error clipboard errors
String error
โ src/ui/commands/copyCommand.test.ts (11 tests) 709ms
โ src/ui/components/messages/CompressionMessage.test.tsx (10 tests) 4074ms
โ > pending state > renders pending message when compression is in progress 1506ms
โ > normal compression (successful token reduction) > renders success message when tokens are reduced 422ms
โ > message content validation > displays correct compression statistics 399ms
โ > message content validation > shows skip message for small histories when new tokens >= original tokens 374ms
โ > message content validation > shows compression failure message for large histories when new tokens >= original tokens 413ms
โ src/utils/sessionCleanup.integration.test.ts (5 tests) 611ms
โ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 2583ms
โ useReverseSearchCompletion > Core Hook Behavior > State Management > should initialize with default state 1184ms
โ useReverseSearchCompletion > Filtering > hides suggestions when there are no matches 323ms
โ src/utils/windowTitle.test.ts (14 tests) 303ms
โ src/utils/deepMerge.test.ts (17 tests) 348ms
โ src/ui/commands/mcpCommand.test.ts (5 tests) 589ms
โ src/ui/components/MultiFolderTrustDialog.test.tsx (8 tests) 3065ms
โ MultiFolderTrustDialog > renders the dialog with the list of folders 1379ms
โ MultiFolderTrustDialog > calls onComplete and finishAddingDirectories with an error on escape 547ms
โ MultiFolderTrustDialog > adds directories to workspace context when "Yes" is chosen 391ms
stdout | src/utils/gitUtils.test.ts > isGitHubRepository > returns false if the git command fails
Failed to get git remote: Error: oops
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:29:13
at mockCall (file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/spy[24m/dist/index.js:96:15)
at execSync (file:///build/gemini-cli/src/gemini-cli/node_modules/[4mtinyspy[24m/dist/index.js:47:80)
at Module.isGitHubRepository [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.ts:18:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:31:12
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:155:11
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:26
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:1863:10)
stdout | src/utils/gitUtils.test.ts > getLatestRelease > throws an error if the fetch fails
Failed to determine latest run-gemini-cli release: nope
stdout | src/utils/gitUtils.test.ts > getLatestRelease > throws an error if the fetch does not return a json body
Failed to determine latest run-gemini-cli release: Error: Response did not include tag_name field
at Module.getLatestGitHubRelease [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.ts:83:13[90m)[39m
[90m at processTicksAndRejections (node:internal/process/task_queues:104:5)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:234:5
at file:///build/gemini-cli/src/gemini-cli/node_modules/[4m@vitest/runner[24m/dist/chunk-hooks.js:752:20
โ src/utils/gitUtils.test.ts (24 tests) 686ms
โฏ src/ui/components/AgentConfigDialog.test.tsx (11 tests | 8 failed) 20322ms
โ AgentConfigDialog > rendering > should render the dialog with title 2924ms
ร AgentConfigDialog > rendering > should render all configuration fields 1979ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Enabled'
ร AgentConfigDialog > rendering > should render scope selector 1665ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Apply To'
ร AgentConfigDialog > rendering > should render help text 2048ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Use Enter to select'
โ AgentConfigDialog > keyboard navigation > should close dialog on Escape 1075ms
ร AgentConfigDialog > keyboard navigation > should navigate down with arrow key 2598ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Model'
ร AgentConfigDialog > keyboard navigation > should switch focus with Tab 2288ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '> Configure: Test Agent'
โ AgentConfigDialog > boolean toggle > should toggle enabled field on Enter 1086ms
ร AgentConfigDialog > default values > should show values from agent definition as defaults 1839ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.0-flash'
ร AgentConfigDialog > default values > should show experimental agents as disabled by default 1173ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'false'
ร AgentConfigDialog > existing overrides > should show existing override values with * indicator 1583ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'custom-model'
โ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 1262ms
โ AtFileProcessor > UI Feedback > should call ui.addItem with a WARNING if the file was ignored 410ms
โ src/ui/components/shared/MaxSizedBox.test.tsx (13 tests) 3821ms
โ > renders children without truncation when they fit 1357ms
โ > does not leak content after hidden indicator with bottom overflow 1035ms
โ src/ui/hooks/useIdeTrustListener.test.tsx (5 tests) 1007ms
โ useIdeTrustListener > should initialize correctly with no trust information 794ms
โ src/deferred.test.ts (9 tests) 372ms
โ src/ui/hooks/toolMapping.test.ts (16 tests) 243ms
stdout | src/ui/hooks/useIncludeDirsTrust.test.tsx > useIncludeDirsTrust > when folder trust is enabled and workspace is trusted > should add trusted dirs, collect untrusted errors, and open dialog for undefined
Creating custom dialog with undecidedDirs: [ [32m'/undefined'[39m ]
โ src/ui/hooks/useIncludeDirsTrust.test.tsx (6 tests) 1175ms
โ useIncludeDirsTrust > should do nothing if isTrustedFolder is undefined 549ms
โ src/ui/utils/highlight.test.ts (21 tests) 457ms
โ src/ui/contexts/MouseContext.test.tsx (18 tests) 1538ms
โ MouseContext > should subscribe and unsubscribe a handler 657ms
โฏ src/ui/App.test.tsx (12 tests | 6 failed) 11491ms
โ App > should render main content and composer when not quitting 3027ms
โ App > should render quitting display when quittingMessages is set 318ms
โ App > should render full history in alternate buffer mode when quittingMessages is set 1270ms
โ App > should render dialog manager when dialogs are visible 1070ms
โ App > should show Ctrl+'C' exit prompt when dialogs are visible and 'ctrlCPressedOnce' is true 405ms
โ App > should show Ctrl+'D' exit prompt when dialogs are visible and 'ctrlDPressedOnce' is true 429ms
ร App > should render ScreenReaderAppLayout when screen reader is enabled 1604ms
โ expected 'Notifications\nFooter\n\n\n\n\n\n\n\nโฆ' to contain 'Tips for getting started'
ร App > should render DefaultAppLayout when screen reader is not enabled 437ms
โ expected 'Notifications\nComposer\n\n\n\n\n\n\nโฆ' to contain 'Tips for getting started'
ร App > should render ToolConfirmationQueue along with Composer when tool is confirming and experiment is on 687ms
โ expected 'Notifications\nComposer\n\n\n\n\n\n\nโฆ' to contain 'Tips for getting started'
ร App > Snapshots > renders default layout correctly 514ms
โ Snapshot `App > Snapshots > renders default layout correctly 1` mismatched
ร App > Snapshots > renders screen reader layout correctly 1354ms
โ Snapshot `App > Snapshots > renders screen reader layout correctly 1` mismatched
ร App > Snapshots > renders with dialogs visible 308ms
โ Snapshot `App > Snapshots > renders with dialogs visible 1` mismatched
โ src/commands/extensions/disable.test.ts (12 tests) 1248ms
โ src/config/extensions/github_fetch.test.ts (8 tests) 388ms
โ src/ui/state/extensions.test.ts (15 tests) 287ms
stdout | src/commands/mcp/remove.test.ts > mcp remove command > unit tests with mocks > should remove a server from project settings
Server "test-server" removed from project settings.
โ src/commands/mcp/remove.test.ts (6 tests) 2639ms
โ mcp remove command > unit tests with mocks > should remove a server from project settings 688ms
โ mcp remove command > integration tests with real file I/O > should actually remove a server from the settings file 965ms
โ mcp remove command > integration tests with real file I/O > should preserve comments when removing a server 392ms
โ src/ui/hooks/useKeypress.test.tsx (22 tests) 2158ms
โ useKeypress > should not listen if isActive is false 795ms
โ src/ui/hooks/useInputHistory.test.ts (11 tests) 1018ms
โ useInputHistory > should initialize with historyIndex -1 and empty originalQueryBeforeNav 478ms
โ src/ui/hooks/shellReducer.test.ts (12 tests) 303ms
โ src/ui/hooks/useEditorSettings.test.tsx (10 tests) 1319ms
โ useEditorSettings > should initialize with dialog closed 637ms
โ src/ui/hooks/useLoadingIndicator.test.tsx (7 tests) 1517ms
โ useLoadingIndicator > should initialize with default values when Idle 742ms
โ src/ui/hooks/useGitBranchName.test.tsx (7 tests) 1494ms
โ useGitBranchName > should return branch name 859ms
stderr | src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ'
[MSW] Warning: intercepted a request without a matching request handler:
โข GET data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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
If you still wish to intercept this unhandled request, please create a request handler for it.
Read more: https://mswjs.io/docs/http/intercepting-requests
(node:12537) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/ui/components/AppHeader.test.tsx (11 tests) 12280ms
โ > should render the banner with default text 4684ms
โ > should render the banner with warning text 952ms
โ > should not render the banner when no flags are set 396ms
โ > should render the banner when previewFeatures is disabled 506ms
โ > should not render the banner when previewFeatures is enabled 419ms
โ > should not render the default banner if shown count is 5 or more 327ms
โ > should increment the version count when default banner is displayed 325ms
โ > should render Tips when tipsShown is less than 10 343ms
โ > should NOT render Tips when tipsShown is 10 or more 2192ms
โ > should show tips until they have been shown 10 times (persistence flow) 1804ms
โ src/commands/mcp/list.test.ts (4 tests) 562ms
โ src/ui/commands/bugCommand.test.ts (3 tests) 643ms
โ bugCommand > should generate the default GitHub issue URL 396ms
โ src/ui/components/StatusDisplay.test.tsx (14 tests) 2580ms
โ StatusDisplay > renders nothing by default if context summary is hidden via props 672ms
โ StatusDisplay > renders ContextSummaryDisplay by default 596ms
โ StatusDisplay > renders system md indicator if env var is set 401ms
โ src/config/extensions/extensionUpdates.test.ts (1 test) 3621ms
โ extensionUpdates > ExtensionManager integration > should warn about missing settings after update 3545ms
stdout | src/config/extension-manager-themes.spec.ts > ExtensionManager theme loading > should register themes from an extension when started
Registering extension themes for "my-theme-extension": [
{
name: [32m'My-Awesome-Theme'[39m,
type: [32m'custom'[39m,
text: { primary: [32m'#FF00FF'[39m }
}
]
Registered theme: My-Awesome-Theme (my-theme-extension)
stdout | src/config/extension-manager-themes.spec.ts > ExtensionManager theme loading > should revert to default theme when extension is stopped
Registering extension themes for "my-theme-extension": [
{
name: [32m'My-Awesome-Theme'[39m,
type: [32m'custom'[39m,
text: { primary: [32m'#FF00FF'[39m }
}
]
Registered theme: My-Awesome-Theme (my-theme-extension)
โ src/config/extension-manager-scope.test.ts (3 tests) 1155ms
โ ExtensionManager Settings Scope > should prioritize workspace settings over user settings and report correct scope 950ms
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx (7 tests | 1 failed) 5282ms
โ PermissionsModifyTrustDialog > should render the main dialog with current trust level 2334ms
โ PermissionsModifyTrustDialog > should display the inherited trust note from parent 568ms
โ PermissionsModifyTrustDialog > should display the inherited trust note from IDE 223ms
ร PermissionsModifyTrustDialog > should render the labels with folder names 1480ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust this folder (dir)'
โ PermissionsModifyTrustDialog > should call onExit when escape is pressed 154ms
โ PermissionsModifyTrustDialog > should commit and restart `r` keypress 241ms
โ PermissionsModifyTrustDialog > should not commit when escape is pressed during restart prompt 225ms
โ src/ui/themes/theme.test.ts (14 tests) 377ms
stdout | src/config/extension-manager-themes.spec.ts > ExtensionManager theme loading > should revert to default theme when extension is stopped
Unregistered theme: My-Awesome-Theme (my-theme-extension)
โ src/config/extension-manager-themes.spec.ts (2 tests) 5659ms
โ ExtensionManager theme loading > should register themes from an extension when started 1124ms
โ ExtensionManager theme loading > should revert to default theme when extension is stopped 4295ms
โ src/ui/hooks/useHookDisplayState.test.ts (6 tests) 1241ms
โ useHookDisplayState > should initialize with empty hooks 690ms
stdout | src/zed-integration/acpResume.test.ts > GeminiAgent Session Resume > should load a session, resume chat, and stream all message types
[STARTUP] StartupProfiler.flush() called with [33m0[39m phases
โ src/zed-integration/acpResume.test.ts (2 tests) 894ms
โ GeminiAgent Session Resume > should load a session, resume chat, and stream all message types 572ms
โ src/ui/contexts/ToolActionsContext.test.tsx (5 tests) 1199ms
โ ToolActionsContext > publishes to MessageBus for tools with correlationId (Modern Path) 672ms
โ src/gemini_cleanup.test.tsx (1 test) 1576ms
โ gemini.tsx main function cleanup > should log error when cleanupExpiredSessions fails 1536ms
โ src/ui/contexts/SessionContext.test.tsx (4 tests) 1119ms
โ SessionStatsContext > should provide the correct initial state 756ms
โฏ src/config/config.integration.test.ts (14 tests | 3 failed) 38520ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should load default file filtering seโฆ' 324ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should load custom file filtering setโฆ' 36ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should respect file filtering settingโฆ' 19ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should handle empty fileFiltering objโฆ' 13ms
โ Configuration Integration Tests > Real-world Configuration Scenarios > 'should handle a security-focused confโฆ' 27ms
โ Configuration Integration Tests > Real-world Configuration Scenarios > 'should handle a CI/CD environment conโฆ' 14ms
โ Configuration Integration Tests > Checkpointing Configuration > should enable checkpointing when the setting is true 25ms
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ' 10286ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=yolo corโฆ' 10077ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=default โฆ' 10031ms
โ Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should parse legacy --yolo flag correโฆ' 6732ms
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should handle no approval mode argumeโฆ' 155ms
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should reject invalid approval mode vโฆ' 457ms
โ Configuration Integration Tests > Approval Mode Integration Tests > 'should reject conflicting --yolo and โฆ' 197ms
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a http source
Extension "http-extension" installed successfully and enabled.
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a https source
Extension "https-extension" installed successfully and enabled.
โฏ src/ui/components/ToolConfirmationQueue.test.tsx (5 tests | 3 failed) 7038ms
โ ToolConfirmationQueue > renders the confirming tool with progress indicator 2429ms
โ ToolConfirmationQueue > returns null if tool has no confirmation details 83ms
ร ToolConfirmationQueue > renders expansion hint when content is long and constrained 1676ms
โ Snapshot `ToolConfirmationQueue > renders expansion hint when content is long and constrained 1` mismatched
ร ToolConfirmationQueue > calculates availableContentHeight based on availableTerminalHeight from UI state 1784ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'first 49 lines hidden'
ร ToolConfirmationQueue > does not render expansion hint when constrainHeight is false 1003ms
โ Snapshot `ToolConfirmationQueue > does not render expansion hint when constrainHeight is false 1` mismatched
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a git source
Extension "git-extension" installed successfully and enabled.
โ src/ui/components/ValidationDialog.test.tsx (8 tests) 2756ms
โ ValidationDialog > initial render (choosing state) > should render the main message and two options 1482ms
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a sso source
Extension "sso-extension" installed successfully and enabled.
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a local path
Extension "local-extension" installed successfully and enabled.
โ src/commands/extensions/install.test.ts (8 tests) 1556ms
โ extensions install command > should fail if no source is provided 349ms
โ handleInstall > should install an extension from a git source 570ms
โ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 2853ms
โ > should render "no tool calls" message when there are no active tools 1511ms
โ > should display stats for a single tool correctly 429ms
โ > should display stats for multiple tools correctly 322ms
โ > should handle large values without wrapping or overlapping 307ms
โ src/commands/extensions/list.test.ts (8 tests) 745ms
โ src/utils/sandboxUtils.test.ts (17 tests) 485ms
โ src/config/mcp/mcpServerEnablement.test.ts (14 tests) 345ms
โ src/utils/agentUtils.test.ts (8 tests) 240ms
โ src/ui/components/DialogManager.test.tsx (19 tests) 3162ms
โ DialogManager > renders nothing by default 1050ms
โ DialogManager > renders { showIdeRestartPrompt: true, ideTrustRestartReason: 'update' } when state is 'IdeTrustChangeDialog' 434ms
โฏ src/config/extension-manager-skills.test.ts (3 tests | 1 failed) 7955ms
ร ExtensionManager skills validation > should emit a warning during install if skills directory is not empty but no skills are loaded 6326ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExtensionManager skills validation > should emit a warning during load if skills directory is not empty but no skills are loaded 1101ms
โ ExtensionManager skills validation > should succeed if skills are correctly loaded 489ms
โ src/ui/utils/updateCheck.test.ts (10 tests) 442ms
โฏ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx (2 tests | 1 failed) 5047ms
โ ToolMessage Sticky Header Regression > verifies that multiple ToolMessages in a ToolGroupMessage in a ScrollableList have sticky headers 3231ms
ร ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers 1777ms
โ expected '\n\n\n\n' to contain 'Shell Command'
โ src/commands/extensions/link.test.ts (5 tests) 323ms
โ src/ui/utils/MarkdownDisplay.test.tsx (30 tests) 9889ms
โ > renders nothing for empty text 954ms
โ > renders a simple paragraph 535ms
โ > with 'Windows' line endings > renders headers with correct levels 331ms
โ > with 'Windows' line endings > renders a fenced code block with a language 507ms
โ > with 'Windows' line endings > renders a fenced code block without a language 2507ms
โ > with 'Windows' line endings > renders horizontal rules 393ms
โ > with 'Windows' line endings > renders tables correctly 681ms
โ > with 'Windows' line endings > correctly parses a mix of markdown elements 743ms
โ src/commands/skills/install.test.ts (6 tests) 320ms
โ src/utils/hookSettings.test.ts (8 tests) 478ms
โ src/config/keyBindings.test.ts (6 tests) 741ms
โ src/ui/components/Notifications.test.tsx (9 tests) 2360ms
โ Notifications > renders nothing when no notifications 635ms
โ Notifications > renders startup warnings: Warning 1 956ms
(node:13799) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 resize listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx (6 tests | 2 failed) 8591ms
ร AlternateBufferQuittingDisplay > renders with active and pending tool messages 5362ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ AlternateBufferQuittingDisplay > renders with empty history and no pending items 671ms
โ AlternateBufferQuittingDisplay > renders with history but no pending items 693ms
โ AlternateBufferQuittingDisplay > renders with pending items but no history 360ms
โ AlternateBufferQuittingDisplay > renders with a tool awaiting confirmation 414ms
ร AlternateBufferQuittingDisplay > renders with user and gemini messages 1040ms
โ Snapshot `AlternateBufferQuittingDisplay > renders with user and gemini messages > with_user_gemini_messages 1` mismatched
โ src/ui/utils/formatters.test.ts (28 tests) 467ms
โ src/utils/commands.test.ts (12 tests) 320ms
โ src/ui/hooks/useBackgroundShellManager.test.tsx (6 tests) 954ms
โ useBackgroundShellManager > should initialize with correct default values 664ms
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should call addItem with all version info
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should show the correct sandbox environment variable
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should show sandbox-exec profile when applicable
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should not show ide client when it is not detected
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
stdout | src/ui/commands/aboutCommand.test.ts > aboutCommand > should display the tier when getUserTierName returns a value
AboutCommand: Retrieved cached Google account { cachedAccount: [32m'test-email@example.com'[39m }
โ src/ui/utils/terminalSetup.test.ts (9 tests) 382ms
โ src/ui/commands/aboutCommand.test.ts (6 tests) 568ms
โ src/config/settings_repro.test.ts (1 test) 277ms
โ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 1495ms
โ RadioButtonSelect > Prop forwarding to BaseSelectionList > should forward all props correctly when provided 1136ms
โ src/ui/components/views/McpStatus.test.tsx (13 tests) 3725ms
โ McpStatus > renders correctly with a connected server 1542ms
โ src/ui/components/shared/TabHeader.test.tsx (12 tests) 3991ms
โ TabHeader > rendering > renders null for single tab 1086ms
โ TabHeader > rendering > renders all tab headers 1136ms
โ src/ui/IdeIntegrationNudge.test.tsx (6 tests) 5850ms
โ IdeIntegrationNudge > renders correctly with default options 1780ms
โ IdeIntegrationNudge > handles "Yes" selection 959ms
โ IdeIntegrationNudge > handles "No" selection 937ms
โ IdeIntegrationNudge > handles "Dismiss" selection 1158ms
โ IdeIntegrationNudge > handles Escape key press 390ms
โ IdeIntegrationNudge > displays correct text and handles selection when extension is pre-installed 574ms
โฏ src/ui/components/ThemeDialog.test.tsx (9 tests | 6 failed) 19179ms
ร ThemeDialog Snapshots > should render correctly in theme selection mode 6826ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
ร ThemeDialog Snapshots > should render correctly in scope selector mode 1848ms
โ Snapshot `ThemeDialog Snapshots > should render correctly in scope selector mode 1` mismatched
โ ThemeDialog Snapshots > should call onCancel when ESC is pressed 1143ms
โ ThemeDialog Snapshots > should call refreshStatic when a theme is selected 1309ms
ร Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set 2611ms
โ Snapshot `Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set 1` mismatched
ร Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set 1989ms
โ Snapshot `Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set 1` mismatched
ร Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type 1379ms
โ Snapshot `Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type 1` mismatched
ร Hint Visibility > should show hint when theme background matches terminal background 1311ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '(Matches terminal)'
โ Hint Visibility > should not show hint when theme background does not match terminal background 714ms
โ src/ui/utils/mouse.test.ts (17 tests) 324ms
โ src/utils/hookUtils.test.ts (8 tests) 192ms
โ src/utils/readStdin.test.ts (6 tests) 483ms
โ src/ui/hooks/useConsoleMessages.test.tsx (7 tests) 1061ms
โ useConsoleMessages > should initialize with an empty array of console messages 469ms
โ src/utils/userStartupWarnings.test.ts (7 tests) 412ms
โ src/ui/components/messages/ToolResultDisplay.test.tsx (8 tests) 4126ms
โ ToolResultDisplay > renders string result as markdown by default 1297ms
โ ToolResultDisplay > truncates very long string results 2072ms
โ src/commands/skills/enable.test.ts (4 tests) 349ms
โ src/ui/hooks/useTerminalTheme.test.tsx (7 tests) 1130ms
โ useTerminalTheme > should subscribe to terminal background events on mount 656ms
โฏ src/ui/components/messages/Todo.test.tsx (14 tests | 3 failed) 3121ms
โ (showFullTodos: true) > renders null when no todos are in the history 448ms
โ (showFullTodos: true) > renders null when todo list is empty 52ms
โ (showFullTodos: true) > renders when todos exist but none are in progress 1027ms
โ (showFullTodos: true) > renders when todos exist and one is in progress 212ms
โ (showFullTodos: true) > renders a todo list with long descriptions that wrap when full view is on 268ms
โ (showFullTodos: true) > renders the most recent todo list when multiple write_todos calls are in history 163ms
โ (showFullTodos: true) > renders full list when all todos are inactive 111ms
โ (showFullTodos: false) > renders null when no todos are in the history 36ms
โ (showFullTodos: false) > renders null when todo list is empty 18ms
โ (showFullTodos: false) > renders when todos exist but none are in progress 48ms
ร (showFullTodos: false) > renders when todos exist and one is in progress 441ms
โ Snapshot ` (showFullTodos: false) > renders when todos exist and one is in progress 1` mismatched
ร (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on 142ms
โ Snapshot ` (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on 1` mismatched
ร (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history 74ms
โ Snapshot ` (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history 1` mismatched
โ (showFullTodos: false) > renders full list when all todos are inactive 24ms
โ src/commands/skills/list.test.ts (5 tests) 453ms
โฏ src/ui/components/FolderTrustDialog.test.tsx (9 tests | 3 failed) 6105ms
โ FolderTrustDialog > should render the dialog with title and description 2113ms
โ FolderTrustDialog > should display exit message and call process.exit and not call onSelect when escape is pressed 656ms
โ FolderTrustDialog > should display restart message when isRestarting is true 457ms
โ FolderTrustDialog > should call relaunchApp when isRestarting is true 524ms
โ FolderTrustDialog > should not call relaunchApp if unmounted before timeout 330ms
โ FolderTrustDialog > should not call process.exit when "r" is pressed and isRestarting is false 363ms
ร FolderTrustDialog > directory display > should correctly display the folder name for a nested directory 737ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust folder (project)'
ร FolderTrustDialog > directory display > should correctly display the parent folder name for a nested directory 510ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder (user)'
ร FolderTrustDialog > directory display > should correctly display an empty parent folder name for a directory directly under root 373ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder ()'
โ src/ui/components/views/ExtensionsList.test.tsx (11 tests) 2141ms
โ > should render "No extensions installed." if there are no extensions 906ms
โ > should render a list of extensions with their version and status 317ms
โ src/ui/components/EditorSettingsDialog.test.tsx (5 tests) 3384ms
โ EditorSettingsDialog > renders correctly 1861ms
โ EditorSettingsDialog > calls onSelect when an editor is selected 396ms
โ EditorSettingsDialog > switches focus between editor and scope sections on Tab 667ms
โ src/ui/components/UserIdentity.test.tsx (5 tests) 2017ms
โ > should render login message and auth indicator 1193ms
โ > should render plan name on a separate line if provided 310ms
โ src/ui/components/Header.test.tsx (7 tests) 2486ms
โ > renders the long logo on a wide terminal 1294ms
โ src/ui/hooks/useFlickerDetector.test.ts (6 tests) 805ms
โ useFlickerDetector > should not record a flicker when height is less than terminal height 559ms
โ src/config/settings_validation_warning.test.ts (3 tests) 505ms
โ Settings Validation Warning > should emit a warning and NOT throw when settings are invalid 371ms
โฏ src/config/extension-manager-agents.test.ts (2 tests | 1 failed) 7299ms
ร ExtensionManager agents loading > should load agents from an extension 6128ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ ExtensionManager agents loading > should log errors but continue if an agent fails to load 1129ms
โ src/ui/commands/authCommand.test.ts (9 tests) 678ms
โ src/ui/hooks/useFocus.test.tsx (6 tests) 1043ms
โ useFocus > should initialize with focus and enable focus reporting 632ms
โ src/ui/components/shared/ExpandableText.test.tsx (7 tests) 1904ms
โ ExpandableText > renders plain label when no match (short label) 1037ms
โ src/ui/layouts/DefaultAppLayout.test.tsx (3 tests) 1485ms
โ > renders BackgroundShellDisplay when shells exist and active 1214ms
โ src/ui/hooks/useBanner.test.ts (6 tests) 1329ms
โ useBanner > should return warning text and warning color if warningText is present 934ms
โ src/ui/commands/compressCommand.test.ts (5 tests) 577ms
โ compressCommand > should do nothing if a compression is already pending 321ms
โ src/ui/components/shared/EnumSelector.test.tsx (9 tests) 2500ms
โ > renders with string options and matches snapshot 1354ms
โ > updates when currentValue changes externally 304ms
โ src/core/initializer.test.ts (5 tests) 322ms
โ src/commands/skills/disable.test.ts (4 tests) 297ms
โ src/ui/hooks/useTimer.test.tsx (8 tests) 1039ms
โ useTimer > should initialize with 0 605ms
โ src/utils/dialogScopeUtils.test.ts (4 tests) 154ms
โ src/ui/privacy/CloudFreePrivacyNotice.test.tsx (9 tests) 2741ms
โ CloudFreePrivacyNotice > renders correctly in 'loading state' 934ms
โ CloudFreePrivacyNotice > renders correctly in 'free tier state' 624ms
โ CloudFreePrivacyNotice > RadioButtonSelect interaction > calls correct functions on selecting "'Yes'" 337ms
โ src/ui/auth/ApiAuthDialog.test.tsx (6 tests) 2565ms
โ ApiAuthDialog > renders correctly 1593ms
โ ApiAuthDialog > renders with a defaultValue 331ms
stdout | src/commands/extensions/validate.test.ts > handleValidate > should validate an extension from a local dir
Extension local-ext-name has been successfully validated.
stderr | src/commands/extensions/validate.test.ts > handleValidate > should warn if version is not formatted with semver
Validation warnings:
- Warning: Version '1' does not appear to be standard semver (e.g., 1.0.0).
stdout | src/commands/extensions/validate.test.ts > handleValidate > should warn if version is not formatted with semver
Extension valid-name has been successfully validated.
โ src/commands/extensions/validate.test.ts (5 tests) 2056ms
โ extensions validate command > should fail if no path is provided 387ms
โ handleValidate > should validate an extension from a local dir 321ms
โ handleValidate > should throw an error if the extension name is invalid 979ms
โ src/ui/commands/policiesCommand.test.ts (4 tests) 549ms
โ src/ui/commands/clearCommand.test.ts (2 tests) 436ms
โ src/utils/cleanup.test.ts (8 tests) 390ms
โ src/zed-integration/fileSystemService.test.ts (4 tests) 355ms
โ src/ui/components/ConfigInitDisplay.test.tsx (4 tests) 1714ms
โ ConfigInitDisplay > renders initial state 1190ms
โ src/ui/hooks/usePrivacySettings.test.tsx (4 tests) 1082ms
โ usePrivacySettings > should throw error when content generator is not a CodeAssistServer 585ms
โ usePrivacySettings > should update data collection opt-in setting 312ms
โ src/ui/utils/textOutput.test.ts (10 tests) 270ms
โ src/ui/hooks/useTurnActivityMonitor.test.ts (4 tests) 1211ms
โ useTurnActivityMonitor > should set operationStartTime when entering Responding state 882ms
โ src/ui/commands/permissionsCommand.test.ts (7 tests) 515ms
โ src/ui/commands/statsCommand.test.ts (4 tests) 365ms
โ src/ui/hooks/useRewind.test.ts (5 tests) 1009ms
โ useRewindLogic > should initialize with no selection 627ms
โ src/ui/components/MainContent.test.tsx (3 tests) 2214ms
โ MainContent > renders in normal buffer mode 1641ms
โ src/ui/components/messages/ShellToolMessage.test.tsx (2 tests) 2848ms
โ > interactive shell focus > clicks inside the shell area sets focus to true 2478ms
โ > interactive shell focus > handles focus for SHELL_TOOL_NAME (core shell tool) 323ms
โ src/utils/skillUtils.test.ts (3 tests) 1140ms
โ skillUtils > should successfully install from a local directory 561ms
โ skillUtils > should abort installation if consent is rejected 397ms
โฏ src/ui/components/messages/ToolMessageFocusHint.test.tsx (5 tests | 2 failed) 3989ms
โ Focus Hint > 'ToolMessage' > shows focus hint after delay even with NO output 2077ms
โ Focus Hint > 'ToolMessage' > shows focus hint after delay with output 463ms
ร Focus Hint > 'ShellToolMessage' > shows focus hint after delay even with NO output 598ms
โ Snapshot `Focus Hint > 'ShellToolMessage' > shows focus hint after delay even with NO output > after-delay-no-output 1` mismatched
ร Focus Hint > 'ShellToolMessage' > shows focus hint after delay with output 378ms
โ Snapshot `Focus Hint > 'ShellToolMessage' > shows focus hint after delay with output > after-delay-with-output 1` mismatched
โ Focus Hint > handles long descriptions by shrinking them to show the focus hint 417ms
โ src/ui/commands/toolsCommand.test.ts (4 tests) 443ms
โ src/config/extensions/variables.test.ts (10 tests) 316ms
โ src/ui/components/views/SkillsList.test.tsx (6 tests) 2603ms
โ SkillsList Component > should render enabled and disabled skills separately 1712ms
โ src/ui/components/GradientRegression.test.tsx (5 tests) 5632ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 3523ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 1268ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 420ms
โฏ src/ui/components/messages/ToolConfirmationMessageOverflow.test.tsx (1 test | 1 failed) 4588ms
ร ToolConfirmationMessage Overflow > should display "press ctrl-o" hint when content overflows in ToolGroupMessage 4549ms
โ Snapshot `ToolConfirmationMessage Overflow > should display "press ctrl-o" hint when content overflows in ToolGroupMessage 1` mismatched
โ src/ui/components/AnsiOutput.test.tsx (12 tests) 1819ms
โ > renders a simple AnsiOutput object correctly 960ms
โ > renders a large AnsiOutput object without crashing 403ms
โ src/ui/hooks/useAnimatedScrollbar.test.tsx (7 tests) 1268ms
โ useAnimatedScrollbar > should not increment debugNumAnimatedComponents when not focused 711ms
โ src/ui/components/ShellInputPrompt.test.tsx (8 tests) 636ms
โ ShellInputPrompt > renders nothing 401ms
โ src/utils/persistentState.test.ts (5 tests) 358ms
โ src/commands/skills/uninstall.test.ts (5 tests) 335ms
โ src/utils/readStdin_safety.test.ts (2 tests) 283ms
โ src/ui/commands/initCommand.test.ts (3 tests) 407ms
โ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 1812ms
โ > should render on a single line on a wide screen 1256ms
โ src/utils/jsonoutput.test.ts (15 tests) 253ms
โ src/config/auth.test.ts (8 tests) 157ms
โ src/ui/components/shared/Scrollable.test.tsx (4 tests) 2265ms
โ > renders children 1388ms
โ > updates scroll position correctly when scrollBy is called multiple times in the same tick 378ms
stdout | src/commands/extensions/new.test.ts > extensions new command > should create directory when no template is provided
Successfully created new extension at /some/path.
You can install this using "gemini extensions link /some/path" to test it out.
โ src/ui/hooks/useSnowfall.test.tsx (5 tests) 1741ms
โ useSnowfall > initially enables animation during holiday season with Holiday theme 1077ms
stdout | src/commands/extensions/new.test.ts > extensions new command > should create directory and copy files when path does not exist
Successfully created new extension from template "context" at /some/path.
You can install this using "gemini extensions link /some/path" to test it out.
โ src/commands/extensions/new.test.ts (4 tests) 1172ms
โ extensions new command > should fail if no path is provided 482ms
โ extensions new command > should create directory when no template is provided 402ms
โ src/commands/extensions.test.tsx (3 tests) 294ms
โ src/ui/hooks/useShellInactivityStatus.test.ts (4 tests) 1310ms
โ useShellInactivityStatus > should show action_required status after 30s when output has been produced 990ms
โ src/ui/commands/docsCommand.test.ts (3 tests) 493ms
โ docsCommand > should add an info message and call 'open' in a non-sandbox environment 329ms
โ src/ui/components/ConsentPrompt.test.tsx (5 tests) 2615ms
โ ConsentPrompt > renders a string prompt with MarkdownDisplay 1649ms
โ ConsentPrompt > renders a ReactNode prompt directly 377ms
โ src/config/extensions/storage.test.ts (5 tests) 278ms
โ src/ui/components/SuggestionsDisplay.test.tsx (6 tests) 1906ms
โ SuggestionsDisplay > renders loading state 858ms
โ SuggestionsDisplay > handles scrolling 452ms
โ src/ui/hooks/useMcpStatus.test.tsx (4 tests) 636ms
โ useMcpStatus > should initialize with correct values (no servers) 492ms
โ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 2742ms
โ IdeTrustChangeDialog > renders the correct message for CONNECTION_CHANGE 1724ms
โ src/ui/utils/displayUtils.test.ts (8 tests) 280ms
โ src/ui/utils/markdownUtilities.test.ts (7 tests) 155ms
โ src/ui/auth/AuthInProgress.test.tsx (5 tests) 2297ms
โ AuthInProgress > renders initial state with spinner 1493ms
โ src/test-utils/render.test.tsx (6 tests) 1597ms
โ render > should render a component 1074ms
โ src/ui/components/LogoutConfirmationDialog.test.tsx (5 tests) 2739ms
โ LogoutConfirmationDialog > should render the dialog with title, description, and hint 1802ms
โ LogoutConfirmationDialog > should render RadioButtonSelect with Login and Exit options 347ms
โ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 229ms
โ src/ui/hooks/useBatchedScroll.test.ts (7 tests) 963ms
โ useBatchedScroll > returns initial scrollTop 639ms
โ src/ui/components/GeminiRespondingSpinner.test.tsx (5 tests) 1322ms
โ GeminiRespondingSpinner > renders spinner when responding 1056ms
โ src/utils/startupWarnings.test.ts (4 tests) 159ms
โ src/ui/auth/LoginWithGoogleRestartDialog.test.tsx (4 tests) 2069ms
โ LoginWithGoogleRestartDialog > renders correctly 1509ms
โ src/ui/components/QueuedMessageDisplay.test.tsx (5 tests) 1875ms
โ QueuedMessageDisplay > renders nothing when message queue is empty 627ms
โ QueuedMessageDisplay > displays single queued message 767ms
โ src/core/auth.test.ts (4 tests) 264ms
โ src/ui/components/shared/HalfLinePaddedBox.test.tsx (4 tests) 2640ms
โ > renders standard background and blocks when not iTerm2 2075ms
โ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (2 tests) 2230ms
โ DescriptiveRadioButtonSelect > should render correctly with default props 1807ms
โ DescriptiveRadioButtonSelect > should render correctly with custom props 385ms
โ src/ui/components/messages/ToolMessageRawMarkdown.test.tsx (6 tests) 4357ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(default, regular buffer)' 2279ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(default, alternate buffer)' 418ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=false, useAlternateBuffer=false '(raw markdown, regular buffer)' 656ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(constrained height, regular buffer -โฆ' 323ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=true '(constrained height, alternate bufferโฆ' 345ms
โฏ src/ui/components/RewindConfirmation.test.tsx (4 tests | 2 failed) 3670ms
โ RewindConfirmation > renders correctly with stats 2541ms
ร RewindConfirmation > renders correctly without stats 418ms
โ Snapshot `RewindConfirmation > renders correctly without stats 1` mismatched
โ RewindConfirmation > calls onConfirm with Cancel on Escape 390ms
ร RewindConfirmation > renders timestamp when provided 267ms
โ Snapshot `RewindConfirmation > renders timestamp when provided 1` mismatched
โ src/ui/hooks/vim-passthrough.test.tsx (4 tests) 579ms
โ useVim passthrough > should pass through 'F12' in 'INSERT' mode 473ms
โ src/ui/contexts/TerminalContext.test.tsx (2 tests) 752ms
โ TerminalContext > should parse OSC 11 response 624ms
โฏ src/ui/components/shared/performance.test.ts (3 tests | 1 failed) 17259ms
โ text-buffer performance > should handle pasting large amounts of text efficiently 3327ms
ร text-buffer performance > should handle character-by-character insertion in a large buffer efficiently 13797ms
โ expected 9315 to be less than 5000
โ text-buffer performance > should highlight many lines efficiently 87ms
โ src/ui/hooks/useMouseClick.test.ts (2 tests) 662ms
โ useMouseClick > should call handler with relative coordinates when click is inside bounds 551ms
โ src/ui/components/SessionSummaryDisplay.test.tsx (1 test) 2890ms
โ > renders the summary display with a title 2844ms
โ src/ui/utils/input.test.ts (6 tests) 134ms
โ src/ui/utils/keybindingUtils.test.ts (5 tests) 136ms
โ src/ui/hooks/useMemoryMonitor.test.tsx (3 tests) 877ms
โ useMemoryMonitor > should not warn when memory usage is below threshold 589ms
โ src/commands/mcp.test.ts (3 tests) 841ms
โ mcp command > should show help when no subcommand is provided 582ms
โ src/ui/components/messages/ToolResultDisplayOverflow.test.tsx (1 test) 3588ms
โ ToolResultDisplay Overflow > should display "press ctrl-o" hint when content overflows in ToolGroupMessage 3544ms
โ src/ui/components/AboutBox.test.tsx (6 tests) 3803ms
โ AboutBox > renders with required props 2244ms
โ AboutBox > renders optional prop gcpProject 419ms
โ AboutBox > renders optional prop ideClient 336ms
โ src/ui/utils/clipboardUtils.windows.test.ts (1 test) 227ms
โ src/ui/hooks/useToolSchedulerFacade.test.ts (2 tests) 640ms
โ useToolScheduler (Facade) > delegates to useReactToolScheduler when event-driven scheduler is disabled 520ms
โ src/ui/components/Checklist.test.tsx (5 tests) 1849ms
โ > renders nothing when list is empty 449ms
โ > renders summary view correctly (collapsed) 1001ms
โ src/ui/components/DetailedMessagesDisplay.test.tsx (3 tests) 2003ms
โ DetailedMessagesDisplay > renders nothing when messages are empty 573ms
โ DetailedMessagesDisplay > renders messages correctly 1028ms
โ DetailedMessagesDisplay > renders message counts 346ms
โ src/ui/hooks/useMouse.test.ts (4 tests) 839ms
โ useMouse > should not subscribe when isActive is false 552ms
โ src/ui/hooks/useReactToolScheduler.test.ts (1 test) 383ms
โ useReactToolScheduler > only creates one instance of CoreToolScheduler even if props change 348ms
โ src/ui/components/ShowMoreLines.test.tsx (5 tests) 1240ms
โ ShowMoreLines > renders nothing when: overflow=Set{}, streaming=idle, constrain=true 606ms
โ ShowMoreLines > renders message when overflowing and state is idle 479ms
โ src/ui/privacy/PrivacyNotice.test.tsx (4 tests) 1685ms
โ PrivacyNotice > renders 'GeminiPrivacyNotice' when authType is 'gemini-api-key' 1374ms
โ src/commands/skills.test.tsx (3 tests) 308ms
โ src/test-utils/mockCommandContext.test.ts (3 tests) 326ms
โ src/ui/components/Help.test.tsx (3 tests) 3512ms
โ Help Component > should not render hidden commands 2576ms
โ Help Component > should not render hidden subcommands 542ms
โ Help Component > should render keyboard shortcuts 360ms
โ src/ui/utils/TableRenderer.test.tsx (2 tests) 3826ms
โ TableRenderer > renders a 3x3 table correctly 2710ms
โ TableRenderer > renders a table with long headers and 4 columns correctly 1070ms
โ src/ui/utils/terminalUtils.test.ts (4 tests) 166ms
โ src/ui/components/ExitWarning.test.tsx (4 tests) 1044ms
โ ExitWarning > renders nothing by default 409ms
โ ExitWarning > renders Ctrl+C warning when pressed once and dialogs visible 484ms
โฏ src/ui/components/BubblingRegression.test.tsx (1 test | 1 failed) 4733ms
ร Key Bubbling Regression > does not navigate when pressing "j" or "k" in a focused text input 4708ms
โ expected 'Choice Q?\n\n 1.\n O\n p\n โฆ' to contain 'Enter a custom value'
โ src/ui/components/Table.test.tsx (3 tests) 1965ms
โ Table > should render headers and data correctly 1661ms
โ src/zed-integration/acpErrors.test.ts (7 tests) 281ms
โ src/core/theme.test.ts (3 tests) 230ms
โ src/ui/components/QuittingDisplay.test.tsx (2 tests) 1160ms
โ QuittingDisplay > renders nothing when no quitting messages 538ms
โ QuittingDisplay > renders quitting messages 572ms
โ src/ui/utils/CodeColorizer.test.tsx (1 test) 1992ms
โ colorizeCode > renders empty lines correctly when useAlternateBuffer is true 1927ms
โ src/ui/commands/modelCommand.test.ts (3 tests) 241ms
โ src/commands/utils.test.ts (2 tests) 117ms
โ src/ui/components/ContextUsageDisplay.test.tsx (3 tests) 1241ms
โ ContextUsageDisplay > renders correct percentage left 1047ms
โ src/ui/commands/quitCommand.test.ts (1 test) 292ms
โ src/ui/commands/helpCommand.test.ts (2 tests) 375ms
โ src/ui/components/messages/UserMessage.test.tsx (4 tests) 2570ms
โ UserMessage > renders normal user message with correct prefix 1980ms
โ src/utils/resolvePath.test.ts (7 tests) 148ms
โ src/ui/components/views/ToolsList.test.tsx (3 tests) 2250ms
โ > renders correctly with descriptions 1916ms
โ src/ui/components/HookStatusDisplay.test.tsx (4 tests) 980ms
โ > should render a single executing hook 885ms
โ src/ui/components/ApprovalModeIndicator.test.tsx (4 tests) 972ms
โ ApprovalModeIndicator > renders correctly for AUTO_EDIT mode 824ms
โ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 206ms
โ src/ui/components/ChecklistItem.test.tsx (6 tests) 1491ms
โ > renders { status: 'pending', label: 'Do this' } item correctly 936ms
โฏ src/ui/components/NewAgentsNotification.test.tsx (2 tests | 1 failed) 2998ms
โ NewAgentsNotification > renders agent list 2273ms
ร NewAgentsNotification > truncates list if more than 5 agents 690ms
โ Snapshot `NewAgentsNotification > truncates list if more than 5 agents 1` mismatched
โ src/ui/commands/shellsCommand.test.ts (3 tests) 197ms
โ src/utils/events.test.ts (2 tests) 136ms
โ src/config/settingPaths.test.ts (2 tests) 149ms
โ src/ui/components/messages/GeminiMessage.test.tsx (4 tests) 3227ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true '(default)' 2255ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=false '(raw markdown with syntax highlightinโฆ' 451ms
โ src/ui/hooks/useModelCommand.test.tsx (3 tests) 891ms
โ useModelCommand > should initialize with the model dialog closed 637ms
โ src/ui/components/MemoryUsageDisplay.test.tsx (2 tests) 1629ms
โ MemoryUsageDisplay > renders memory usage 1341ms
โ src/utils/updateEventEmitter.test.ts (1 test) 210ms
โ src/ui/components/views/ChatList.test.tsx (3 tests) 1649ms
โ > renders correctly with a list of chats 1347ms
โ src/ui/utils/ui-sizing.test.ts (4 tests) 124ms
โ src/ui/hooks/useTips.test.ts (3 tests) 1530ms
โ useTips() > should return false and call set(1) if state is undefined 1197ms
โ src/utils/math.test.ts (7 tests) 129ms
โ src/ui/components/messages/RedirectionConfirmation.test.tsx (1 test) 3592ms
โ ToolConfirmationMessage Redirection > should display redirection warning and tip for redirected commands 2608ms
โ src/ui/commands/privacyCommand.test.ts (2 tests) 193ms
โ src/ui/components/AdminSettingsChangedDialog.test.tsx (4 tests) 2614ms
โ AdminSettingsChangedDialog > renders correctly 1900ms
โ src/ui/commands/themeCommand.test.ts (2 tests) 297ms
โ src/ui/privacy/GeminiPrivacyNotice.test.tsx (2 tests) 1517ms
โ GeminiPrivacyNotice > renders correctly 1234ms
โฏ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests | 1 failed) 3026ms
โ LoopDetectionConfirmation > renders correctly 1683ms
ร LoopDetectionConfirmation > contains the expected options 1299ms
โ expected ' โญโฎ\n โโ?\n โโ\n โโT\n โโh\n โโi\n โโโฆ' to contain 'A potential loop was detected'
โ src/ui/components/RawMarkdownIndicator.test.tsx (2 tests) 776ms
โ RawMarkdownIndicator > renders correct key binding for darwin 683ms
โ src/ui/privacy/CloudPaidPrivacyNotice.test.tsx (2 tests) 1832ms
โ CloudPaidPrivacyNotice > renders correctly 1519ms
โ src/ui/components/CopyModeWarning.test.tsx (2 tests) 731ms
โ CopyModeWarning > renders nothing when copy mode is disabled 330ms
โ CopyModeWarning > renders warning when copy mode is enabled 364ms
โ src/ui/commands/settingsCommand.test.ts (2 tests) 271ms
โ src/ui/commands/editorCommand.test.ts (2 tests) 222ms
โ src/ui/commands/corgiCommand.test.ts (2 tests) 261ms
โ src/ui/components/CliSpinner.test.tsx (2 tests) 1166ms
โ > should increment debugNumAnimatedComponents on mount and decrement on unmount 1028ms
โ src/ui/components/messages/InfoMessage.test.tsx (3 tests) 1103ms
โ InfoMessage > renders with the correct default prefix and text 959ms
โ src/utils/processUtils.test.ts (1 test) 57ms
โ src/ui/components/ConsoleSummaryDisplay.test.tsx (3 tests) 668ms
โ ConsoleSummaryDisplay > renders correct message for 1 errors 338ms
โ src/ui/components/ThemedGradient.test.tsx (1 test) 571ms
โ ThemedGradient > renders children 553ms
โ src/ui/components/Tips.test.tsx (2 tests) 698ms
โ Tips > renders correct tips when file count is 0 621ms
โ src/ui/components/messages/WarningMessage.test.tsx (2 tests) 853ms
โ WarningMessage > renders with the correct prefix and text 788ms
โ src/ui/utils/InlineMarkdownRenderer.test.ts (7 tests) 245ms
โ src/ui/components/Banner.test.tsx (3 tests) 926ms
โ Banner > renders in warning mode 758ms
โ src/ui/components/StickyHeader.test.tsx (2 tests) 995ms
โ StickyHeader > renders children with isFirst=true 890ms
โ src/ui/components/messages/ErrorMessage.test.tsx (2 tests) 813ms
โ ErrorMessage > renders with the correct prefix and text 754ms
โ src/ui/components/ShellModeIndicator.test.tsx (1 test) 537ms
โ ShellModeIndicator > renders correctly 520ms
โ src/ui/components/UpdateNotification.test.tsx (1 test) 732ms
โ UpdateNotification > renders message 716ms
โฏโฏโฏโฏโฏโฏ Failed Suites 2 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/ui/hooks/useAtCompletion.test.ts [ src/ui/hooks/useAtCompletion.test.ts ]
FAIL src/ui/hooks/useAtCompletion_agents.test.ts [ src/ui/hooks/useAtCompletion_agents.test.ts ]
Error: The @lydell/node-pty package currently does not support your platform: linux-riscv64
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:12:19
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
โฏ Object. ../../node_modules/@lydell/node-pty/index.js:13:20
Caused by: Error: Cannot find module '@lydell/node-pty-linux-riscv64/pty.node'
Require stack:
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:7:16
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ
Serialized Error: { code: 'MODULE_NOT_FOUND', requireStack: [ '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js' ] }
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/172]โฏ
โฏโฏโฏโฏโฏโฏ Failed Tests 170 โฏโฏโฏโฏโฏโฏ
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=yolo corโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=default โฆ'
Error: Hook timed out in 10000ms.
If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout".
โฏ src/config/config.integration.test.ts:173:5
171| let parseArguments: typeof import('./config.js').parseArguments;
172|
173| beforeEach(async () => {
| ^
174| // Import the argument parsing function for integration testing
175| const { parseArguments: parseArgs } = await import('./config.js'โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/172]โฏ
FAIL src/config/extension-manager-agents.test.ts > ExtensionManager agents loading > should load agents from an extension
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/config/extension-manager-agents.test.ts:72:3
70| });
71|
72| it('should load agents from an extension', async () => {
| ^
73| const sourceDir = path.join(tempDir, 'source-ext-good');
74| createExtension({
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[3/172]โฏ
FAIL src/config/extension-manager-hydration.test.ts > ExtensionManager hydration > should hydrate skill body with extension settings
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/config/extension-manager-hydration.test.ts:76:3
74| });
75|
76| it('should hydrate skill body with extension settings', async () => {
| ^
77| const sourceDir = path.join(tempDir, 'source-ext-skill');
78| const extensionName = 'skill-hydration-ext';
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[4/172]โฏ
FAIL src/config/extension-manager-skills.test.ts > ExtensionManager skills validation > should emit a warning during install if skills directory is not empty but no skills are loaded
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/config/extension-manager-skills.test.ts:78:3
76| });
77|
78| it('should emit a warning during install if skills directory is not โฆ
| ^
79| // Create a source extension
80| const sourceDir = path.join(tempDir, 'source-ext');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[5/172]โฏ
FAIL src/ui/App.test.tsx > App > should render ScreenReaderAppLayout when screen reader is enabled
AssertionError: expected 'Notifications\nFooter\n\n\n\n\n\n\n\nโฆ' to contain 'Tips for getting started'
[32m- Expected[39m
[31m+ Received[39m
[32m- Tips for getting started[39m
[31m+ Notifications[39m
[31m+ Footer[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+ Composer[39m
โฏ src/ui/App.test.tsx:180:25
178| expect(lastFrame()).toContain('Notifications');
179| expect(lastFrame()).toContain('Footer');
180| expect(lastFrame()).toContain('Tips for getting started');
| ^
181| expect(lastFrame()).toContain('Composer');
182| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[6/172]โฏ
FAIL src/ui/App.test.tsx > App > should render DefaultAppLayout when screen reader is not enabled
AssertionError: expected 'Notifications\nComposer\n\n\n\n\n\n\nโฆ' to contain 'Tips for getting started'
[32m- Expected[39m
[31m+ Received[39m
[32m- Tips for getting started[39m
[31m+ Notifications[39m
[31m+ Composer[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/App.test.tsx:191:25
189| });
190|
191| expect(lastFrame()).toContain('Tips for getting started');
| ^
192| expect(lastFrame()).toContain('Notifications');
193| expect(lastFrame()).toContain('Composer');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[7/172]โฏ
FAIL src/ui/App.test.tsx > App > should render ToolConfirmationQueue along with Composer when tool is confirming and experiment is on
AssertionError: expected 'Notifications\nComposer\n\n\n\n\n\n\nโฆ' to contain 'Tips for getting started'
[32m- Expected[39m
[31m+ Received[39m
[32m- Tips for getting started[39m
[31m+ Notifications[39m
[31m+ Composer[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/App.test.tsx:235:25
233| });
234|
235| expect(lastFrame()).toContain('Tips for getting started');
| ^
236| expect(lastFrame()).toContain('Notifications');
237| expect(lastFrame()).toContain('Action Required'); // From ToolConfโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[8/172]โฏ
FAIL src/ui/App.test.tsx > App > Snapshots > renders default layout correctly
Error: Snapshot `App > Snapshots > renders default layout correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,20 +1,20 @@[39m
[32m- "[39m
[32m- โโโ โโโโโโโโโ[39m
[32m- โโโโโโ โโโโโโโโโโโ[39m
[32m- โโโโโโ โโโ โโโ[39m
[32m- โโโโโโโโโโ[39m
[32m- โโโโ โโโโ โโโโโ[39m
[32m- โโโโ โโโโโ โโโโโ[39m
[32m- โโโโ โโโโโโโโโโโ[39m
[32m- โโโ โโโโโโโโโ[39m
[32m-[39m
[32m- Tips for getting started:[39m
[32m- 1. Ask questions, edit files, or run commands.[39m
[32m- 2. Be specific for the best results.[39m
[32m- 3. Create GEMINI.md files to customize your interactions with Gemini.[39m
[32m- 4. /help for more information.[39m
[31m+ "[7mNotifications[27m[39m
[31m+ Composer[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[33m@@ -33,8 +33,8 @@[39m
[32m- Notifications[39m
[32m- Composer[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/App.test.tsx:248:27
246| uiState: mockUIState,
247| });
248| expect(lastFrame()).toMatchSnapshot();
| ^
249| });
250|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[9/172]โฏ
FAIL src/ui/App.test.tsx > App > Snapshots > renders screen reader layout correctly
Error: Snapshot `App > Snapshots > renders screen reader layout correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "Notifications[22m
[2m Footer[22m
[32m- โโโ โโโโโโโโโ[39m
[32m- โโโโโโ โโโโโโโโโโโ[39m
[32m- โโโโโโ โโโ โโโ[39m
[32m- โโโโโโโโโโ[39m
[32m- โโโโ โโโโ โโโโโ[39m
[32m- โโโโ โโโโโ โโโโโ[39m
[32m- โโโโ โโโโโโโโโโโ[39m
[32m- โโโ โโโโโโโโโ[39m
[32m-[39m
[32m- Tips for getting started:[39m
[32m- 1. Ask questions, edit files, or run commands.[39m
[32m- 2. Be specific for the best results.[39m
[32m- 3. Create GEMINI.md files to customize your interactions with Gemini.[39m
[32m- 4. /help for more information.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m Composer"[22m
โฏ src/ui/App.test.tsx:256:27
254| uiState: mockUIState,
255| });
256| expect(lastFrame()).toMatchSnapshot();
| ^
257| });
258|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[10/172]โฏ
FAIL src/ui/App.test.tsx > App > Snapshots > renders with dialogs visible
Error: Snapshot `App > Snapshots > renders with dialogs visible 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,14 +1,14 @@[39m
[32m- "[39m
[32m- โโโ โโโโโโโโโ[39m
[32m- โโโโโโ โโโโโโโโโโโ[39m
[32m- โโโโโโ โโโ โโโ[39m
[32m- โโโโโโโโโโ[39m
[32m- โโโโ โโโโ โโโโโ[39m
[32m- โโโโ โโโโโ โโโโโ[39m
[32m- โโโโ โโโโโโโโโโโ[39m
[32m- โโโ โโโโโโโโโ[39m
[31m+ "[7mNotifications[27m[39m
[31m+ DialogManager[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[33m@@ -33,8 +33,8 @@[39m
[32m- Notifications[39m
[32m- DialogManager[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/App.test.tsx:267:27
265| uiState: dialogUIState,
266| });
267| expect(lastFrame()).toMatchSnapshot();
| ^
268| });
269| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[11/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > rendering > should render all configuration fields
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Enabled'
[32m- Expected[39m
[31m+ Received[39m
[32m- Enabled[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M i โ[39m
[31m+ โ o n โ[39m
[31m+ โ d h โ[39m
[31m+ โ e e โ[39m
[31m+ โ l r โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:151:21
149| const frame = lastFrame();
150|
151| expect(frame).toContain('Enabled');
| ^
152| expect(frame).toContain('Model');
153| expect(frame).toContain('Temperature');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[12/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > rendering > should render scope selector
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Apply To'
[32m- Expected[39m
[31m+ Received[39m
[32m- Apply To[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M i โ[39m
[31m+ โ o n โ[39m
[31m+ โ d h โ[39m
[31m+ โ e e โ[39m
[31m+ โ l r โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:165:27
163| const { lastFrame } = renderDialog(settings);
164|
165| expect(lastFrame()).toContain('Apply To');
| ^
166| expect(lastFrame()).toContain('User Settings');
167| expect(lastFrame()).toContain('Workspace Settings');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[13/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > rendering > should render help text
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Use Enter to select'
[32m- Expected[39m
[31m+ Received[39m
[32m- Use Enter to select[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M i โ[39m
[31m+ โ o n โ[39m
[31m+ โ d h โ[39m
[31m+ โ e e โ[39m
[31m+ โ l r โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:174:27
172| const { lastFrame } = renderDialog(settings);
173|
174| expect(lastFrame()).toContain('Use Enter to select');
| ^
175| expect(lastFrame()).toContain('Tab to change focus');
176| expect(lastFrame()).toContain('Esc to close');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[14/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > keyboard navigation > should navigate down with arrow key
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Model'
[32m- Expected[39m
[31m+ Received[39m
[32m- Model[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ M i โ[39m
[31m+ โ o n โ[39m
[31m+ โ d h โ[39m
[31m+ โ e e โ[39m
[31m+ โ l r โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:208:29
206| await waitFor(() => {
207| // Model field should now be highlighted
208| expect(lastFrame()).toContain('Model');
| ^
209| });
210| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/AgentConfigDialog.test.tsx:206:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[15/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > keyboard navigation > should switch focus with Tab
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '> Configure: Test Agent'
[32m- Expected[39m
[31m+ Received[39m
[32m- > Configure: Test Agent[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M i โ[39m
[31m+ โ o n โ[39m
[31m+ โ d h โ[39m
[31m+ โ e e โ[39m
[31m+ โ l r โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:217:27
215|
216| // Initially settings section is focused
217| expect(lastFrame()).toContain('> Configure: Test Agent');
| ^
218|
219| // Press Tab to switch to scope selector
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[16/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > default values > should show values from agent definition as defaults
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.0-flash'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.0-flash[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M g โ[39m
[31m+ โ o e โ[39m
[31m+ โ d m โ[39m
[31m+ โ e i โ[39m
[31m+ โ l n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 0 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ[39m
[31m+ โ T 0 โ[39m
[31m+ โ e . โ[39m
[31m+ โ m 7 โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 2 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:269:21
267| const frame = lastFrame();
268|
269| expect(frame).toContain('gemini-2.0-flash');
| ^
270| expect(frame).toContain('0.7');
271| expect(frame).toContain('10');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[17/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > default values > should show experimental agents as disabled by default
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'false'
[32m- Expected[39m
[31m+ Received[39m
[32m- false[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M i โ[39m
[31m+ โ o n โ[39m
[31m+ โ d h โ[39m
[31m+ โ e e โ[39m
[31m+ โ l r โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:283:27
281|
282| // Experimental agents default to disabled
283| expect(lastFrame()).toContain('false');
| ^
284| });
285| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[18/172]โฏ
FAIL src/ui/components/AgentConfigDialog.test.tsx > AgentConfigDialog > existing overrides > should show existing override values with * indicator
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'custom-model'
[32m- Expected[39m
[31m+ Received[39m
[32m- custom-model[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e * โ[39m
[31m+ โ d โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M c โ[39m
[31m+ โ o u โ[39m
[31m+ โ d s โ[39m
[31m+ โ e t โ[39m
[31m+ โ l o โ[39m
[31m+ โ m โ[39m
[31m+ โ - โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ * โ[39m
[31m+ โ โ[39m
[31m+ โ T 1 โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ P f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ T ( โ[39m
[31m+ โ o d โ[39m
[31m+ โ p e โ[39m
[31m+ โ K f โ[39m
[31m+ โ a โ[39m
[31m+ โ u โ[39m
[31m+ โ l โ[39m
[31m+ โ t โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ M ( โ[39m
[31m+ โ a d โ[39m
[31m+ โ x e โ[39m
[31m+ โ O f โ[39m
[31m+ โ u a โ[39m
[31m+ โ t u โ[39m
[31m+ โ p l โ[39m
[31m+ โ u t โ[39m
[31m+ โ t ) โ[39m
[31m+ โ T โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 5 โ[39m
[31m+ โ a โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ i โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ ( โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ M 1 โ[39m
[31m+ โ a 0 โ[39m
[31m+ โ x โ[39m
[31m+ โ T โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/AgentConfigDialog.test.tsx:305:21
303|
304| // Should show the overridden values
305| expect(frame).toContain('custom-model');
| ^
306| expect(frame).toContain('false');
307| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[19/172]โฏ
FAIL src/ui/components/AlternateBufferQuittingDisplay.test.tsx > AlternateBufferQuittingDisplay > renders with active and pending tool messages
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx:109:3
107| };
108|
109| it('renders with active and pending tool messages', () => {
| ^
110| persistentStateMock.setData({ tipsShown: 0 });
111| const { lastFrame } = renderWithProviders(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[20/172]โฏ
FAIL src/ui/components/AlternateBufferQuittingDisplay.test.tsx > AlternateBufferQuittingDisplay > renders with user and gemini messages
Error: Snapshot `AlternateBufferQuittingDisplay > renders with user and gemini messages > with_user_gemini_messages 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,9 +12,19 @@[39m
[2m 1. Ask questions, edit files, or run commands.[22m
[2m 2. Be specific for the best results.[22m
[2m 3. Create GEMINI.md files to customize your interactions with Gemini.[22m
[2m 4. /help for more information.[22m
[2m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- > H[7mello Gemin[27mi[39m
[31m+ > H[39m
[31m+ e[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ G[39m
[31m+ e[39m
[31m+ m[39m
[31m+ i[39m
[31m+ n[39m
[31m+ [7m [27mi[39m
[2m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[2m โฆ Hello User![22m
[2m "[22m
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx:224:25
222| },
223| );
224| expect(lastFrame()).toMatchSnapshot('with_user_gemini_messages');
| ^
225| });
226| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[21/172]โฏ
FAIL src/ui/components/AskUserDialog.test.tsx > AskUserDialog > handles custom option in single select with inline typing
AssertionError: expected 'Which authentication method should weโฆ' to contain 'Enter a custom value'
[32m- Expected[39m
[31m+ Received[39m
[32m- Enter a custom value[39m
[31m+ Which authentication method should we use?[39m
[31m+[39m
[31m+ 1.[39m
[31m+ O[39m
[31m+ A[39m
[31m+ u[39m
[31m+ t[39m
[31m+ h[39m
[31m+ 2[39m
[31m+ .[39m
[31m+ 0[39m
[31m+[39m
[31m+ I[39m
[31m+ n[39m
[31m+ d[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ r[39m
[31m+ y[39m
[31m+ s[39m
[31m+ t[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ r[39m
[31m+ d[39m
[31m+ ,[39m
[31m+ s[39m
[31m+ u[39m
[31m+ p[39m
[31m+ p[39m
[31m+ o[39m
[31m+ r[39m
[31m+ t[39m
[31m+ s[39m
[31m+ S[39m
[31m+ S[39m
[31m+ O[39m
[31m+ 2.[39m
[31m+ J[39m
[31m+ W[39m
[31m+ T[39m
[31m+ t[39m
[31m+ o[39m
[31m+ k[39m
[31m+ e[39m
[31m+ n[39m
[31m+ s[39m
[31m+[39m
[31m+ S[39m
[31m+ t[39m
[31m+ a[39m
[31m+ t[39m
[31m+ e[39m
[31m+ l[39m
[31m+ e[39m
[31m+ s[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ g[39m
[31m+ o[39m
[31m+ o[39m
[31m+ d[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ A[39m
[31m+ P[39m
[31m+ I[39m
[31m+ s[39m
[31m+ โ 3. E[39m
[31m+ n[39m
[31m+ t[39m
[31m+ e[39m
[31m+ r[39m
[31m+ a[39m
[31m+ c[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ v[39m
[31m+ a[39m
[31m+ l[39m
[31m+ u[39m
[31m+ e[39m
[31m+[39m
[31m+ Enter to submit ยท Esc to cancel[39m
โฏ src/ui/components/AskUserDialog.test.tsx:141:27
139|
140| await waitFor(() => {
141| expect(lastFrame()).toContain('Enter a custom value');
| ^
142| });
143|
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/AskUserDialog.test.tsx:140:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[22/172]โฏ
FAIL src/ui/components/AskUserDialog.test.tsx > AskUserDialog > navigates to custom option when typing unbound characters (Type-to-Jump)
AssertionError: expected 'Which authentication method should weโฆ' to contain '3. A'
[32m- Expected[39m
[31m+ Received[39m
[32m- 3. A[39m
[31m+ Which authentication method should we use?[39m
[31m+[39m
[31m+ 1.[39m
[31m+ O[39m
[31m+ A[39m
[31m+ u[39m
[31m+ t[39m
[31m+ h[39m
[31m+ 2[39m
[31m+ .[39m
[31m+ 0[39m
[31m+[39m
[31m+ I[39m
[31m+ n[39m
[31m+ d[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ r[39m
[31m+ y[39m
[31m+ s[39m
[31m+ t[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ r[39m
[31m+ d[39m
[31m+ ,[39m
[31m+ s[39m
[31m+ u[39m
[31m+ p[39m
[31m+ p[39m
[31m+ o[39m
[31m+ r[39m
[31m+ t[39m
[31m+ s[39m
[31m+ S[39m
[31m+ S[39m
[31m+ O[39m
[31m+ 2.[39m
[31m+ J[39m
[31m+ W[39m
[31m+ T[39m
[31m+ t[39m
[31m+ o[39m
[31m+ k[39m
[31m+ e[39m
[31m+ n[39m
[31m+ s[39m
[31m+[39m
[31m+ S[39m
[31m+ t[39m
[31m+ a[39m
[31m+ t[39m
[31m+ e[39m
[31m+ l[39m
[31m+ e[39m
[31m+ s[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ g[39m
[31m+ o[39m
[31m+ o[39m
[31m+ d[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ A[39m
[31m+ P[39m
[31m+ I[39m
[31m+ s[39m
[31m+ โ 3.[39m
[31m+ โ[39m
[31m+[39m
[31m+ Enter to submit ยท Esc to cancel[39m
โฏ src/ui/components/AskUserDialog.test.tsx:223:27
221| // Placeholder is hidden when text is present
222| expect(lastFrame()).toContain('A');
223| expect(lastFrame()).toContain('3. A');
| ^
224| });
225|
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/AskUserDialog.test.tsx:219:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[23/172]โฏ
FAIL src/ui/components/AskUserDialog.test.tsx > AskUserDialog > shows progress header for multiple questions
Error: Snapshot `AskUserDialog > shows progress header for multiple questions 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โ โก Database โ โก ORM โ โก Review โ[22m
[2m Which database should we use?[22m
[32m- โ 1.[7m PostgreSQ[27mL[39m
[31m+ โ 1.[39m
[31m+ P[39m
[31m+ o[39m
[31m+ s[39m
[31m+ t[39m
[31m+ g[39m
[31m+ r[39m
[31m+ e[39m
[31m+ S[39m
[31m+ Q[39m
[31m+ [7m [27mL[39m
[32m- [7m Relational database[27m[39m
[32m- 2. MongoDB[39m
[32m- Document database[39m
[32m- [7m 3. Enter a custom valu[27me[39m
[31m+[39m
[31m+ [7mR[27m[39m
[31m+ e[39m
[31m+ l[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ o[39m
[31m+ n[39m
[31m+ a[39m
[31m+ l[39m
[31m+ d[39m
[31m+ a[39m
[31m+ t[39m
[31m+ a[39m
[31m+ b[39m
[31m+ a[39m
[31m+ s[39m
[31m+ e[39m
[31m+ 2.[39m
[31m+ M[39m
[31m+ o[39m
[31m+ n[39m
[31m+ g[39m
[31m+ o[39m
[31m+ D[39m
[31m+ B[39m
[31m+[39m
[31m+ D[39m
[31m+ o[39m
[31m+ c[39m
[31m+ u[39m
[31m+ m[39m
[31m+ e[39m
[31m+ n[39m
[31m+ t[39m
[31m+ d[39m
[31m+ a[39m
[31m+ t[39m
[31m+ a[39m
[31m+ b[39m
[31m+ a[39m
[31m+ s[39m
[31m+ e[39m
[31m+ 3. E[39m
[31m+ n[39m
[31m+ t[39m
[31m+ e[39m
[31m+ r[39m
[31m+ a[39m
[31m+ c[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ v[39m
[31m+ a[39m
[31m+ l[39m
[31m+ u[39m
[31m+ [7m [27me[39m
[2m Enter to select ยท โ/โ to switch questions ยท Esc to cancel"[22m
โฏ src/ui/components/AskUserDialog.test.tsx:267:25
265| );
266|
267| expect(lastFrame()).toMatchSnapshot();
| ^
268| });
269|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[24/172]โฏ
FAIL src/ui/components/AskUserDialog.test.tsx > AskUserDialog > hides progress header for single question
Error: Snapshot `AskUserDialog > hides progress header for single question 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "Which authentication method should we use?[22m
[32m- โ 1.[7m OAuth 2.0[27m[39m
[32m- [7m Industry standard, supports SS[27mO[39m
[31m+ โ 1.[39m
[31m+ O[39m
[31m+ A[39m
[31m+ u[39m
[31m+ t[39m
[31m+ h[39m
[31m+ 2[39m
[31m+ .[39m
[31m+ 0[39m
[31m+[39m
[31m+ I[39m
[31m+ n[39m
[31m+ d[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ r[39m
[31m+ y[39m
[31m+ s[39m
[31m+ t[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ r[39m
[31m+ d[39m
[31m+ ,[39m
[31m+ s[39m
[31m+ u[39m
[31m+ p[39m
[31m+ p[39m
[31m+ o[39m
[31m+ r[39m
[31m+ t[39m
[31m+ s[39m
[31m+ S[39m
[31m+ S[39m
[31m+ [7m [27mO[39m
[32m- 2. [7mJWT token[27ms[39m
[31m+ 2.[39m
[31m+ [7m J[27m[39m
[31m+ W[39m
[31m+ T[39m
[31m+ t[39m
[31m+ o[39m
[31m+ k[39m
[31m+ e[39m
[31m+ n[39m
[31m+ [7m [27ms[39m
[32m- [7m [27m S[7mtateless, good for APIs[27m[39m
[32m- [7m 3. Enter a custom valu[27me[39m
[31m+[39m
[31m+ S[39m
[31m+ t[39m
[31m+ a[39m
[31m+ t[39m
[31m+ e[39m
[31m+ l[39m
[31m+ e[39m
[31m+ s[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ g[39m
[31m+ o[39m
[31m+ o[39m
[31m+ d[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ A[39m
[31m+ P[39m
[31m+ I[39m
[31m+ s[39m
[31m+ 3. E[39m
[31m+ n[39m
[31m+ t[39m
[31m+ e[39m
[31m+ r[39m
[31m+ a[39m
[31m+ c[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ v[39m
[31m+ a[39m
[31m+ l[39m
[31m+ u[39m
[31m+ [7m [27me[39m
[2m Enter to select ยท โ/โ to navigate ยท Esc to cancel"[22m
โฏ src/ui/components/AskUserDialog.test.tsx:281:25
279| );
280|
281| expect(lastFrame()).toMatchSnapshot();
| ^
282| });
283|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[25/172]โฏ
FAIL src/ui/components/AskUserDialog.test.tsx > AskUserDialog > shows keyboard hints
Error: Snapshot `AskUserDialog > shows keyboard hints 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "Which authentication method should we use?[22m
[32m- โ 1.[7m OAuth 2.0[27m[39m
[32m- [7m Industry standard, supports SS[27mO[39m
[31m+ โ 1.[39m
[31m+ O[39m
[31m+ A[39m
[31m+ u[39m
[31m+ t[39m
[31m+ h[39m
[31m+ 2[39m
[31m+ .[39m
[31m+ 0[39m
[31m+[39m
[31m+ I[39m
[31m+ n[39m
[31m+ d[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ r[39m
[31m+ y[39m
[31m+ s[39m
[31m+ t[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ r[39m
[31m+ d[39m
[31m+ ,[39m
[31m+ s[39m
[31m+ u[39m
[31m+ p[39m
[31m+ p[39m
[31m+ o[39m
[31m+ r[39m
[31m+ t[39m
[31m+ s[39m
[31m+ S[39m
[31m+ S[39m
[31m+ [7m [27mO[39m
[32m- 2. [7mJWT token[27ms[39m
[31m+ 2.[39m
[31m+ [7m J[27m[39m
[31m+ W[39m
[31m+ T[39m
[31m+ t[39m
[31m+ o[39m
[31m+ k[39m
[31m+ e[39m
[31m+ n[39m
[31m+ [7m [27ms[39m
[32m- [7m [27m S[7mtateless, good for APIs[27m[39m
[32m- [7m 3. Enter a custom valu[27me[39m
[31m+[39m
[31m+ S[39m
[31m+ t[39m
[31m+ a[39m
[31m+ t[39m
[31m+ e[39m
[31m+ l[39m
[31m+ e[39m
[31m+ s[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ g[39m
[31m+ o[39m
[31m+ o[39m
[31m+ d[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ A[39m
[31m+ P[39m
[31m+ I[39m
[31m+ s[39m
[31m+ 3. E[39m
[31m+ n[39m
[31m+ t[39m
[31m+ e[39m
[31m+ r[39m
[31m+ a[39m
[31m+ c[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ v[39m
[31m+ a[39m
[31m+ l[39m
[31m+ u[39m
[31m+ [7m [27me[39m
[2m Enter to select ยท โ/โ to navigate ยท Esc to cancel"[22m
โฏ src/ui/components/AskUserDialog.test.tsx:295:25
293| );
294|
295| expect(lastFrame()).toMatchSnapshot();
| ^
296| });
297|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[26/172]โฏ
FAIL src/ui/components/AskUserDialog.test.tsx > AskUserDialog > shows Review tab in progress header for multiple questions
Error: Snapshot `AskUserDialog > shows Review tab in progress header for multiple questions 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โ โก Framework โ โก Styling โ โก Review โ[22m
[2m Which framework?[22m
[32m- โ[7m [27m1.[7m Reac[27mt[39m
[31m+ โ1.[39m
[31m+ R[39m
[31m+ e[39m
[31m+ a[39m
[31m+ c[39m
[31m+ [7m [27mt[39m
[32m- [7m Component librar[27my[39m
[31m+[39m
[31m+ [7mC[27m[39m
[31m+ o[39m
[31m+ m[39m
[31m+ p[39m
[31m+ o[39m
[31m+ n[39m
[31m+ e[39m
[31m+ n[39m
[31m+ t[39m
[31m+ l[39m
[31m+ i[39m
[31m+ b[39m
[31m+ r[39m
[31m+ a[39m
[31m+ r[39m
[31m+ [7m [27my[39m
[32m- [7m [27m 2. [7mVu[27me[39m
[31m+ 2.[39m
[31m+ V[39m
[31m+ u[39m
[31m+ [7m [27m e[39m
[32m- [7m Progressive framewor[27mk[39m
[31m+[39m
[31m+ [7mP[27m[39m
[31m+ r[39m
[31m+ o[39m
[31m+ g[39m
[31m+ r[39m
[31m+ e[39m
[31m+ s[39m
[31m+ s[39m
[31m+ i[39m
[31m+ v[39m
[31m+ e[39m
[31m+ f[39m
[31m+ r[39m
[31m+ a[39m
[31m+ m[39m
[31m+ e[39m
[31m+ w[39m
[31m+ o[39m
[31m+ r[39m
[31m+ [7m [27mk[39m
[32m- [7m [27m 3.[7m [27m E[7mnter a custom valu[27me[39m
[31m+ 3. E[39m
[31m+ n[39m
[31m+ t[39m
[31m+ e[39m
[31m+ r[39m
[31m+ a[39m
[31m+ c[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ v[39m
[31m+ a[39m
[31m+ l[39m
[31m+ u[39m
[31m+ [7m [27me[39m
[2m Enter to select ยท โ/โ to switch questions ยท Esc to cancel"[22m
โฏ src/ui/components/AskUserDialog.test.tsx:436:25
434| );
435|
436| expect(lastFrame()).toMatchSnapshot();
| ^
437| });
438|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[27/172]โฏ
FAIL src/ui/components/BackgroundShellDisplay.test.tsx > > renders the process list when isListOpenProp is true
Error: Snapshot ` > renders the process list when isListOpenProp is true 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[2m โ 1: npm sta... (PID: 1001) (Focused) Close (Ctrl+B) | Kill (Ctrl+K) | List (Ctrl+L) โ[22m
[2m โ โ[22m
[2m โ Select Process (Enter to select, Ctrl+K to kill, Esc to cancel): โ[22m
[2m โ โ[22m
[32m- โ [7mโ 1. npm start (PID: 1001)[27m โ[39m
[31m+ โ [7m 2โ[27m[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7m2. tail -f log.txt (PID: 1002)[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"[22m
โฏ src/ui/components/BackgroundShellDisplay.test.tsx:267:25
265| });
266|
267| expect(lastFrame()).toMatchSnapshot();
| ^
268| });
269|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[28/172]โฏ
FAIL src/ui/components/BackgroundShellDisplay.test.tsx > > scrolls to active shell when list opens
Error: Snapshot ` > scrolls to active shell when list opens 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[2m โ 1: npm sta... (PID: 1002) (Focused) Close (Ctrl+B) | Kill (Ctrl+K) | List (Ctrl+L) โ[22m
[2m โ โ[22m
[2m โ Select Process (Enter to select, Ctrl+K to kill, Esc to cancel): โ[22m
[2m โ โ[22m
[32m- โ [7m 1. npm start (PID: 1001)[27m โ[39m
[31m+ โ [7mโ 2โ[27m[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7mโ 2. tail -f log.txt (PID: 1002)[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"[22m
โฏ src/ui/components/BackgroundShellDisplay.test.tsx:375:25
373| });
374|
375| expect(lastFrame()).toMatchSnapshot();
| ^
376| });
377|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[29/172]โฏ
FAIL src/ui/components/BackgroundShellDisplay.test.tsx > > keeps exit code status color even when selected
Error: Snapshot ` > keeps exit code status color even when selected 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[2m โ 1: npm sta... (PID: 1003) (Focused) Close (Ctrl+B) | Kill (Ctrl+K) | List (Ctrl+L) โ[22m
[2m โ โ[22m
[2m โ Select Process (Enter to select, Ctrl+K to kill, Esc to cancel): โ[22m
[2m โ โ[22m
[32m- โ [7m 1. npm start (PID: 1001)[27m โ[39m
[31m+ โ [7mโ 3โ[27m[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7m2. tail -f log.txt (PID: 1002)[27m โ[39m
[31m+ โ [7m [27m [7m [27mโ[39m
[32m- โ [7mโ 3. exit 0 (PID: 1003) (Exit Code: 0)[27m โ[39m
[31m+ โ [7m โ[27m[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ [7mโ [27m โ[39m
[2m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"[22m
โฏ src/ui/components/BackgroundShellDisplay.test.tsx:406:25
404| });
405|
406| expect(lastFrame()).toMatchSnapshot();
| ^
407| });
408| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[30/172]โฏ
FAIL src/ui/components/BubblingRegression.test.tsx > Key Bubbling Regression > does not navigate when pressing "j" or "k" in a focused text input
AssertionError: expected 'Choice Q?\n\n 1.\n O\n p\n โฆ' to contain 'Enter a custom value'
[32m- Expected[39m
[31m+ Received[39m
[32m- Enter a custom value[39m
[31m+ Choice Q?[39m
[31m+[39m
[31m+ 1.[39m
[31m+ O[39m
[31m+ p[39m
[31m+ t[39m
[31m+ i[39m
[31m+ o[39m
[31m+ n[39m
[31m+ 1[39m
[31m+ 2.[39m
[31m+ O[39m
[31m+ p[39m
[31m+ t[39m
[31m+ i[39m
[31m+ o[39m
[31m+ n[39m
[31m+ 2[39m
[31m+ โ 3. E[39m
[31m+ n[39m
[31m+ t[39m
[31m+ e[39m
[31m+ r[39m
[31m+ a[39m
[31m+ c[39m
[31m+ u[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ v[39m
[31m+ a[39m
[31m+ l[39m
[31m+ u[39m
[31m+ e[39m
[31m+[39m
[31m+ Enter to submit ยท Esc to cancel[39m
โฏ src/ui/components/BubblingRegression.test.tsx:52:27
50|
51| await waitFor(() => {
52| expect(lastFrame()).toContain('Enter a custom value');
| ^
53| });
54|
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/BubblingRegression.test.tsx:51:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[31/172]โฏ
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: true > calls onFeedback when feedback is typed and submitted
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: false > calls onFeedback when feedback is typed and submitted
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/ExitPlanModeDialog.test.tsx:223:7
221| });
222|
223| it('calls onFeedback when feedback is typed and submitted', asynโฆ
| ^
224| const { stdin, lastFrame } = renderDialog({ useAlternateBufferโฆ
225|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[32/172]โฏ
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: true > handles long plan content appropriately
Error: Snapshot `ExitPlanModeDialog > useAlternateBuffer: true > handles long plan content appropriately 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -33,12 +33,171 @@[39m
[2m - Unit tests for each auth provider[22m
[2m - Integration tests for full auth flows[22m
[2m - Security penetration testing[22m
[2m - Load testing for session management[22m
[32m- โ 1.[7m Yes, automatically accept edits[27m[39m
[32m- Approves plan and allows tools to run automatically[39m
[32m- [7m 2. Yes, manually accept edit[27ms[39m
[31m+ โ 1.[39m
[31m+ Y[39m
[31m+ e[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ a[39m
[31m+ u[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ c[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ a[39m
[31m+ c[39m
[31m+ c[39m
[31m+ e[39m
[31m+ p[39m
[31m+ t[39m
[31m+ e[39m
[31m+ d[39m
[31m+ i[39m
[31m+ t[39m
[31m+ s[39m
[31m+[39m
[31m+ A[39m
[31m+ p[39m
[31m+ p[39m
[31m+ r[39m
[31m+ o[39m
[31m+ v[39m
[31m+ e[39m
[31m+ s[39m
[31m+ p[39m
[31m+ l[39m
[31m+ a[39m
[31m+ n[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ w[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ o[39m
[31m+ l[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ r[39m
[31m+ u[39m
[31m+ n[39m
[31m+ a[39m
[31m+ u[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ c[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ 2.[39m
[31m+ Y[39m
[31m+ e[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ m[39m
[31m+ a[39m
[31m+ n[39m
[31m+ u[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ a[39m
[31m+ c[39m
[31m+ c[39m
[31m+ e[39m
[31m+ p[39m
[31m+ t[39m
[31m+ e[39m
[31m+ d[39m
[31m+ i[39m
[31m+ t[39m
[31m+ [7m [27ms[39m
[32m- [7m Approves plan but requires confirmation for each tool[27m[39m
[32m- [7m 3. Type your feedback..[27m.[39m
[31m+[39m
[31m+ [7mA[27m[39m
[31m+ p[39m
[31m+ p[39m
[31m+ r[39m
[31m+ o[39m
[31m+ v[39m
[31m+ e[39m
[31m+ s[39m
[31m+ p[39m
[31m+ l[39m
[31m+ a[39m
[31m+ n[39m
[31m+ b[39m
[31m+ u[39m
[31m+ t[39m
[31m+ r[39m
[31m+ e[39m
[31m+ q[39m
[31m+ u[39m
[31m+ i[39m
[31m+ r[39m
[31m+ e[39m
[31m+ s[39m
[31m+ c[39m
[31m+ o[39m
[31m+ n[39m
[31m+ f[39m
[31m+ i[39m
[31m+ r[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ o[39m
[31m+ n[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ e[39m
[31m+ a[39m
[31m+ c[39m
[31m+ h[39m
[31m+ t[39m
[31m+ o[39m
[31m+ o[39m
[31m+ l[39m
[31m+ 3. T[39m
[31m+ y[39m
[31m+ p[39m
[31m+ e[39m
[31m+ y[39m
[31m+ o[39m
[31m+ u[39m
[31m+ r[39m
[31m+ f[39m
[31m+ e[39m
[31m+ e[39m
[31m+ d[39m
[31m+ b[39m
[31m+ a[39m
[31m+ c[39m
[31m+ k[39m
[31m+ .[39m
[31m+ .[39m
[31m+ [7m [27m.[39m
[2m Enter to select ยท โ/โ to navigate ยท Esc to cancel"[22m
โฏ src/ui/components/ExitPlanModeDialog.test.tsx:329:29
327| });
328|
329| expect(lastFrame()).toMatchSnapshot();
| ^
330| });
331|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[33/172]โฏ
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: true > clears feedback text when Ctrl+C is pressed while editing
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: false > clears feedback text when Ctrl+C is pressed while editing
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/ExitPlanModeDialog.test.tsx:351:7
349| });
350|
351| it('clears feedback text when Ctrl+C is pressed while editing', โฆ
| ^
352| const { stdin, lastFrame } = renderDialog({ useAlternateBufferโฆ
353|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[34/172]โฏ
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: true > bubbles up Ctrl+C when feedback is empty while editing
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: false > bubbles up Ctrl+C when feedback is empty while editing
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/ExitPlanModeDialog.test.tsx:388:7
386| });
387|
388| it('bubbles up Ctrl+C when feedback is empty while editing', asyโฆ
| ^
389| const onBubbledQuit = vi.fn();
390|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[35/172]โฏ
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: false > renders correctly with plan content
Error: Snapshot `ExitPlanModeDialog > useAlternateBuffer: false > renders correctly with plan content 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,12 +12,171 @@[39m
[2m Files to Modify[22m
[2m - src/index.ts - Add auth middleware[22m
[2m - src/config.ts - Add auth configuration options[22m
[32m- โ[7m [27m1. [7mYes, automatically accept edits[27m[39m
[32m- [7m Approves plan and allows tools to run automaticall[27my[39m
[31m+ โ1.[39m
[31m+ [7m Y[27m[39m
[31m+ e[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ a[39m
[31m+ u[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ c[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ a[39m
[31m+ c[39m
[31m+ c[39m
[31m+ e[39m
[31m+ p[39m
[31m+ t[39m
[31m+ e[39m
[31m+ d[39m
[31m+ i[39m
[31m+ t[39m
[31m+ s[39m
[31m+[39m
[31m+ A[39m
[31m+ p[39m
[31m+ p[39m
[31m+ r[39m
[31m+ o[39m
[31m+ v[39m
[31m+ e[39m
[31m+ s[39m
[31m+ p[39m
[31m+ l[39m
[31m+ a[39m
[31m+ n[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ w[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ o[39m
[31m+ l[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ r[39m
[31m+ u[39m
[31m+ n[39m
[31m+ a[39m
[31m+ u[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ c[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ [7m [27my[39m
[32m- [7m [27m 2. [7mYes, manually accept edits[27m[39m
[32m- [7m Approves plan but requires confirmation for each too[27ml[39m
[31m+ 2.[39m
[31m+ [7m Y[27m[39m
[31m+ e[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ m[39m
[31m+ a[39m
[31m+ n[39m
[31m+ u[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ a[39m
[31m+ c[39m
[31m+ c[39m
[31m+ e[39m
[31m+ p[39m
[31m+ t[39m
[31m+ e[39m
[31m+ d[39m
[31m+ i[39m
[31m+ t[39m
[31m+ s[39m
[31m+[39m
[31m+ A[39m
[31m+ p[39m
[31m+ p[39m
[31m+ r[39m
[31m+ o[39m
[31m+ v[39m
[31m+ e[39m
[31m+ s[39m
[31m+ p[39m
[31m+ l[39m
[31m+ a[39m
[31m+ n[39m
[31m+ b[39m
[31m+ u[39m
[31m+ t[39m
[31m+ r[39m
[31m+ e[39m
[31m+ q[39m
[31m+ u[39m
[31m+ i[39m
[31m+ r[39m
[31m+ e[39m
[31m+ s[39m
[31m+ c[39m
[31m+ o[39m
[31m+ n[39m
[31m+ f[39m
[31m+ i[39m
[31m+ r[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ o[39m
[31m+ n[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ e[39m
[31m+ a[39m
[31m+ c[39m
[31m+ h[39m
[31m+ t[39m
[31m+ o[39m
[31m+ o[39m
[31m+ [7m [27ml[39m
[32m- [7m [27m 3. [7m Type your feedback..[27m.[39m
[31m+ 3. [7mT[27m[39m
[31m+ y[39m
[31m+ p[39m
[31m+ e[39m
[31m+ y[39m
[31m+ o[39m
[31m+ u[39m
[31m+ r[39m
[31m+ f[39m
[31m+ e[39m
[31m+ e[39m
[31m+ d[39m
[31m+ b[39m
[31m+ a[39m
[31m+ c[39m
[31m+ k[39m
[31m+ .[39m
[31m+ .[39m
[31m+ [7m [27m.[39m
[2m Enter to select ยท โ/โ to navigate ยท Esc to cancel"[22m
โฏ src/ui/components/ExitPlanModeDialog.test.tsx:183:29
181| });
182|
183| expect(lastFrame()).toMatchSnapshot();
| ^
184| });
185|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[36/172]โฏ
FAIL src/ui/components/ExitPlanModeDialog.test.tsx > ExitPlanModeDialog > useAlternateBuffer: false > handles long plan content appropriately
Error: Snapshot `ExitPlanModeDialog > useAlternateBuffer: false > handles long plan content appropriately 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,12 +12,171 @@[39m
[2m 6. Add LDAP provider support in src/auth/providers/LDAPProvider.ts[22m
[2m 7. Create token refresh mechanism in src/auth/TokenManager.ts[22m
[2m 8. Add multi-factor authentication in src/auth/MFAService.ts[22m
[2m ... last 22 lines hidden ...[22m
[32m- โ[7m [27m1. [7mYes, automatically accept edits[27m[39m
[32m- [7m Approves plan and allows tools to run automaticall[27my[39m
[31m+ โ1.[39m
[31m+ [7m Y[27m[39m
[31m+ e[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ a[39m
[31m+ u[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ c[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ a[39m
[31m+ c[39m
[31m+ c[39m
[31m+ e[39m
[31m+ p[39m
[31m+ t[39m
[31m+ e[39m
[31m+ d[39m
[31m+ i[39m
[31m+ t[39m
[31m+ s[39m
[31m+[39m
[31m+ A[39m
[31m+ p[39m
[31m+ p[39m
[31m+ r[39m
[31m+ o[39m
[31m+ v[39m
[31m+ e[39m
[31m+ s[39m
[31m+ p[39m
[31m+ l[39m
[31m+ a[39m
[31m+ n[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ w[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ o[39m
[31m+ l[39m
[31m+ s[39m
[31m+ t[39m
[31m+ o[39m
[31m+ r[39m
[31m+ u[39m
[31m+ n[39m
[31m+ a[39m
[31m+ u[39m
[31m+ t[39m
[31m+ o[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ c[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ [7m [27my[39m
[32m- [7m [27m 2. [7mYes, manually accept edits[27m[39m
[32m- [7m Approves plan but requires confirmation for each too[27ml[39m
[31m+ 2.[39m
[31m+ [7m Y[27m[39m
[31m+ e[39m
[31m+ s[39m
[31m+ ,[39m
[31m+ m[39m
[31m+ a[39m
[31m+ n[39m
[31m+ u[39m
[31m+ a[39m
[31m+ l[39m
[31m+ l[39m
[31m+ y[39m
[31m+ a[39m
[31m+ c[39m
[31m+ c[39m
[31m+ e[39m
[31m+ p[39m
[31m+ t[39m
[31m+ e[39m
[31m+ d[39m
[31m+ i[39m
[31m+ t[39m
[31m+ s[39m
[31m+[39m
[31m+ A[39m
[31m+ p[39m
[31m+ p[39m
[31m+ r[39m
[31m+ o[39m
[31m+ v[39m
[31m+ e[39m
[31m+ s[39m
[31m+ p[39m
[31m+ l[39m
[31m+ a[39m
[31m+ n[39m
[31m+ b[39m
[31m+ u[39m
[31m+ t[39m
[31m+ r[39m
[31m+ e[39m
[31m+ q[39m
[31m+ u[39m
[31m+ i[39m
[31m+ r[39m
[31m+ e[39m
[31m+ s[39m
[31m+ c[39m
[31m+ o[39m
[31m+ n[39m
[31m+ f[39m
[31m+ i[39m
[31m+ r[39m
[31m+ m[39m
[31m+ a[39m
[31m+ t[39m
[31m+ i[39m
[31m+ o[39m
[31m+ n[39m
[31m+ f[39m
[31m+ o[39m
[31m+ r[39m
[31m+ e[39m
[31m+ a[39m
[31m+ c[39m
[31m+ h[39m
[31m+ t[39m
[31m+ o[39m
[31m+ o[39m
[31m+ [7m [27ml[39m
[32m- [7m [27m 3. [7m Type your feedback..[27m.[39m
[31m+ 3. [7mT[27m[39m
[31m+ y[39m
[31m+ p[39m
[31m+ e[39m
[31m+ y[39m
[31m+ o[39m
[31m+ u[39m
[31m+ r[39m
[31m+ f[39m
[31m+ e[39m
[31m+ e[39m
[31m+ d[39m
[31m+ b[39m
[31m+ a[39m
[31m+ c[39m
[31m+ k[39m
[31m+ .[39m
[31m+ .[39m
[31m+ [7m [27m.[39m
[2m Enter to select ยท โ/โ to navigate ยท Esc to cancel"[22m
โฏ src/ui/components/ExitPlanModeDialog.test.tsx:329:29
327| });
328|
329| expect(lastFrame()).toMatchSnapshot();
| ^
330| });
331|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[37/172]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > directory display > should correctly display the folder name for a nested directory
AssertionError: expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust folder (project)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust folder (project)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Do you trust this folder? โ[39m
[31m+ โ Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental โ[39m
[31m+ โ execution in untrusted directories. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:132:27
130| ,
131| );
132| expect(lastFrame()).toContain('Trust folder (project)');
| ^
133| unmount();
134| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[38/172]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > directory display > should correctly display the parent folder name for a nested directory
AssertionError: expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder (user)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust parent folder (user)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Do you trust this folder? โ[39m
[31m+ โ Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental โ[39m
[31m+ โ execution in untrusted directories. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:141:27
139| ,
140| );
141| expect(lastFrame()).toContain('Trust parent folder (user)');
| ^
142| unmount();
143| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[39/172]โฏ
FAIL src/ui/components/FolderTrustDialog.test.tsx > FolderTrustDialog > directory display > should correctly display an empty parent folder name for a directory directly under root
AssertionError: expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder ()'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust parent folder ()[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Do you trust this folder? โ[39m
[31m+ โ Trusting a folder allows Gemini to execute commands it suggests. This is a security feature to prevent accidental โ[39m
[31m+ โ execution in untrusted directories. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/FolderTrustDialog.test.tsx:150:27
148| ,
149| );
150| expect(lastFrame()).toContain('Trust parent folder ()');
| ^
151| unmount();
152| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[40/172]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) > complete-footer-wide 1` mismatched
Expected: [32m"" ...directories/to/make/it/long no sandbox (see /docs)[7m [27m gemini-pro /model (100% context left)""[39m
Received: [31m"" ...directories/to/make/it/long [7m [27mno sandbox (see /docs) gemini-pro /model (100% context left)""[39m
โฏ src/ui/components/Footer.test.tsx:225:27
223| }),
224| });
225| expect(lastFrame()).toMatchSnapshot('complete-footer-wide');
| ^
226| });
227|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[41/172]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) > footer-no-model 1` mismatched
Expected: [32m"" ...directories/to/make/it/long no sandbox (see /docs)""[39m
Received: [31m"" ...directories/to/make/it/long [7m [27mno sandbox (see /docs)""[39m
โฏ src/ui/components/Footer.test.tsx:259:27
257| }),
258| });
259| expect(lastFrame()).toMatchSnapshot('footer-no-model');
| ^
260| });
261|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[42/172]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders footer with CWD and model info hidden to test alignment (only sandbox visible) > footer-only-sandbox 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- " [7mno sandbox (see /docs[27m)"[39m
[31m+ " [7m n[27m[39m
[31m+ o[39m
[31m+ s[39m
[31m+ a[39m
[31m+ n[39m
[31m+ d[39m
[31m+ b[39m
[31m+ o[39m
[31m+ x[39m
[31m+ ([39m
[31m+ s[39m
[31m+ e[39m
[31m+ e[39m
[31m+ /[39m
[31m+ d[39m
[31m+ o[39m
[31m+ c[39m
[31m+ s[39m
[31m+ [7m [27m)"[39m
โฏ src/ui/components/Footer.test.tsx:276:27
274| }),
275| });
276| expect(lastFrame()).toMatchSnapshot('footer-only-sandbox');
| ^
277| });
278|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[43/172]โฏ
FAIL src/ui/components/Footer.test.tsx > > footer configuration filtering (golden snapshots) > renders complete footer in narrow terminal (baseline narrow)
Error: Snapshot ` > footer configuration filtering (golden snapshots) > renders complete footer in narrow terminal (baseline narrow) > complete-footer-narrow 1` mismatched
Expected: [32m"" ...s/to/make/it/long no sandbox [7m [27mgemini-pro /model (100%)""[39m
Received: [31m"" ...s/to/make/it/long [7m [27mno sandbox gemini-pro /model (100%)""[39m
โฏ src/ui/components/Footer.test.tsx:323:27
321| }),
322| });
323| expect(lastFrame()).toMatchSnapshot('complete-footer-narrow');
| ^
324| });
325| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[44/172]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > should escape ANSI codes in text content
AssertionError: expected 'โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Hello, \u001b[31mred\u001b[0m world!'
[32m- Expected[39m
[31m+ Received[39m
[32m- Hello, \u001b[31mred\u001b[0m world![39m
[31m+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[39m
[31m+ > H[39m
[31m+ e[39m
[31m+ l[39m
[31m+ l[39m
[31m+ o[39m
[31m+ ,[39m
[31m+ \[39m
[31m+ u[39m
[31m+ 0[39m
[31m+ 0[39m
[31m+ 1[39m
[31m+ b[39m
[31m+ [[39m
[31m+ 3[39m
[31m+ 1[39m
[31m+ m[39m
[31m+ r[39m
[31m+ e[39m
[31m+ d[39m
[31m+ \[39m
[31m+ u[39m
[31m+ 0[39m
[31m+ 0[39m
[31m+ 1[39m
[31m+ b[39m
[31m+ [[39m
[31m+ 0[39m
[31m+ m[39m
[31m+ w[39m
[31m+ o[39m
[31m+ r[39m
[31m+ l[39m
[31m+ d[39m
[31m+ ![39m
[31m+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[39m
โฏ src/ui/components/HistoryItemDisplay.test.tsx:190:25
188|
189| // The ANSI codes should be escaped for display.
190| expect(lastFrame()).toContain('Hello, \\u001b[31mred\\u001b[0m worโฆ
| ^
191| // The raw ANSI codes should not be present.
192| expect(lastFrame()).not.toContain('Hello, \u001b[31mred\u001b[0m wโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[45/172]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini
Error: Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,15 +1,15 @@[39m
[2m "โฆ Example code block:[22m
[32m- 1[7m [27mLine 1[39m
[31m+ 1Line 1[39m
[32m- 2[7m [27mLine 2[39m
[31m+ 2Line 2[39m
[32m- 3[7m [27mLine 3[39m
[31m+ 3Line 3[39m
[32m- 4[7m [27mLine 4[39m
[31m+ 4Line 4[39m
[32m- 5[7m [27mLine 5[39m
[31m+ 5Line 5[39m
[32m- 6[7m [27mLine 6[39m
[31m+ 6Line 6[39m
[32m- 7[7m [27mLine 7[39m
[31m+ 7Line 7[39m
[32m- 8[7m [27mLine 8[39m
[31m+ 8Line 8[39m
[32m- 9[7m [27mLine 9[39m
[31m+ 9Line 9[39m
[2m 10 Line 10[22m
[2m 11 Line 11[22m
[2m 12 Line 12[22m
[2m 13 Line 13[22m
[2m 14 Line 14[22m
โฏ src/ui/components/HistoryItemDisplay.test.tsx:280:29
278| );
279|
280| expect(lastFrame()).toMatchSnapshot();
| ^
281| });
282|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[46/172]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini
Error: Snapshot ` > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,15 +1,15 @@[39m
[2m " Example code block:[22m
[32m- 1[7m [27mLine 1[39m
[31m+ 1Line 1[39m
[32m- 2[7m [27mLine 2[39m
[31m+ 2Line 2[39m
[32m- 3[7m [27mLine 3[39m
[31m+ 3Line 3[39m
[32m- 4[7m [27mLine 4[39m
[31m+ 4Line 4[39m
[32m- 5[7m [27mLine 5[39m
[31m+ 5Line 5[39m
[32m- 6[7m [27mLine 6[39m
[31m+ 6Line 6[39m
[32m- 7[7m [27mLine 7[39m
[31m+ 7Line 7[39m
[32m- 8[7m [27mLine 8[39m
[31m+ 8Line 8[39m
[32m- 9[7m [27mLine 9[39m
[31m+ 9Line 9[39m
[2m 10 Line 10[22m
[2m 11 Line 11[22m
[2m 12 Line 12[22m
[2m 13 Line 13[22m
[2m 14 Line 14[22m
โฏ src/ui/components/HistoryItemDisplay.test.tsx:319:29
317| );
318|
319| expect(lastFrame()).toMatchSnapshot();
| ^
320| });
321| },
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[47/172]โฏ
FAIL src/ui/components/InputPrompt.test.tsx > InputPrompt > mouse interaction > should collapse expanded paste on double-click after the end of the line
AssertionError: expected 'โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '[Pasted Text: 10 lines]'
[32m- Expected[39m
[31m+ Received[39m
[32m- [Pasted Text: 10 lines][39m
[31m+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[39m
[31m+ > line1[39m
[31m+ line2[39m
[31m+ line3[39m
[31m+ line4[39m
[31m+ line5[39m
[31m+ line6[39m
[31m+ line7[39m
[31m+ line8[39m
[31m+ line9[39m
[31m+ line10[39m
[31m+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[39m
โฏ src/ui/components/InputPrompt.test.tsx:3133:36
3131| // Verify it is NOW collapsed
3132| await waitFor(() => {
3133| expect(stdout.lastFrame()).toContain(id);
| ^
3134| expect(stdout.lastFrame()).not.toContain('line1');
3135| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/InputPrompt.test.tsx:3132:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[48/172]โฏ
FAIL src/ui/components/LoopDetectionConfirmation.test.tsx > LoopDetectionConfirmation > contains the expected options
AssertionError: expected ' โญโฎ\n โโ?\n โโ\n โโT\n โโh\n โโi\n โโโฆ' to contain 'A potential loop was detected'
[32m- Expected[39m
[31m+ Received[39m
[32m- A potential loop was detected[39m
[31m+ โญโฎ[39m
[31m+ โโ?[39m
[31m+ โโ[39m
[31m+ โโT[39m
[31m+ โโh[39m
[31m+ โโi[39m
[31m+ โโs[39m
[31m+ โโc[39m
[31m+ โโa[39m
[31m+ โโn[39m
[31m+ โโh[39m
[31m+ โโa[39m
[31m+ โโp[39m
[31m+ โโp[39m
[31m+ โโe[39m
[31m+ โโn[39m
[31m+ โโd[39m
[31m+ โโu[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโe[39m
[31m+ โโp[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโi[39m
[31m+ โโt[39m
[31m+ โโi[39m
[31m+ โโv[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโo[39m
[31m+ โโo[39m
[31m+ โโl[39m
[31m+ โโc[39m
[31m+ โโa[39m
[31m+ โโl[39m
[31m+ โโl[39m
[31m+ โโs[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโo[39m
[31m+ โโt[39m
[31m+ โโh[39m
[31m+ โโe[39m
[31m+ โโr[39m
[31m+ โโm[39m
[31m+ โโo[39m
[31m+ โโd[39m
[31m+ โโe[39m
[31m+ โโl[39m
[31m+ โโb[39m
[31m+ โโe[39m
[31m+ โโh[39m
[31m+ โโa[39m
[31m+ โโv[39m
[31m+ โโi[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโ.[39m
[31m+ โโD[39m
[31m+ โโo[39m
[31m+ โโy[39m
[31m+ โโo[39m
[31m+ โโu[39m
[31m+ โโw[39m
[31m+ โโa[39m
[31m+ โโn[39m
[31m+ โโt[39m
[31m+ โโt[39m
[31m+ โโo[39m
[31m+ โโk[39m
[31m+ โโe[39m
[31m+ โโe[39m
[31m+ โโp[39m
[31m+ โโl[39m
[31m+ โโo[39m
[31m+ โโo[39m
[31m+ โโp[39m
[31m+ โโd[39m
[31m+ โโe[39m
[31m+ โโt[39m
[31m+ โโe[39m
[31m+ โโc[39m
[31m+ โโt[39m
[31m+ โโi[39m
[31m+ โโo[39m
[31m+ โโn[39m
[31m+ โโe[39m
[31m+ โโn[39m
[31m+ โโa[39m
[31m+ โโb[39m
[31m+ โโl[39m
[31m+ โโe[39m
[31m+ โโd[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโd[39m
[31m+ โโi[39m
[31m+ โโs[39m
[31m+ โโa[39m
[31m+ โโb[39m
[31m+ โโl[39m
[31m+ โโe[39m
[31m+ โโi[39m
[31m+ โโt[39m
[31m+ โโf[39m
[31m+ โโo[39m
[31m+ โโr[39m
[31m+ โโt[39m
[31m+ โโh[39m
[31m+ โโi[39m
[31m+ โโs[39m
[31m+ โโs[39m
[31m+ โโe[39m
[31m+ โโs[39m
[31m+ โโs[39m
[31m+ โโi[39m
[31m+ โโo[39m
[31m+ โโn[39m
[31m+ โโ?[39m
[31m+ โโ[39m
[31m+ โโโ 1.[39m
[31m+ โโ 2.[39m
[31m+ โฐโฏ[39m
โฏ src/ui/components/LoopDetectionConfirmation.test.tsx:29:20
27| const output = lastFrame()!.toString();
28|
29| expect(output).toContain('A potential loop was detected');
| ^
30| expect(output).toContain('Keep loop detection enabled (esc)');
31| expect(output).toContain('Disable loop detection for this session'โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[49/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > renders "main" view with preview options when preview features are enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Auto (Preview)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 2. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 3. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:101:25
99| mockGetHasAccessToPreviewModel.mockReturnValue(true); // Must haveโฆ
100| const { lastFrame } = renderComponent();
101| expect(lastFrame()).toContain('Auto (Preview)');
| ^
102| });
103|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[50/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > switches to "manual" view when "Manual" is selected
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ Gemini 3 is coming soon. โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 2. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:117:25
115|
116| // Should now show manual options
117| expect(lastFrame()).toContain(DEFAULT_GEMINI_MODEL);
| ^
118| expect(lastFrame()).toContain(DEFAULT_GEMINI_FLASH_MODEL);
119| expect(lastFrame()).toContain(DEFAULT_GEMINI_FLASH_LITE_MODEL);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[51/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > renders "manual" view with preview options when preview features are enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-preview'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-3-pro-preview[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 2. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 3. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:139:25
137| await waitForUpdate();
138|
139| expect(lastFrame()).toContain(PREVIEW_GEMINI_MODEL);
| ^
140| });
141|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[52/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "main" view
AssertionError: expected "spy" to be called with arguments: [ 'auto-gemini-2.5', true ][90m
Number of calls: [1m0[22m
[39m
โฏ src/ui/components/ModelDialog.test.tsx:149:26
147| await waitForUpdate();
148|
149| expect(mockSetModel).toHaveBeenCalledWith(
| ^
150| DEFAULT_GEMINI_MODEL_AUTO,
151| true, // Session only by default
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[53/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > sets model and closes when a model is selected in "manual" view
AssertionError: expected "spy" to be called with arguments: [ 'gemini-2.5-pro', true ][90m
Received:
[1m 1st spy call:
[22m[2m [[22m
[32m- "gemini-2.5-pro",[90m
[31m+ "auto-gemini-2.5",[90m
[2m true,[22m
[2m ][22m
[39m[90m
Number of calls: [1m1[22m
[39m
โฏ src/ui/components/ModelDialog.test.tsx:169:26
167| await waitForUpdate();
168|
169| expect(mockSetModel).toHaveBeenCalledWith(DEFAULT_GEMINI_MODEL, trโฆ
| ^
170| expect(mockOnClose).toHaveBeenCalled();
171| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[54/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > toggles persist mode with Tab key
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Remember model for future sessions: tโฆ'
[32m- Expected[39m
[31m+ Received[39m
[32m- Remember model for future sessions: true[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ Gemini 3 is coming soon. โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 2. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:182:25
180| await waitForUpdate();
181|
182| expect(lastFrame()).toContain('Remember model for future sessions:โฆ
| ^
183|
184| // Select "Auto" (index 0)
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[55/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > goes back to "main" view on escape in "manual" view
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ Gemini 3 is coming soon. โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ 2. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:213:25
211| await waitForUpdate();
212|
213| expect(lastFrame()).toContain(DEFAULT_GEMINI_MODEL);
| ^
214|
215| // Press Escape
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[56/172]โฏ
FAIL src/ui/components/ModelDialog.test.tsx > > Preview Logic > should show preview options if user has access AND preview features are enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Auto (Preview)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Select Model โ[39m
[31m+ โ โ[39m
[31m+ โ 1. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 3 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โ2. A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ ( โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ ) โ[39m
[31m+ โ L โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ G โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ C โ[39m
[31m+ โ L โ[39m
[31m+ โ I โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ i โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ k โ[39m
[31m+ โ : โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ , โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ f โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ 3. M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ M โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ Remember model for future sessions: false โ[39m
[31m+ โ (Press Tab to toggle) โ[39m
[31m+ โ โ[39m
[31m+ โ > To use a specific Gemini model on startup, use the --model flag. โ[39m
[31m+ โ โ[39m
[31m+ โ (Press Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelDialog.test.tsx:243:27
241| mockGetPreviewFeatures.mockReturnValue(true);
242| const { lastFrame } = renderComponent();
243| expect(lastFrame()).toContain('Auto (Preview)');
| ^
244| });
245|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[57/172]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should display conditional rows if at least one model has data
Error: Snapshot ` > should display conditional rows if at least one model has data 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ Model Stats For Nerds โ[22m
[2m โ โ[22m
[32m- โ Metric g[7memini-2.5-pro gemini-2.5-flash[27m โ[39m
[31m+ โ Metric g[7mg โ[27m[39m
[31m+ โ ee โ[39m
[31m+ โ mm โ[39m
[31m+ โ ii โ[39m
[31m+ โ nn โ[39m
[31m+ โ ii โ[39m
[31m+ โ -- โ[39m
[31m+ โ 22 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 55 โ[39m
[31m+ โ -- โ[39m
[31m+ โ pf โ[39m
[31m+ โ rl โ[39m
[31m+ โ oa โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ h [27m [7m [27mโ[39m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[2m โ API โ[22m
[32m- โ Requests 1 [7m1[27m โ[39m
[31m+ โ Requests 1[7m1[27m โ[39m
[32m- โ Errors 0[7m (0.0%) 0 (0.0%)[27m โ[39m
[31m+ โ Errors 0[7m0 โ[27m[39m
[31m+ โ (( โ[39m
[31m+ โ 00 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 00 โ[39m
[31m+ โ %% โ[39m
[31m+ [7mโ )) [27m [7m [27mโ[39m
[32m- โ Avg Latency 1[7m00ms 50ms[27m โ[39m
[31m+ โ Avg Latency 1[7m5 โ[27m[39m
[31m+ โ 00 โ[39m
[31m+ โ 0m โ[39m
[31m+ โ ms โ[39m
[31m+ [7mโ s [27m [7m [27mโ[39m
[2m โ Tokens โ[22m
[32m- โ Total 3[7m0[27m [7m15[27m โ[39m
[31m+ โ Total 3[7m1 [27m [7m โ[27m[39m
[31m+ [7mโ 05 [27m [7m [27mโ[39m
[32m- โ โณ Input 5 [7m5[27m โ[39m
[31m+ โ โณ Input 5[7m5[27m โ[39m
[32m- โ โณ Cache Reads 5[7m (50.0%) 0 (0.0%)[27m โ[39m
[31m+ โ โณ Cache Reads 5[7m0 โ[27m[39m
[31m+ โ (( โ[39m
[31m+ โ 50 โ[39m
[31m+ โ 0. โ[39m
[31m+ โ .0 โ[39m
[31m+ โ 0% โ[39m
[31m+ โ %) โ[39m
[31m+ [7mโ ) [27m โ[39m
[32m- โ โณ Thoughts 2 [7m0[27m โ[39m
[31m+ โ โณ Thoughts 2[7m0[27m โ[39m
[32m- โ โณ Tool 0 [7m3[27m โ[39m
[31m+ โ โณ Tool 0[7m3[27m โ[39m
[32m- โ โณ Output 2[7m0[27m [7m10[27m โ[39m
[31m+ โ โณ Output 2[7m1 [27m [7m โ[27m[39m
[31m+ [7mโ 00 [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:196:20
194| expect(output).toContain('Thoughts');
195| expect(output).toContain('Tool');
196| expect(output).toMatchSnapshot();
| ^
197| });
198|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[58/172]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should display stats for multiple models correctly
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Model Stats For Nerds โ[39m
[31m+ โ โ[39m
[31m+ โ Metric gg โ[39m
[31m+ โ ee โ[39m
[31m+ โ mm โ[39m
[31m+ โ ii โ[39m
[31m+ โ nn โ[39m
[31m+ โ ii โ[39m
[31m+ โ -- โ[39m
[31m+ โ 22 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 55 โ[39m
[31m+ โ -- โ[39m
[31m+ โ pf โ[39m
[31m+ โ rl โ[39m
[31m+ โ oa โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ Errors 12 โ[39m
[31m+ โ (( โ[39m
[31m+ โ 11 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 00 โ[39m
[31m+ โ %% โ[39m
[31m+ โ )) โ[39m
[31m+ โ Avg Latency 12 โ[39m
[31m+ โ 05 โ[39m
[31m+ โ 0m โ[39m
[31m+ โ ms โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 36 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Input 51 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Cache Reads 51 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ (0 โ[39m
[31m+ โ 5( โ[39m
[31m+ โ 05 โ[39m
[31m+ โ .0 โ[39m
[31m+ โ 0. โ[39m
[31m+ โ %0 โ[39m
[31m+ โ )% โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Tool 51 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Output 24 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:247:20
245|
246| const output = lastFrame();
247| expect(output).toContain('gemini-2.5-pro');
| ^
248| expect(output).toContain('gemini-2.5-flash');
249| expect(output).toMatchSnapshot();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[59/172]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should handle large values without wrapping or overlapping
Error: Snapshot ` > should handle large values without wrapping or overlapping 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ Model Stats For Nerds โ[22m
[2m โ โ[22m
[32m- โ Metric g[7memini-2.5-pro โ[27m[39m
[32m- โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[32m- โ API โ[39m
[32m- [7mโ Requests 999,999,999[27m โ[39m
[31m+ โ Metric g[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ [7mโ 9 [27m [7m [27mโ[39m
[32m- โ Errors 1[7m23,456,789 (12.3%[27m) โ[39m
[31m+ โ Errors 1[7m โ[27m[39m
[31m+ โ 2 โ[39m
[31m+ โ 3 โ[39m
[31m+ โ , โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 6 โ[39m
[31m+ โ , โ[39m
[31m+ โ 7 โ[39m
[31m+ โ 8 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 3 โ[39m
[31m+ โ % โ[39m
[31m+ [7mโ [27m) [7m [27mโ[39m
[32m- โ Avg Latency 0[7mms โ[27m[39m
[32m- โ Tokens โ[39m
[32m- [7mโ Total 999,999,999[27m โ[39m
[31m+ โ Avg Latency 0[7m โ[27m[39m
[31m+ โ m โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ , โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 9 โ[39m
[31m+ [7mโ 9 [27m [7m [27mโ[39m
[32m- โ โณ Input 8[7m64,197,532[27m โ[39m
[31m+ โ โณ Input 8[7m โ[27m[39m
[31m+ โ 6 โ[39m
[31m+ โ 4 โ[39m
[31m+ โ , โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ 7 โ[39m
[31m+ โ , โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 3 โ[39m
[31m+ [7mโ 2 [27m [7m [27mโ[39m
[32m- โ โณ Cache Reads 1[7m23,456,789 (12.5%) โ[27m[39m
[32m- [7mโ โณ Thoughts 111,111,111[27m โ[39m
[31m+ โ โณ Cache Reads 1[7m โ[27m[39m
[31m+ โ 2 โ[39m
[31m+ โ 3 โ[39m
[31m+ โ , โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 6 โ[39m
[31m+ โ , โ[39m
[31m+ โ 7 โ[39m
[31m+ โ 8 โ[39m
[31m+ โ 9 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ , โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ โ , โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 1 โ[39m
[31m+ [7mโ 1 [27m [7m [27mโ[39m
[32m- โ โณ Tool 2[7m22,222,222 โ[27m[39m
[32m- [7mโ โณ Output 123,456,789[27m โ[39m
[31m+ โ โณ Tool 2[7m โ[27m[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ , โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ , โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ โณ Output 1 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ 3 โ[39m
[31m+ โ , โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 6 โ[39m
[31m+ โ , โ[39m
[31m+ โ 7 โ[39m
[31m+ โ 8 โ[39m
[31m+ [7mโ 9 [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:291:25
289| });
290|
291| expect(lastFrame()).toMatchSnapshot();
| ^
292| });
293|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[60/172]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should display a single model correctly
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-2.5-pro[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Model Stats For Nerds โ[39m
[31m+ โ โ[39m
[31m+ โ Metric g โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ i โ[39m
[31m+ โ - โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ 5 โ[39m
[31m+ โ - โ[39m
[31m+ โ p โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 1 โ[39m
[31m+ โ Errors 0 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 0 โ[39m
[31m+ โ . โ[39m
[31m+ โ 0 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ Avg Latency 1 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ m โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 3 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Input 5 โ[39m
[31m+ โ โณ Cache Reads 5 โ[39m
[31m+ โ ( โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ . โ[39m
[31m+ โ 0 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 2 โ[39m
[31m+ โ โณ Tool 1 โ[39m
[31m+ โ โณ Output 2 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:330:20
328|
329| const output = lastFrame();
330| expect(output).toContain('gemini-2.5-pro');
| ^
331| expect(output).not.toContain('gemini-2.5-flash');
332| expect(output).toMatchSnapshot();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[61/172]โฏ
FAIL src/ui/components/ModelStatsDisplay.test.tsx > > should handle models with long names (gemini-3-*-preview) without layout breaking
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-'
[32m- Expected[39m
[31m+ Received[39m
[32m- gemini-3-pro-[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Model Stats For Nerds โ[39m
[31m+ โ โ[39m
[31m+ โ Metric gg โ[39m
[31m+ โ ee โ[39m
[31m+ โ mm โ[39m
[31m+ โ ii โ[39m
[31m+ โ nn โ[39m
[31m+ โ ii โ[39m
[31m+ โ -- โ[39m
[31m+ โ 33 โ[39m
[31m+ โ -- โ[39m
[31m+ โ pf โ[39m
[31m+ โ rl โ[39m
[31m+ โ oa โ[39m
[31m+ โ -s โ[39m
[31m+ โ ph โ[39m
[31m+ โ r- โ[39m
[31m+ โ ep โ[39m
[31m+ โ vr โ[39m
[31m+ โ ie โ[39m
[31m+ โ ev โ[39m
[31m+ โ wi โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ API โ[39m
[31m+ โ Requests 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ Errors 00 โ[39m
[31m+ โ (( โ[39m
[31m+ โ 00 โ[39m
[31m+ โ .. โ[39m
[31m+ โ 00 โ[39m
[31m+ โ %% โ[39m
[31m+ โ )) โ[39m
[31m+ โ Avg Latency 25 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0m โ[39m
[31m+ โ ms โ[39m
[31m+ โ s โ[39m
[31m+ โ Tokens โ[39m
[31m+ โ Total 61 โ[39m
[31m+ โ ,2 โ[39m
[31m+ โ 0, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Input 12 โ[39m
[31m+ โ ,, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Cache Reads 51 โ[39m
[31m+ โ 0, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ (0 โ[39m
[31m+ โ 20 โ[39m
[31m+ โ 5( โ[39m
[31m+ โ .2 โ[39m
[31m+ โ 05 โ[39m
[31m+ โ %. โ[39m
[31m+ โ )0 โ[39m
[31m+ โ % โ[39m
[31m+ โ ) โ[39m
[31m+ โ โณ Thoughts 12 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โณ Tool 51 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 0 โ[39m
[31m+ โ โณ Output 48 โ[39m
[31m+ โ ,, โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ 00 โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ModelStatsDisplay.test.tsx:386:20
384|
385| const output = lastFrame();
386| expect(output).toContain('gemini-3-pro-');
| ^
387| expect(output).toContain('gemini-3-flash-');
388| expect(output).toMatchSnapshot();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[62/172]โฏ
FAIL src/ui/components/NewAgentsNotification.test.tsx > NewAgentsNotification > truncates list if more than 5 agents
Error: Snapshot `NewAgentsNotification > truncates list if more than 5 agents 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,9 +12,9 @@[39m
[2m โ โ - Agent 4: Description 4 โ โ[22m
[2m โ โ ... and 2 more. โ โ[22m
[2m โ โ โ โ[22m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mAcknowledge and Enable[27m [7mโ[27m[39m
[32m- [7m โ 2. Do not enable (Ask again next time)[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m โ[27m[39m
[31m+ [7m โ 2. [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/NewAgentsNotification.test.tsx:54:19
52|
53| const frame = lastFrame();
54| expect(frame).toMatchSnapshot();
| ^
55| unmount();
56| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[63/172]โฏ
FAIL src/ui/components/PermissionsModifyTrustDialog.test.tsx > PermissionsModifyTrustDialog > should render the labels with folder names
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust this folder (dir)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Trust this folder (dir)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ > Modify Trust Level โ[39m
[31m+ โ โ[39m
[31m+ โ Folder: /test/dir โ[39m
[31m+ โ Current Level: DO_NOT_TRUST โ[39m
[31m+ โ โ[39m
[31m+ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โ (Use Enter to select, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx:129:27
127|
128| await waitFor(() => {
129| expect(lastFrame()).toContain('Trust this folder (dir)');
| ^
130| expect(lastFrame()).toContain('Trust parent folder (test)');
131| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx:128:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[64/172]โฏ
FAIL src/ui/components/RewindConfirmation.test.tsx > RewindConfirmation > renders correctly without stats
Error: Snapshot `RewindConfirmation > renders correctly without stats 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindConfirmation.test.tsx:50:25
48| );
49|
50| expect(lastFrame()).toMatchSnapshot();
| ^
51| expect(lastFrame()).not.toContain('Revert code changes');
52| expect(lastFrame()).toContain('Rewind conversation');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[65/172]โฏ
FAIL src/ui/components/RewindConfirmation.test.tsx > RewindConfirmation > renders timestamp when provided
Error: Snapshot `RewindConfirmation > renders timestamp when provided 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. (just now) โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindConfirmation.test.tsx:88:25
86| );
87|
88| expect(lastFrame()).toMatchSnapshot();
| ^
89| expect(lastFrame()).not.toContain('Revert code changes');
90| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[66/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Rendering > renders 'full text for selected item'
Error: Snapshot `RewindViewer > Rendering > renders 'full text for selected item' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[2m โ 1 โ[22m
[32m- โ 2[7m..[27m. โ[39m
[31m+ โ 2[7m โ[27m[39m
[31m+ โ . โ[39m
[31m+ โ . โ[39m
[31m+ [7mโ [27m. [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:97:27
95| />,
96| );
97| expect(lastFrame()).toMatchSnapshot();
| ^
98| });
99| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[67/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > updates selection and expansion on navigation
Error: Snapshot `RewindViewer > updates selection and expansion on navigation > initial-state 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ L[7mine A โ[27m[39m
[32m- [7mโ Line B...[27m โ[39m
[31m+ โ L[7m โ[27m[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ L โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ โ B โ[39m
[31m+ โ . โ[39m
[31m+ โ . โ[39m
[31m+ [7mโ . [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ L[7mine 1[27m โ[39m
[31m+ โ L[7m โ[27m[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ 1 [27m [7m [27mโ[39m
[32m- โ L[7mine 2...[27m โ[39m
[31m+ โ L[7m โ[27m[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ e โ[39m
[31m+ โ 2 โ[39m
[31m+ โ . โ[39m
[31m+ โ . โ[39m
[31m+ [7mโ . [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:121:25
119|
120| // Initial state
121| expect(lastFrame()).toMatchSnapshot('initial-state');
| ^
122|
123| // Move down to select Item 1 (older message)
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[68/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Interaction Selection > 'confirms on Enter'
Error: Snapshot `RewindViewer > Interaction Selection > 'confirms on Enter' > confirmation-dialog 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. (some time ago) โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:245:27
243| stdin.write('\r');
244| });
245| expect(lastFrame()).toMatchSnapshot('confirmation-dialog');
| ^
246|
247| // Act
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[69/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Interaction Selection > 'cancels on Escape'
Error: Snapshot `RewindViewer > Interaction Selection > 'cancels on Escape' > confirmation-dialog 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -4,9 +4,9 @@[39m
[2m โ โ[22m
[2m โ No code changes to revert. (some time ago) โ[22m
[2m โ โ[22m
[2m โ Select an action: โ[22m
[2m โ โ[22m
[32m- โ โ 1. [7mRewind conversation[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mDo nothing (esc)[27m โ[39m
[31m+ โ 2. [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:245:27
243| stdin.write('\r');
244| });
245| expect(lastFrame()).toMatchSnapshot('confirmation-dialog');
| ^
246|
247| // Act
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[70/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Content Filtering > 'removes reference markers'
Error: Snapshot `RewindViewer > Content Filtering > 'removes reference markers' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ s[7mome command @file โ[27m[39m
[32m- [7mโ No files have been changed[27m โ[39m
[31m+ โ s[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ @ โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ N โ[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:294:27
292| );
293|
294| expect(lastFrame()).toMatchSnapshot();
| ^
295|
296| // Select
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[71/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Content Filtering > 'strips expanded MCP resource content'
Error: Snapshot `RewindViewer > Content Filtering > 'strips expanded MCP resource content' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ r[7mead @server3:mcp://demo-resource hello[27m โ[39m
[31m+ โ r[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ d โ[39m
[31m+ โ @ โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ 3 โ[39m
[31m+ โ : โ[39m
[31m+ โ m โ[39m
[31m+ โ c โ[39m
[31m+ โ p โ[39m
[31m+ โ : โ[39m
[31m+ โ / โ[39m
[31m+ โ / โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ - โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ o โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ [7mโ o [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ [7mโ n [27m [7m [27mโ[39m
[32m- โ C[7mancel rewind and stay here[27m โ[39m
[31m+ โ C[7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:294:27
292| );
293|
294| expect(lastFrame()).toMatchSnapshot();
| ^
295|
296| // Select
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[72/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > Content Filtering > 'uses displayContent if present and doโฆ'
Error: Snapshot `RewindViewer > Content Filtering > 'uses displayContent if present and doโฆ' 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ c[7mlean display content โ[27m[39m
[32m- [7mโ No files have been changed[27m โ[39m
[31m+ โ c[7m โ[27m[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ i โ[39m
[31m+ โ s โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ c โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ N โ[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:294:27
292| );
293|
294| expect(lastFrame()).toMatchSnapshot();
| ^
295|
296| // Select
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[73/172]โฏ
FAIL src/ui/components/RewindViewer.test.tsx > RewindViewer > updates content when conversation changes (background update)
Error: Snapshot `RewindViewer > updates content when conversation changes (background update) > initial 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Rewind โ[22m
[2m โ โ[22m
[32m- โ M[7message 1[27m โ[39m
[31m+ โ M[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ a โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ 1 [27m [7m [27mโ[39m
[32m- โ N[7mo files have been changed[27m โ[39m
[31m+ โ N[7m โ[27m[39m
[31m+ โ o โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ d [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โ S[7mtay at current position โ[27m[39m
[32m- [7mโ Cancel rewind and stay here[27m โ[39m
[31m+ โ โ S[7m โ[27m[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ p โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ d โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ a โ[39m
[31m+ โ y โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select a message, Esc to close, Right/Left to expand/collapse) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/RewindViewer.test.tsx:334:25
332| );
333|
334| expect(lastFrame()).toMatchSnapshot('initial');
| ^
335|
336| unmount();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[74/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:246:22
244| const output = lastFrame();
245| // Should still render properly with the height prop
246| expect(output).toContain('Settings');
| ^
247| // Use regex for more flexible help text matching
248| expect(output).toMatch(/Enter.*select.*Esc.*close/);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[75/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Initial Rendering > should render settings list with visual indicators
Error: Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ A t โ[39m
[31m+ โ u r โ[39m
[31m+ โ t u โ[39m
[31m+ โ o e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:259:22
257| const output = lastFrame();
258| // Use snapshot to capture visual layout including indicators
259| expect(output).toMatchSnapshot();
| ^
260| });
261|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[76/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Initial Rendering > should use almost full height of the window but no more when the window height is 25 rows
AssertionError: expected 117 to be less than or equal to 25
โฏ src/ui/components/SettingsDialog.test.tsx:278:30
276|
277| expect(lines.length).toBeGreaterThanOrEqual(24);
278| expect(lines.length).toBeLessThanOrEqual(25);
| ^
279| });
280| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:272:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[77/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Setting Descriptions > should render descriptions for settings that have them
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ A t โ[39m
[31m+ โ u r โ[39m
[31m+ โ t u โ[39m
[31m+ โ o e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:292:22
290| const output = lastFrame();
291| // 'general.vimMode' has description 'Enable Vim keybindings' inโฆ
292| expect(output).toContain('Vim Mode');
| ^
293| expect(output).toContain('Enable Vim keybindings');
294| // 'general.enableAutoUpdate' has description 'Enable automatic โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[78/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Navigation > should navigate with 'arrow keys'
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)'
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ A t โ[39m
[31m+ โ u r โ[39m
[31m+ โ t u โ[39m
[31m+ โ o e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:319:28
317|
318| const initialFrame = lastFrame();
319| expect(initialFrame).toContain('Vim Mode');
| ^
320|
321| // Navigate down
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[79/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Navigation > wraps around when at the top of the list
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Hook Notifications'
[32m- Expected[39m
[31m+ Received[39m
[32m- Hook Notifications[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ cE โ[39m
[31m+ โ hx โ[39m
[31m+ โ tt โ[39m
[31m+ โ oe โ[39m
[31m+ โ fn โ[39m
[31m+ โ is โ[39m
[31m+ โ li โ[39m
[31m+ โ to โ[39m
[31m+ โ en โ[39m
[31m+ โ rS โ[39m
[31m+ โ o โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ c โ[39m
[31m+ โ e โ[39m
[31m+ โ R โ[39m
[31m+ โ e โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ A โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ w โ[39m
[31m+ โ l โ[39m
[31m+ โ i โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ F t โ[39m
[31m+ โ o r โ[39m
[31m+ โ l u โ[39m
[31m+ โ d e โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ T โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ V โ[39m
[31m+ โ a โ[39m
[31m+ โ r โ[39m
[31m+ โ i โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ R โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ U f โ[39m
[31m+ โ s a โ[39m
[31m+ โ e l โ[39m
[31m+ โ O s โ[39m
[31m+ โ S e โ[39m
[31m+ โ C โ[39m
[31m+ โ 5 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ P โ[39m
[31m+ โ a โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ P f โ[39m
[31m+ โ l a โ[39m
[31m+ โ a l โ[39m
[31m+ โ n s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ S โ[39m
[31m+ โ k โ[39m
[31m+ โ i โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ H โ[39m
[31m+ โ o โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ H t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ k e โ[39m
[31m+ โ N โ[39m
[31m+ โ o โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ f โ[39m
[31m+ โ i โ[39m
[31m+ โ c โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:355:29
353| await waitFor(() => {
354| // Should wrap to last setting (without relying on exact bulleโฆ
355| expect(lastFrame()).toContain('Hook Notifications');
| ^
356| });
357|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:353:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[80/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > should toggle setting with Enter key
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Preview Features (e.g., models)'
[32m- Expected[39m
[31m+ Received[39m
[32m- Preview Features (e.g., models)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ โcP f โ[39m
[31m+ โ hr a โ[39m
[31m+ โ te l โ[39m
[31m+ โ ov s โ[39m
[31m+ โ fi e โ[39m
[31m+ โ ie โ[39m
[31m+ โ lw โ[39m
[31m+ โ tF โ[39m
[31m+ โ ee โ[39m
[31m+ โ ra โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ V f โ[39m
[31m+ โ i a โ[39m
[31m+ โ m l โ[39m
[31m+ โ M s โ[39m
[31m+ โ o e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E t โ[39m
[31m+ โ n r โ[39m
[31m+ โ a u โ[39m
[31m+ โ b e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ D f โ[39m
[31m+ โ e a โ[39m
[31m+ โ b l โ[39m
[31m+ โ u s โ[39m
[31m+ โ g e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E f โ[39m
[31m+ โ n a โ[39m
[31m+ โ a l โ[39m
[31m+ โ b s โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ O T โ[39m
[31m+ โ u e โ[39m
[31m+ โ t x โ[39m
[31m+ โ p t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ A t โ[39m
[31m+ โ u r โ[39m
[31m+ โ t u โ[39m
[31m+ โ o e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:373:29
371| // Wait for initial render and verify we're on Preview Features โฆ
372| await waitFor(() => {
373| expect(lastFrame()).toContain('Preview Features (e.g., models)โฆ
| ^
374| });
375|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:372:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[81/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Scope Selection > should reset to settings focus when scope is selected
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:505:29
503| // Wait for initial render
504| await waitFor(() => {
505| expect(lastFrame()).toContain('Vim Mode');
| ^
506| });
507|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:504:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[82/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:561:29
559| // Wait for initial render
560| await waitFor(() => {
561| expect(lastFrame()).toContain('Vim Mode');
| ^
562| });
563|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:560:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[83/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Persistence > should show different values for different scopes
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:616:22
614| // Should show user scope values initially
615| const output = lastFrame();
616| expect(output).toContain('Settings');
| ^
617| });
618| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[84/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:722:22
720| const output = lastFrame();
721| // Should contain settings labels
722| expect(output).toContain('Settings');
| ^
723| });
724|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[85/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Display Values > should show correct values for inherited settings
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:785:22
783| const output = lastFrame();
784| // Settings should show inherited values
785| expect(output).toContain('Settings');
| ^
786| });
787|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[86/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Settings Display Values > should show override indicator for overridden settings
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:807:22
805| const output = lastFrame();
806| // Should show settings with override indicators
807| expect(output).toContain('Settings');
| ^
808| });
809| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[87/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:953:29
951| // Wait for initial render
952| await waitFor(() => {
953| expect(lastFrame()).toContain('Vim Mode');
| ^
954| });
955|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:952:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[88/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Error Recovery > should handle malformed settings gracefully
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:982:27
980|
981| // Should still render without crashing
982| expect(lastFrame()).toContain('Settings');
| ^
983| });
984|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[89/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Error Recovery > should handle missing setting definitions gracefully
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:992:27
990| const { lastFrame } = renderDialog(settings, onSelect);
991|
992| expect(lastFrame()).toContain('Settings');
| ^
993| });
994| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[90/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
[32m- Expected[39m
[31m+ Received[39m
[32m- Vim Mode[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1005:29
1003| // Wait for initial render
1004| await waitFor(() => {
1005| expect(lastFrame()).toContain('Vim Mode');
| ^
1006| });
1007|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1004:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[91/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Restart and Search Conflict Regression > should prioritize restart request over search text box when showRestartPrompt is true
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Show Color'
[32m- Expected[39m
[31m+ Received[39m
[32m- Show Color[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ fr โ[39m
[31m+ โ ac โ[39m
[31m+ โ lh โ[39m
[31m+ โ st โ[39m
[31m+ โ eo โ[39m
[31m+ โ of โ[39m
[31m+ โ li โ[39m
[31m+ โ ol โ[39m
[31m+ โ rt โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ c โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1092:47
1090|
1091| // Wait for initial render
1092| await waitFor(() => expect(lastFrame()).toContain('Show Color'));
| ^
1093|
1094| // Navigate to "Enable Interactive Shell" (second item in TOOLS_โฆ
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1092:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[92/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Restart and Search Conflict Regression > should hide search box when showRestartPrompt is true
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
[32m- Expected[39m
[31m+ Received[39m
[32m- Search to filter[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ fr โ[39m
[31m+ โ ac โ[39m
[31m+ โ lh โ[39m
[31m+ โ st โ[39m
[31m+ โ eo โ[39m
[31m+ โ of โ[39m
[31m+ โ li โ[39m
[31m+ โ ol โ[39m
[31m+ โ rt โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ a โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ v โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ l โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ c โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1134:27
1132|
1133| // Search box should be visible initially (searchPlaceholder)
1134| expect(lastFrame()).toContain('Search to filter');
| ^
1135|
1136| // Navigate to "Enable Interactive Shell" and toggle it
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[93/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should display text entered in search
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
[32m- Expected[39m
[31m+ Received[39m
[32m- Search to filter[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1224:27
1222| expect(lastFrame()).not.toContain('> Search:');
1223| });
1224| expect(lastFrame()).toContain('Search to filter');
| ^
1225|
1226| // Press '/' to enter search mode
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[94/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should show search query and filter settings as user types
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'yolo'
[32m- Expected[39m
[31m+ Received[39m
[32m- yolo[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ yโ โ[39m
[31m+ โ โฐโoโฏ โ[39m
[31m+ โ l โ[39m
[31m+ โ fo โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ Y โ[39m
[31m+ โ O โ[39m
[31m+ โ L โ[39m
[31m+ โ O โ[39m
[31m+ โ M โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ y โ[39m
[31m+ โ F โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ I โ[39m
[31m+ โ n โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ u โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ D โ[39m
[31m+ โ i โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ i โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1250:29
1248|
1249| await waitFor(() => {
1250| expect(lastFrame()).toContain('yolo');
| ^
1251| expect(lastFrame()).toContain('Disable YOLO Mode');
1252| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1249:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[95/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should exit search settings when Escape is pressed
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vim'
[32m- Expected[39m
[31m+ Received[39m
[32m- vim[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ vโ โ[39m
[31m+ โ โฐโiโฏ โ[39m
[31m+ โ m โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ v โ[39m
[31m+ โ i โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ V โ[39m
[31m+ โ a โ[39m
[31m+ โ r โ[39m
[31m+ โ i โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ R โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ w โ[39m
[31m+ โ F โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1267:29
1265| });
1266| await waitFor(() => {
1267| expect(lastFrame()).toContain('vim');
| ^
1268| });
1269|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1266:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[96/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should handle backspace to modify search query
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vimm'
[32m- Expected[39m
[31m+ Received[39m
[32m- vimm[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ vโ โ[39m
[31m+ โ โฐโiโฏ โ[39m
[31m+ โ m โ[39m
[31m+ โ fm โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1294:29
1292| });
1293| await waitFor(() => {
1294| expect(lastFrame()).toContain('vimm');
| ^
1295| });
1296|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1293:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[97/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Search Functionality > should display nothing when search yields no results
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'nonexistentsetting'
[32m- Expected[39m
[31m+ Received[39m
[32m- nonexistentsetting[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ nโ โ[39m
[31m+ โ โฐโoโฏ โ[39m
[31m+ โ n โ[39m
[31m+ โ Ne โ[39m
[31m+ โ ox โ[39m
[31m+ โ mi โ[39m
[31m+ โ โs โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ hn โ[39m
[31m+ โ (t โ[39m
[31m+ โ Us โ[39m
[31m+ โ se โ[39m
[31m+ โ et โ[39m
[31m+ โ Et โ[39m
[31m+ โ ni โ[39m
[31m+ โ tn โ[39m
[31m+ โ eg โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/SettingsDialog.test.tsx:1323:29
1321|
1322| await waitFor(() => {
1323| expect(lastFrame()).toContain('nonexistentsetting');
| ^
1324| expect(lastFrame()).toContain('');
1325| expect(lastFrame()).not.toContain('Vim Mode'); // Should not cโฆ
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1322:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[98/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'default state' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[99/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode true* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update false* โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion true* โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging true* โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[100/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update false* โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[101/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ > Apply To โ[39m
[32m- โ โ 1. User Settings โ[39m
[32m- โ 2. Workspace Settings โ[39m
[32m- โ 3. System Settings โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[102/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode true* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[103/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[104/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ K โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[105/172]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly
Error: Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[32m- โ > Settings โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lt โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ ei โ[39m
[31m+ โ wl โ[39m
[31m+ โ Ft โ[39m
[31m+ โ ee โ[39m
[31m+ โ ar โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ ( โ[39m
[31m+ โ e โ[39m
[31m+ โ . โ[39m
[31m+ โ g โ[39m
[31m+ โ . โ[39m
[31m+ โ , โ[39m
[31m+ โ m โ[39m
[31m+ โ o โ[39m
[31m+ โ d โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ A โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ U โ[39m
[31m+ โ p โ[39m
[31m+ โ d โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[2m โ โ[22m
[32m- โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[39m
[32m- โ โ Search to filter โ โ[39m
[32m- โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ P โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ C โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ p โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ โฒ โ[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ Enable preview features (e.g., preview models). โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ e โ[39m
[31m+ โ y โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ o โ[39m
[31m+ โ k โ[39m
[31m+ โ e โ[39m
[31m+ โ L โ[39m
[31m+ โ o โ[39m
[31m+ โ g โ[39m
[31m+ โ g โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Vim Mode false* โ[39m
[32m- โ Enable Vim keybindings โ[39m
[2m โ โ[22m
[32m- โ Enable Auto Update true* โ[39m
[32m- โ Enable automatic updates. โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ s โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ C โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ u โ[39m
[31m+ โ p โ[39m
[2m โ โ[22m
[32m- โ Enable Prompt Completion false* โ[39m
[32m- โ Enable AI-powered prompt completion suggestions while typing. โ[39m
[2m โ โ[22m
[32m- โ Debug Keystroke Logging false* โ[39m
[32m- โ Enable debug logging of keystrokes to the console. โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ x โ[39m
[31m+ โ t โ[39m
[31m+ โ u โ[39m
[31m+ โ t โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ m โ[39m
[31m+ โ a โ[39m
[31m+ โ t โ[39m
[2m โ โ[22m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ Enable automatic session cleanup โ[39m
[2m โ โ[22m
[32m- โ Output Format Text โ[39m
[32m- โ The format of the CLI output. Can be `text` or `json`. โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ T โ[39m
[31m+ โ h โ[39m
[31m+ โ e โ[39m
[31m+ โ m โ[39m
[31m+ โ e โ[39m
[31m+ โ S โ[39m
[31m+ โ w โ[39m
[31m+ โ i โ[39m
[31m+ โ t โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[2m โ โ[22m
[32m- โ Auto Theme Switching true โ[39m
[32m- โ Automatically switch between default light and dark themes based on terminal backgroโฆ โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ Apply To โ[39m
[32m- โ โ User Settings โ[39m
[32m- โ Workspace Settings โ[39m
[32m- โ System Settings โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[2m โ โ[22m
[32m- โ (Use Enter to select, Ctrl+L to reset, Tab to change focus, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1566:29
1564| }
1565|
1566| expect(lastFrame()).toMatchSnapshot();
| ^
1567| },
1568| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[106/172]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > ThemeDialog Snapshots > should render correctly in theme selection mode
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/ThemeDialog.test.tsx:33:3
31| });
32|
33| it('should render correctly in theme selection mode', () => {
| ^
34| const settings = createMockSettings();
35| const { lastFrame } = renderWithProviders(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[107/172]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > ThemeDialog Snapshots > should render correctly in scope selector mode
Error: Snapshot `ThemeDialog Snapshots > should render correctly in scope selector mode 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Apply To โ[22m
[32m- โ โ 1. [7mUser Settings[27m โ[39m
[31m+ โ โ 1. [7m [27m [7m [27mโ[39m
[32m- โ 2. [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ 3. System Settings[27m โ[39m
[31m+ โ 2. [7m [27m [7m โ[27m[39m
[31m+ [7mโ 3. [27m โ[39m
[2m โ โ[22m
[2m โ (Use Enter to apply scope, Tab to select theme, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:58:25
56| await new Promise((resolve) => setTimeout(resolve, 100));
57|
58| expect(lastFrame()).toMatchSnapshot();
| ^
59| });
60|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[108/172]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set
Error: Snapshot `Initial Theme Selection > should default to a light theme when terminal background is light and no theme is set 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Select Theme Preview โ[22m
[2m โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ 1. [7mANSI Light Light[27m โ โ โ[39m
[31m+ โ 1. [7m [27m โ โ โ[39m
[32m- โ 2. [7mAyu Light Light[27m โ 1 # function โ โ[39m
[31m+ โ 2. [7m [27m [7m [27mโ 1 # function โ โ[39m
[32m- โ โ 3. [7mDefault Light Light[27m โ 2 def fibonacci(n): โ โ[39m
[31m+ โ โ 3. [7m [27m โ 2 def fibonacci(n): โ โ[39m
[32m- โ 4. [7mGitHub Light Light[27m โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ 4. [7m [27m [7m [27mโ 3 a, b = 0, 1 โ โ[39m
[32m- โ 5. [7mGoogle Code Light[27m โ 4 for _ in range(n): โ โ[39m
[31m+ โ 5. [7m [27m [7m [27mโ 4 for _ in range(n): โ โ[39m
[32m- โ 6. [7mXcode Light[27m โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 6. [7m [27m โ 5 a, b = b, a + b โ โ[39m
[32m- โ 7. [7mANSI Dark (Incompatible)[27m โ 6 return a โ โ[39m
[31m+ โ 7. [7m [27m โ 6 return a โ โ[39m
[32m- โ 8. [7mAtom One Dark (Incompatible)[27m โ โ โ[39m
[31m+ โ 8. [7m [27m โ โ โ[39m
[32m- โ 9. [7mAyu Dark (Incompatible)[27m โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 9. [7m [27m [7m [27mโ 1 - print("Hello, " + name) โ โ[39m
[32m- โ 10. [7mDefault Dark (Incompatible)[27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 10. [7m [27m [7m [27mโ 1 + print(f"Hello, {name}!") โ โ[39m
[32m- โ 11. [7mDracula Dark (Incompatible)[27m โ โ โ[39m
[31m+ โ 11. [7m [27m [7m [27mโ โ โ[39m
[32m- โ 12. [7mGitHub Dark (Incompatible)[27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 12. [7m [27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select, Tab to configure scope, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:130:25
128| // The snapshot will show which theme is highlighted.
129| // We expect 'DefaultLight' to be the one with the '>' indicator.
130| expect(lastFrame()).toMatchSnapshot();
| ^
131| });
132|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[109/172]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set
Error: Snapshot `Initial Theme Selection > should default to a dark theme when terminal background is dark and no theme is set 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Select Theme Preview โ[22m
[2m โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ 1. [7mANSI Dark[27m โ โ โ[39m
[31m+ โ 1. [7m [27m โ โ โ[39m
[32m- โ 2. [7mAtom One Dark[27m โ 1 # function โ โ[39m
[31m+ โ 2. [7m [27m โ 1 # function โ โ[39m
[32m- โ 3. [7mAyu Dark[27m โ 2 def fibonacci(n): โ โ[39m
[31m+ โ 3. [7m [27m [7m [27mโ 2 def fibonacci(n): โ โ[39m
[32m- โ โ 4. [7mDefault Dark[27m โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ โ 4. [7m [27m โ 3 a, b = 0, 1 โ โ[39m
[32m- โ 5. [7mDracula Dark[27m โ 4 for _ in range(n): โ โ[39m
[31m+ โ 5. [7m [27m โ 4 for _ in range(n): โ โ[39m
[32m- โ 6. [7mGitHub Dark[27m โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 6. [7m [27m โ 5 a, b = b, a + b โ โ[39m
[32m- โ 7. [7mHoliday Dark[27m โ 6 return a โ โ[39m
[31m+ โ 7. [7m [27m โ 6 return a โ โ[39m
[32m- โ 8. [7mShades Of Purple Dark[27m โ โ โ[39m
[31m+ โ 8. [7m [27m [7m [27mโ โ โ[39m
[32m- โ 9. [7mANSI Light Light (Incompatible)[27m โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 9. [7m [27m โ 1 - print("Hello, " + name) โ โ[39m
[32m- โ 10. [7mAyu Light Light (Incompatible)[27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 10. [7m [27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[32m- โ 11. [7mDefault Light Light (Incompatible)[27m โ โ โ[39m
[31m+ โ 11. [7m [27m โ โ โ[39m
[32m- โ 12. [7mGitHub Light Light (Incompatible)[27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 12. [7m [27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select, Tab to configure scope, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:144:25
142|
143| // We expect 'DefaultDark' to be highlighted.
144| expect(lastFrame()).toMatchSnapshot();
| ^
145| });
146|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[110/172]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type
Error: Snapshot `Initial Theme Selection > should use the theme from settings even if terminal background suggests a different theme type 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ โ[22m
[2m โ > Select Theme Preview โ[22m
[2m โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ โ[7m [27m 1. [7mANSI Dark[27m โ โ โ[39m
[31m+ โ โ 1. [7m [27m โ โ โ[39m
[32m- โ [7m [27m2. [7mAtom One Dark[27m โ 1 # function โ โ[39m
[31m+ โ 2. [7m [27m [7m [27mโ 1 # function โ โ[39m
[32m- โ [7m [27m3. [7mAyu Dark[27m โ 2 def fibonacci(n): โ โ[39m
[31m+ โ 3. [7m [27m [7m [27mโ 2 def fibonacci(n): โ โ[39m
[32m- โ [7m [27m4. [7mDefault Dark[27m โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ 4. [7m [27m โ 3 a, b = 0, 1 โ โ[39m
[32m- โ [7m [27m5. [7mDracula Dark[27m โ 4 for _ in range(n): โ โ[39m
[31m+ โ 5. [7m [27m โ 4 for _ in range(n): โ โ[39m
[32m- โ[7m [27m 6. [7mGitHub Dark[27m โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 6. [7m [27m โ 5 a, b = b, a + b โ โ[39m
[32m- โ[7m [27m 7. [7mHoliday Dark[27m โ 6 return a โ โ[39m
[31m+ โ 7. [7m [27m โ 6 return a โ โ[39m
[32m- โ[7m [27m 8. [7mShades Of Purple Dark[27m โ โ โ[39m
[31m+ โ 8. [7m [27m [7m [27mโ โ โ[39m
[32m- โ [7m [27m9. [7mANSI Light Light (Incompatible)[27m โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 9. [7m [27m โ 1 - print("Hello, " + name) โ โ[39m
[32m- โ[7m [27m 10. [7mAyu Light Light (Incompatible)[27m โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 10. [7m [27m [7m [27mโ 1 + print(f"Hello, {name}!") โ โ[39m
[32m- โ [7m [27m11. [7mDefault Light Light (Incompatible)[27m โ โ โ[39m
[31m+ โ 11. [7m [27m โ โ โ[39m
[32m- โ[7m [27m 12. [7mGitHub Light Light (Incompatible)[27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 12. [7m [27m โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[2m โ โผ โ[22m
[2m โ โ[22m
[2m โ (Use Enter to select, Tab to configure scope, Esc to close) โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/ThemeDialog.test.tsx:158:25
156|
157| // We expect 'DefaultLight' to be highlighted, respecting the settโฆ
158| expect(lastFrame()).toMatchSnapshot();
| ^
159| });
160| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[111/172]โฏ
FAIL src/ui/components/ThemeDialog.test.tsx > Hint Visibility > should show hint when theme background matches terminal background
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '(Matches terminal)'
[32m- Expected[39m
[31m+ Received[39m
[32m- (Matches terminal)[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ > Select Theme Preview โ[39m
[31m+ โ โฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ 1. โ โ โ[39m
[31m+ โ 2. โ 1 # function โ โ[39m
[31m+ โ 3. โ 2 def fibonacci(n): โ โ[39m
[31m+ โ โ 4. โ 3 a, b = 0, 1 โ โ[39m
[31m+ โ 5. โ 4 for _ in range(n): โ โ[39m
[31m+ โ 6. โ 5 a, b = b, a + b โ โ[39m
[31m+ โ 7. โ 6 return a โ โ[39m
[31m+ โ 8. โ โ โ[39m
[31m+ โ 9. โ 1 - print("Hello, " + name) โ โ[39m
[31m+ โ 10. โ 1 + print(f"Hello, {name}!") โ โ[39m
[31m+ โ 11. โ โ โ[39m
[31m+ โ 12. โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[39m
[31m+ โ โผ โ[39m
[31m+ โ โ[39m
[31m+ โ (Use Enter to select, Tab to configure scope, Esc to close) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/ThemeDialog.test.tsx:181:25
179| );
180|
181| expect(lastFrame()).toContain('(Matches terminal)');
| ^
182| });
183|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[112/172]โฏ
FAIL src/ui/components/ToolConfirmationQueue.test.tsx > ToolConfirmationQueue > renders expansion hint when content is long and constrained
Error: Snapshot `ToolConfirmationQueue > renders expansion hint when content is long and constrained 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,18 +1,18 @@[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ Action Required โ[22m
[2m โ โ[22m
[2m โ ? replace edit file โ[22m
[2m โ โ[22m
[32m- โ [7m... first 49 lines hidden ...[27m โ[39m
[31m+ โ [7mApply this change? [27m โ[39m
[32m- โ [7m50 line[27m [7mโ[27m[39m
[32m- [7mโ Apply this change?[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ โ 1. [27m [7m [27mโ[39m
[32m- โ [7m [27mโ[39m
[31m+ โ [7m2.[27m โ[39m
[32m- โ [7mโ 1. Allow once[27m โ[39m
[31m+ โ [7m 3. [27m โ[39m
[32m- โ [7m2[27m. [7mAllow for this session[27m โ[39m
[31m+ โ [7m4[27m. [7m [27m [7m [27mโ[39m
[32m- โ [7m3. Modify with external editor[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ [7m4. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[22m
[2m Press ctrl-o to show more lines[22m
โฏ src/ui/components/ToolConfirmationQueue.test.tsx:136:25
134| expect(lastFrame()).toContain('Press ctrl-o to show more lines'),
135| );
136| expect(lastFrame()).toMatchSnapshot();
| ^
137| expect(lastFrame()).toContain('Press ctrl-o to show more lines');
138| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[113/172]โฏ
FAIL src/ui/components/ToolConfirmationQueue.test.tsx > ToolConfirmationQueue > calculates availableContentHeight based on availableTerminalHeight from UI state
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'first 49 lines hidden'
[32m- Expected[39m
[31m+ Received[39m
[32m- first 49 lines hidden[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ Action Required โ[39m
[31m+ โ โ[39m
[31m+ โ ? replace edit file โ[39m
[31m+ โ โ[39m
[31m+ โ Apply this change? โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ 4. โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[31m+ Press ctrl-o to show more lines[39m
[31m+[39m
โฏ src/ui/components/ToolConfirmationQueue.test.tsx:186:45
184| // MaxSizedBox in ToolConfirmationMessage will use 4
185| // It should show truncation message
186| await waitFor(() => expect(lastFrame()).toContain('first 49 lines โฆ
| ^
187| expect(lastFrame()).toMatchSnapshot();
188| });
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/ToolConfirmationQueue.test.tsx:186:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[114/172]โฏ
FAIL src/ui/components/ToolConfirmationQueue.test.tsx > ToolConfirmationQueue > does not render expansion hint when constrainHeight is false
Error: Snapshot `ToolConfirmationQueue > does not render expansion hint when constrainHeight is false 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ Action Required โ[22m
[2m โ โ[22m
[2m โ ? replace edit file โ[22m
[2m โ โ[22m
[32m- โ [7mโญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[27m โ[39m
[31m+ โ [7mApply this change? [27m โ[39m
[32m- โ [7mโ[27m [7mโ[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ [7mโ No changes detected.[27m [7mโ[27m โ[39m
[31m+ โ [7mโ 1. [27m โ[39m
[32m- โ [7mโ[27m [7mโ[27m โ[39m
[31m+ โ [7m2.[27m โ[39m
[32m- โ [7mโฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ[27m[39m
[32m- [7mโ Apply this change?[27m โ[39m
[31m+ โ [7m 3. โ[27m[39m
[31m+ [7mโ 4. [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mโ 1. Allow once[27m [7mโ[27m[39m
[32m- [7mโ 2. Allow for this session[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7m3. Modify with external editor[27m [7mโ[27m[39m
[32m- [7mโ 4. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[22m
[2m "[22m
โฏ src/ui/components/ToolConfirmationQueue.test.tsx:230:20
228| const output = lastFrame();
229| expect(output).not.toContain('Press ctrl-o to show more lines');
230| expect(output).toMatchSnapshot();
| ^
231| });
232| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[115/172]โฏ
FAIL src/ui/components/messages/Todo.test.tsx > (showFullTodos: false) > renders when todos exist and one is in progress
Error: Snapshot ` (showFullTodos: false) > renders when todos exist and one is in progress 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- Todo 1/3 completed (ctrl+t to toggle) ยป[7m Task 2[27m"[39m
[31m+ Todo 1/3 completed (ctrl+t to toggle) ยป"[39m
โฏ src/ui/components/messages/Todo.test.tsx:82:27
80| showFullTodos,
81| });
82| expect(lastFrame()).toMatchSnapshot();
| ^
83| });
84|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[116/172]โฏ
FAIL src/ui/components/messages/Todo.test.tsx > (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on
Error: Snapshot ` (showFullTodos: false) > renders a todo list with long descriptions that wrap when full view is on 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- Todo 1/2 completed (ctrl+t to toggle) ยป[7m This iโฆ[27m"[39m
[31m+ Todo 1/2 completed (ctrl+t to toggle) ยป"[39m
โฏ src/ui/components/messages/Todo.test.tsx:113:27
111| ,
112| );
113| expect(lastFrame()).toMatchSnapshot();
| ^
114| });
115|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[117/172]โฏ
FAIL src/ui/components/messages/Todo.test.tsx > (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history
Error: Snapshot ` (showFullTodos: false) > renders the most recent todo list when multiple write_todos calls are in history 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[22m
[32m- Todo 0/2 completed (ctrl+t to toggle) ยป[7m Newer Task 2[27m"[39m
[31m+ Todo 0/2 completed (ctrl+t to toggle) ยป"[39m
โฏ src/ui/components/messages/Todo.test.tsx:130:27
128| showFullTodos,
129| });
130| expect(lastFrame()).toMatchSnapshot();
| ^
131| });
132|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[118/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > should display urls if prompt and url are different
Error: Snapshot `ToolConfirmationMessage > should display urls if prompt and url are different 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mfetch https://github.com/google/gemini-react/blob/main/README.md[27m[39m
[32m-[39m
[32m- URLs to fetch:[39m
[32m- - https://raw.githubusercontent.com/google/gemini-react/main/README.md[39m
[32m- Do you want to proceed?[39m
[32m-[39m
[32m- โ 1. Allow once[39m
[32m- 2. Allow for this session[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ "[7mDo you want to proceed?[27m[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:85:25
83| );
84|
85| expect(lastFrame()).toMatchSnapshot();
| ^
86| });
87|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[119/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > should display multiple commands for exec type when provided
AssertionError: expected 'Allow execution of 3 commands?\n\nโ 1โฆ' to contain 'echo "hello"'
[32m- Expected[39m
[31m+ Received[39m
[32m- echo "hello"[39m
[31m+ Allow execution of 3 commands?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:110:20
108|
109| const output = lastFrame();
110| expect(output).toContain('echo "hello"');
| ^
111| expect(output).toContain('ls -la');
112| expect(output).toContain('whoami');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[120/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mโญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[27m[39m
[32m- โ โ[39m
[32m- โ No changes detected. โ[39m
[32m- โ โ[39m
[32m- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[32m- Apply this change?[39m
[32m-[39m
[32m- โ 1. Allow once[39m
[32m- 2. Allow for this session[39m
[32m- 3. Modify with external editor[39m
[32m- 4. No, suggest changes (esc)[39m
[31m+ "[7mApply this change?[27m[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:192:29
190| );
191|
192| expect(lastFrame()).toMatchSnapshot();
| ^
193| });
194|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[121/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mโญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[27m[39m
[32m- โ โ[39m
[32m- โ No changes detected. โ[39m
[32m- โ โ[39m
[32m- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[32m- Apply this change?[39m
[32m-[39m
[32m- โ 1. Allow once[39m
[32m- 2. Modify with external editor[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ "[7mApply this change?[27m[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:211:29
209| );
210|
211| expect(lastFrame()).toMatchSnapshot();
| ^
212| });
213| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[122/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mecho "hello"[27m[39m
[32m- Allow execution of: 'echo'?[39m
[31m+ "Allow execution of: 'echo'?[39m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. Allow for this session[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:192:29
190| );
191|
192| expect(lastFrame()).toMatchSnapshot();
| ^
193| });
194|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[123/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mecho "hello"[27m[39m
[32m- Allow execution of: 'echo'?[39m
[31m+ "Allow execution of: 'echo'?[39m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:211:29
209| );
210|
211| expect(lastFrame()).toMatchSnapshot();
| ^
212| });
213| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[124/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mhttps://example.com[27m[39m
[32m- Do you want to proceed?[39m
[31m+ "Do you want to proceed?[39m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. Allow for this session[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:192:29
190| );
191|
192| expect(lastFrame()).toMatchSnapshot();
| ^
193| });
194|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[125/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for info confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mhttps://example.com[27m[39m
[32m- Do you want to proceed?[39m
[31m+ "Do you want to proceed?[39m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:211:29
209| );
210|
211| expect(lastFrame()).toMatchSnapshot();
| ^
212| });
213| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[126/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should show "allow always" when folder is trusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mMCP Server: test-server[27m[39m
[32m- Tool: test-tool[39m
[32m- Allow execution of MCP tool "test-tool" from server "test-server"?[39m
[31m+ "Allow execution of MCP tool "test-tool" from server "test-server"?[39m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. Allow tool for this session[39m
[32m- 3. Allow all server tools for this session[39m
[32m- 4. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:192:29
190| );
191|
192| expect(lastFrame()).toMatchSnapshot();
| ^
193| });
194|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[127/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted
Error: Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "[7mMCP Server: test-server[27m[39m
[32m- Tool: test-tool[39m
[32m- Allow execution of MCP tool "test-tool" from server "test-server"?[39m
[31m+ "Allow execution of MCP tool "test-tool" from server "test-server"?[39m
[32m- โ 1.[7m Allow once[27m[39m
[32m- 2. No, suggest changes (esc)[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+[39m
[31m+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:211:29
209| );
210|
211| expect(lastFrame()).toMatchSnapshot();
| ^
212| });
213| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[128/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when setting is true
AssertionError: expected 'Apply this change?\n\nโ 1.\n 2.\n 3โฆ' to contain 'Allow for all future sessions'
[32m- Expected[39m
[31m+ Received[39m
[32m- A[7mllow for all future sessions[27m[39m
[31m+ A[7mpply this change?[27m[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+ 5.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:273:27
271| );
272|
273| expect(lastFrame()).toContain('Allow for all future sessions');
| ^
274| });
275| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[129/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > Modify with external editor option > should show "Modify with external editor" when NOT in IDE mode
AssertionError: expected 'Apply this change?\n\nโ 1.\n 2.\n 3โฆ' to contain 'Modify with external editor'
[32m- Expected[39m
[31m+ Received[39m
[32m- Modify with external editor[39m
[31m+ Apply this change?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:311:27
309| );
310|
311| expect(lastFrame()).toContain('Modify with external editor');
| ^
312| });
313|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[130/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessage.test.tsx > ToolConfirmationMessage > Modify with external editor option > should show "Modify with external editor" when in IDE mode but diffing is NOT enabled
AssertionError: expected 'Apply this change?\n\nโ 1.\n 2.\n 3โฆ' to contain 'Modify with external editor'
[32m- Expected[39m
[31m+ Received[39m
[32m- Modify with external editor[39m
[31m+ Apply this change?[39m
[31m+[39m
[31m+ โ 1.[39m
[31m+ 2.[39m
[31m+ 3.[39m
[31m+ 4.[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:336:27
334| );
335|
336| expect(lastFrame()).toContain('Modify with external editor');
| ^
337| });
338|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[131/172]โฏ
FAIL src/ui/components/messages/ToolConfirmationMessageOverflow.test.tsx > ToolConfirmationMessage Overflow > should display "press ctrl-o" hint when content overflows in ToolGroupMessage
Error: Snapshot `ToolConfirmationMessage Overflow > should display "press ctrl-o" hint when content overflows in ToolGroupMessage 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[2m โ ? test-tool a test tool โ โ[22m
[2m โ โ[22m
[32m- โ [7m... first 49 lines hidden ...[27m [7mโ[27m[39m
[32m- [7mโ 50 line 50[27m โ[39m
[31m+ โ [7mApply this change? [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7mApply this change?[27m โ[39m
[31m+ โ [7mโ 1. Allow once [27m [7m [27mโ[39m
[32m- โ [7m [27m [7m โ[27m[39m
[32m- [7mโ โ 1. Allow once [27m [7mโ[27m[39m
[32m- [7mโ 2. Allow for this session[27m [7mโ[27m[39m
[32m- [7mโ 3. Modify with external editor[27m [7mโ[27m[39m
[32m- [7mโ 4. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m2. Allow for this session[27m [7mโ[27m[39m
[31m+ โ 3. Modify with external editor โ[39m
[31m+ [7mโ 4. No, suggest changes (esc)[27m [7m โ[27m[39m
[31m+ [7mโ[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[22m
[2m Press ctrl-o to show more lines"[22m
โฏ src/ui/components/messages/ToolConfirmationMessageOverflow.test.tsx:125:21
123| );
124| expect(hintIndex).toBeGreaterThan(bottomBorderIndex);
125| expect(frame).toMatchSnapshot();
| ^
126| }
127| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[132/172]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Golden Snapshots > renders tool call awaiting confirmation
Error: Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ ? confirmation-tool This tool needs confirmation [7mโ[27m โ[39m
[31m+ โ ? confirmation-tool This tool needs confirmation [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ Test result โ[22m
[32m- โ [7mAre you sure[27m you want to proceed? โ[39m
[31m+ โ [7mDo[27m you want to proceed? [7m [27m[7m [27mโ[39m
[32m- โ [7mDo you want to proceed?[27m [7mโ[27m[39m
[32m- [7mโ[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ โ 1.[27m โ[39m
[32m- โ [7mโ 1. Allow once[27m โ[39m
[31m+ โ [7m 2. [27m โ[39m
[32m- โ [7m2. Allow for this session[27m โ[39m
[31m+ โ [7m3. [27m โ[39m
[32m- โ [7m3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:138:27
136| },
137| );
138| expect(lastFrame()).toMatchSnapshot();
| ^
139| unmount();
140| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[133/172]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Confirmation Handling > shows confirmation dialog for first confirming tool only
Error: Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -1,15 +1,15 @@[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ ? first-confirm A tool for testing [7mโ[27m โ[39m
[31m+ โ ? first-confirm A tool for testing [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ Test result โ[22m
[32m- โ [7mConfirm first tool[27m [7mโ[27m[39m
[32m- [7mโ Do you want to proceed?[27m โ[39m
[31m+ โ [7mDo you want to proceed? [27m [7m โ[27m[39m
[31m+ [7mโ[27m [7m [27m โ[39m
[32m- โ [7m [27m [7m [27mโ[39m
[31m+ โ [7mโ 1.[27m โ[39m
[32m- โ [7mโ 1. Allow once[27m โ[39m
[31m+ โ [7m 2. [27m [7m [27mโ[39m
[32m- โ [7m2. Allow for this session[27m โ[39m
[31m+ โ [7m3. [27m โ[39m
[32m- โ [7m3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m [27m[7m [27m โ[39m
[2m โ โ[22m
[2m โ โ[22m
[2m โ ? second-confirm A tool for testing โ[22m
[2m โ โ[22m
[2m โ Test result โ[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:529:27
527| );
528| // Should only show confirmation for the first tool
529| expect(lastFrame()).toMatchSnapshot();
| ^
530| unmount();
531| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[134/172]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Confirmation Handling > renders confirmation with permanent approval enabled
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Allow for all future sessions'
[32m- Expected[39m
[31m+ Received[39m
[32m- Allow for all future sessions[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ ? confirm-tool A tool for testing โ โ[39m
[31m+ โ โ[39m
[31m+ โ Test result โ[39m
[31m+ โ Do you want to proceed? โ[39m
[31m+ โ โ[39m
[31m+ โ โ 1. โ[39m
[31m+ โ 2. โ[39m
[31m+ โ 3. โ[39m
[31m+ โ 4. โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:566:27
564| },
565| );
566| expect(lastFrame()).toContain('Allow for all future sessions');
| ^
567| expect(lastFrame()).toMatchSnapshot();
568| unmount();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[135/172]โฏ
FAIL src/ui/components/messages/ToolGroupMessage.test.tsx > > Confirmation Handling > renders confirmation with permanent approval disabled
Error: Snapshot ` > Confirmation Handling > renders confirmation with permanent approval disabled 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ ? confirm-tool A tool for testing [7mโ[27m โ[39m
[31m+ โ ? confirm-tool A tool for testing [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ Test result โ[22m
[2m โ Do you want to proceed? โ[22m
[32m- โ [7mDo you want to proceed?[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ [7m [27m โ[39m
[31m+ โ [7mโ 1.[27m โ[39m
[32m- โ [7mโ 1. Allow once[27m โ[39m
[31m+ โ [7m 2. [27m โ[39m
[32m- โ [7m2[27m. [7mAllow for this session[27m [7mโ[27m[39m
[32m- [7mโ 3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m3[27m. [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:597:27
595| );
596| expect(lastFrame()).not.toContain('Allow for all future sessionsโฆ
597| expect(lastFrame()).toMatchSnapshot();
| ^
598| unmount();
599| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[136/172]โฏ
FAIL src/ui/components/messages/ToolMessage.test.tsx > > renders emphasis correctly
Error: Snapshot ` > renders emphasis correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ โ test-tool A tool for testing [7mโ[27m โ[39m
[31m+ โ โ test-tool A tool for testing [7mโ[27m โ[39m
[2m โ โ[22m
[2m โ MockMarkdown:Test result โ"[22m
โฏ src/ui/components/messages/ToolMessage.test.tsx:329:33
327| );
328| // Check for trailing indicator or specific color if applicable (Cโฆ
329| expect(highEmphasisFrame()).toMatchSnapshot();
| ^
330|
331| const { lastFrame: lowEmphasisFrame } = renderWithContext(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[137/172]โฏ
FAIL src/ui/components/messages/ToolMessageFocusHint.test.tsx > Focus Hint > 'ShellToolMessage' > shows focus hint after delay even with NO output
Error: Snapshot `Focus Hint > 'ShellToolMessage' > shows focus hint after delay even with NO output > after-delay-no-output 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ Shell Command A tool for testing [7m [27m [7m(Tab to focus)[27m โ[39m
[31m+ โ Shell Command A tool for testing [7m(Tab to focus)[27m [7m [27m โ[39m
[2m โ โ"[22m
โฏ src/ui/components/messages/ToolMessageFocusHint.test.tsx:79:27
77|
78| // Now it SHOULD contain the focus hint
79| expect(lastFrame()).toMatchSnapshot('after-delay-no-output');
| ^
80| expect(lastFrame()).toContain('(Tab to focus)');
81| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[138/172]โฏ
FAIL src/ui/components/messages/ToolMessageFocusHint.test.tsx > Focus Hint > 'ShellToolMessage' > shows focus hint after delay with output
Error: Snapshot `Focus Hint > 'ShellToolMessage' > shows focus hint after delay with output > after-delay-with-output 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[2m "โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[22m
[32m- โ Shell Command A tool for testing [7m [27m [7m(Tab to focus)[27m โ[39m
[31m+ โ Shell Command A tool for testing [7m(Tab to focus)[27m [7m [27m โ[39m
[2m โ โ"[22m
โฏ src/ui/components/messages/ToolMessageFocusHint.test.tsx:97:27
95| });
96|
97| expect(lastFrame()).toMatchSnapshot('after-delay-with-output');
| ^
98| expect(lastFrame()).toContain('(Tab to focus)');
99| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[139/172]โฏ
FAIL src/ui/components/messages/ToolStickyHeaderRegression.test.tsx > ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers
AssertionError: expected '\n\n\n\n' to contain 'Shell Command'
[32m- Expected[39m
[31m+ Received[39m
[32m- Shell Command[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx:191:27
189|
190| await waitFor(() => {
191| expect(lastFrame()).toContain(SHELL_COMMAND_NAME);
| ^
192| });
193| expect(lastFrame()).toMatchSnapshot();
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx:190:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[140/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially
AssertionError: expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:315:22
313| const output = lastFrame();
314|
315| expect(output).toContain('Item 1');
| ^
316| expect(output).toContain('Item 3');
317| expect(output).not.toContain('Item 4');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[141/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll down when activeIndex moves beyond the visible window
AssertionError: expected ' 2. I\n t\n e\n m\n โฆ' to contain 'Item 2'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 2[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ โ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:330:24
328| const output = lastFrame();
329| expect(output).not.toContain('Item 1');
330| expect(output).toContain('Item 2');
| ^
331| expect(output).toContain('Item 4');
332| expect(output).not.toContain('Item 5');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:327:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[142/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll up when activeIndex moves before the visible window
AssertionError: expected ' 3. I\n t\n e\n m\n โฆ' to contain 'Item 3'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 3[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
[31m+ โ 5. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 5[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:343:24
341| await waitFor(() => {
342| const output = lastFrame();
343| expect(output).toContain('Item 3'); // Should see items 3, 4, 5
| ^
344| expect(output).toContain('Item 5');
345| expect(output).not.toContain('Item 2');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:341:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[143/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should pin the scroll offset to the end if selection starts near the end
AssertionError: expected ' 8. I\n t\n e\n m\n โฆ' to contain 'Item 10'
[32m- Expected[39m
[31m+ Received[39m
[32m- [7mItem 1[27m0[39m
[31m+ 8. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 8[39m
[31m+ 9. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 9[39m
[31m+ โ 10. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ [7m [27m0[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:368:24
366| await waitFor(() => {
367| const output = lastFrame();
368| expect(output).toContain('Item 10');
| ^
369| expect(output).toContain('Item 8');
370| expect(output).not.toContain('Item 7');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:366:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[144/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes
AssertionError: expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:377:27
375| const { updateActiveIndex, lastFrame } = renderScrollableList(0);
376|
377| expect(lastFrame()).toContain('Item 1');
| ^
378| expect(lastFrame()).toContain('Item 3');
379|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[145/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length
AssertionError: expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 2[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 3[39m
[31m+ 4. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 4[39m
[31m+ 5. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 5[39m
[31m+ 6. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 6[39m
[31m+ 7. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 7[39m
[31m+ 8. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 8[39m
[31m+ 9. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 9[39m
[31m+ 10. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ 1[39m
[31m+ 0[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:442:22
440|
441| // Should show all available items (10 items)
442| expect(output).toContain('Item 1');
| ^
443| expect(output).toContain('Item 10');
444| expect(mockRenderItem).toHaveBeenCalledTimes(10);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[146/172]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows when list fits entirely
Error: Snapshot `BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows when list fits entirely 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[32m- "โ 1. I[7mtem A[27m[39m
[32m- 2. Item B[39m
[32m- [7m 3. Item[27m C"[39m
[31m+ "โ 1. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ A[39m
[31m+ 2. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ B[39m
[31m+ 3. I[39m
[31m+ t[39m
[31m+ e[39m
[31m+ m[39m
[31m+ [7m [27m C"[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:511:27
509| });
510|
511| expect(lastFrame()).toMatchSnapshot();
| ^
512| });
513| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[147/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > rendering > should render all items
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
[32m- Expected[39m
[31m+ Received[39m
[32m- Boolean Setting[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E o โ[39m
[31m+ โ n p โ[39m
[31m+ โ u t โ[39m
[31m+ โ m i โ[39m
[31m+ โ S o โ[39m
[31m+ โ e n โ[39m
[31m+ โ t - โ[39m
[31m+ โ t a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:135:21
133| const frame = lastFrame();
134|
135| expect(frame).toContain('Boolean Setting');
| ^
136| expect(frame).toContain('String Setting');
137| expect(frame).toContain('Number Setting');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[148/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > rendering > should render help text with Ctrl+L for reset
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Use Enter to select'
[32m- Expected[39m
[31m+ Received[39m
[32m- Use Enter to select[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E o โ[39m
[31m+ โ n p โ[39m
[31m+ โ u t โ[39m
[31m+ โ m i โ[39m
[31m+ โ S o โ[39m
[31m+ โ e n โ[39m
[31m+ โ t - โ[39m
[31m+ โ t a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:145:21
143| const frame = lastFrame();
144|
145| expect(frame).toContain('Use Enter to select');
| ^
146| expect(frame).toContain('Ctrl+L to reset');
147| expect(frame).toContain('Tab to change focus');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[149/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > rendering > should render scope selector when showScopeSelector is true
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Apply To'
[32m- Expected[39m
[31m+ Received[39m
[32m- Apply To[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E o โ[39m
[31m+ โ n p โ[39m
[31m+ โ u t โ[39m
[31m+ โ m i โ[39m
[31m+ โ S o โ[39m
[31m+ โ e n โ[39m
[31m+ โ t - โ[39m
[31m+ โ t a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:157:27
155| });
156|
157| expect(lastFrame()).toContain('Apply To');
| ^
158| });
159|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[150/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > rendering > should render footer content when provided
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Custom Footer'
[32m- Expected[39m
[31m+ Received[39m
[32m- Custom Footer[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E o โ[39m
[31m+ โ n p โ[39m
[31m+ โ u t โ[39m
[31m+ โ m i โ[39m
[31m+ โ S o โ[39m
[31m+ โ e n โ[39m
[31m+ โ t - โ[39m
[31m+ โ t a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ C โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ m โ[39m
[31m+ โ F โ[39m
[31m+ โ o โ[39m
[31m+ โ o โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:173:27
171| });
172|
173| expect(lastFrame()).toContain('Custom Footer');
| ^
174| });
175| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[151/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > keyboard navigation > should navigate down with arrow key
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
[32m- Expected[39m
[31m+ Received[39m
[32m- Boolean Setting[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E o โ[39m
[31m+ โ n p โ[39m
[31m+ โ u t โ[39m
[31m+ โ m i โ[39m
[31m+ โ S o โ[39m
[31m+ โ e n โ[39m
[31m+ โ t - โ[39m
[31m+ โ t a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:195:28
193| // Initially first item is active (indicated by bullet point)
194| const initialFrame = lastFrame();
195| expect(initialFrame).toContain('Boolean Setting');
| ^
196|
197| // Press down arrow
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[152/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > keyboard navigation > should switch focus with Tab when scope selector is shown
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '> Test Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- > Test Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E o โ[39m
[31m+ โ n p โ[39m
[31m+ โ u t โ[39m
[31m+ โ m i โ[39m
[31m+ โ S o โ[39m
[31m+ โ e n โ[39m
[31m+ โ t - โ[39m
[31m+ โ t a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:266:27
264|
265| // Initially settings section is focused (indicated by >)
266| expect(lastFrame()).toContain('> Test Settings');
| ^
267|
268| // Press Tab to switch to scope selector
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[153/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > scrolling and resizing list (search filtering) > should preserve focus on the active item if it remains in the filtered list
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
[32m- Expected[39m
[31m+ Received[39m
[32m- Boolean Setting[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ N 4 โ[39m
[31m+ โ u 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ E v โ[39m
[31m+ โ x a โ[39m
[31m+ โ t l โ[39m
[31m+ โ r u โ[39m
[31m+ โ a e โ[39m
[31m+ โ S - โ[39m
[31m+ โ e 4 โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ 4 โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:316:23
314| await waitFor(() => {
315| const frame = lastFrame();
316| expect(frame).toContain('Boolean Setting');
| ^
317| expect(frame).toContain('Number Setting');
318| expect(frame).toContain('Extra Setting 4');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:314:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[154/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > scrolling and resizing list (search filtering) > should reset focus to the top if the active item is filtered out
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Boolean Setting'
[32m- Expected[39m
[31m+ Received[39m
[32m- Boolean Setting[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ B t โ[39m
[31m+ โ o r โ[39m
[31m+ โ o u โ[39m
[31m+ โ l e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:367:23
365| await waitFor(() => {
366| const frame = lastFrame();
367| expect(frame).toContain('Boolean Setting');
| ^
368| expect(frame).toContain('String Setting');
369| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:365:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[155/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > item interactions > should enter edit mode for string items on Enter
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'test-value'
[32m- Expected[39m
[31m+ Received[39m
[32m- test-value[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ S t โ[39m
[31m+ โ t e โ[39m
[31m+ โ r s โ[39m
[31m+ โ i t โ[39m
[31m+ โ n - โ[39m
[31m+ โ g v โ[39m
[31m+ โ S a โ[39m
[31m+ โ e l โ[39m
[31m+ โ t u โ[39m
[31m+ โ t e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:435:23
433| const frame = lastFrame();
434| // In edit mode, the value should be displayed (possibly with โฆ
435| expect(frame).toContain('test-value');
| ^
436| });
437| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:432:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[156/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > item interactions > should enter edit mode for number items on Enter
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '42'
[32m- Expected[39m
[31m+ Received[39m
[32m- 42[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ 4 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ T โ[39m
[31m+ โ a โ[39m
[31m+ โ b โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ h โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ e โ[39m
[31m+ โ f โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ u โ[39m
[31m+ โ s โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:452:23
450| await waitFor(() => {
451| const frame = lastFrame();
452| expect(frame).toContain('42');
| ^
453| });
454| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:450:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[157/172]โฏ
FAIL src/ui/components/shared/BaseSettingsDialog.test.tsx > BaseSettingsDialog > focus management > should keep focus on settings when scope selector is hidden
AssertionError: expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain '> Test Settings'
[32m- Expected[39m
[31m+ Received[39m
[32m- > Test Settings[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ e โ[39m
[31m+ โ a โ[39m
[31m+ โ n โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ t โ[39m
[31m+ โ - โ[39m
[31m+ โ v โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ u โ[39m
[31m+ โ e โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ 4 โ[39m
[31m+ โ 2 โ[39m
[31m+ โ m โ[39m
[31m+ โ b โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ S โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ o โ[39m
[31m+ โ p โ[39m
[31m+ โ t โ[39m
[31m+ โ i โ[39m
[31m+ โ o โ[39m
[31m+ โ n โ[39m
[31m+ โ - โ[39m
[31m+ โ a โ[39m
[31m+ โ i โ[39m
[31m+ โ n โ[39m
[31m+ โ g โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ ( โ[39m
[31m+ โ U โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ E โ[39m
[31m+ โ n โ[39m
[31m+ โ t โ[39m
[31m+ โ e โ[39m
[31m+ โ r โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ l โ[39m
[31m+ โ e โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ C โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ l โ[39m
[31m+ โ + โ[39m
[31m+ โ L โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ r โ[39m
[31m+ โ e โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ t โ[39m
[31m+ โ , โ[39m
[31m+ โ E โ[39m
[31m+ โ s โ[39m
[31m+ โ c โ[39m
[31m+ โ t โ[39m
[31m+ โ o โ[39m
[31m+ โ c โ[39m
[31m+ โ l โ[39m
[31m+ โ o โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ ) โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:667:29
665| await waitFor(() => {
666| // Should still show settings as focused
667| expect(lastFrame()).toContain('> Test Settings');
| ^
668| });
669| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSettingsDialog.test.tsx:665:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[158/172]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up
AssertionError: expected '\n โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Item 1001'
[32m- Expected[39m
[31m+ Received[39m
[32m- [7mItem[27m 1001[39m
[31m+[39m
[31m+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โ โ[39m
[31m+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[39m
[31m+ [7m Count:[27m 1001[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:160:26
158| expect(lastFrame!()).toContain('Count: 1001');
159| });
160| expect(lastFrame!()).toContain('Item 1001');
| ^
161| expect(lastFrame!()).not.toContain('Item 990'); // Should have scrโฆ
162|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[159/172]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > should display sticky header when scrolled past the item
AssertionError: expected '\n\n\n\n\n\n\n\n\n' to contain '[Normal] Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- [Normal] Item 1[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:247:28
245| // Initially at top, should see Normal Item 1
246| await waitFor(() => {
247| expect(lastFrame!()).toContain('[Normal] Item 1');
| ^
248| });
249| expect(lastFrame!()).not.toContain('[STICKY] Item 1');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/ScrollableList.test.tsx:246:5
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[160/172]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > Keyboard Navigation > should handle scroll keys correctly
AssertionError: expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 0[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:322:28
320|
321| // Initial state
322| expect(lastFrame!()).toContain('Item 0');
| ^
323| expect(listRef).toBeDefined();
324| expect(listRef!.getScrollState()?.scrollTop).toBe(0);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[161/172]โฏ
FAIL src/ui/components/shared/ScrollableList.test.tsx > ScrollableList Demo Behavior > Width Prop > should apply the width prop to the container
AssertionError: expected '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
[31m+[39m
โฏ src/ui/components/shared/ScrollableList.test.tsx:406:29
404|
405| await waitFor(() => {
406| expect(lastFrame()).toContain('Item 1');
| ^
407| });
408| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/ScrollableList.test.tsx:405:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[162/172]โฏ
FAIL src/ui/components/shared/performance.test.ts > text-buffer performance > should handle character-by-character insertion in a large buffer efficiently
AssertionError: expected 9315 to be less than 5000
โฏ src/ui/components/shared/performance.test.ts:69:22
67|
68| const duration = end - start;
69| expect(duration).toBeLessThan(5000);
| ^
70| });
71|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[163/172]โฏ
FAIL src/ui/components/shared/text-buffer.test.ts > useTextBuffer > Input Sanitization > should sanitize large text (>5000 chars) and strip unsafe characters
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/shared/text-buffer.test.ts:2046:5
2044| });
2045|
2046| it('should sanitize large text (>5000 chars) and strip unsafe charโฆ
| ^
2047| const { result } = renderHook(() =>
2048| useTextBuffer({ viewport, isValidPath: () => false }),
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[164/172]โฏ
FAIL src/ui/components/shared/text-buffer.test.ts > useTextBuffer > Input Sanitization > should sanitize large ANSI text (>5000 chars) and strip escape codes
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/ui/components/shared/text-buffer.test.ts:2077:5
2075| });
2076|
2077| it('should sanitize large ANSI text (>5000 chars) and strip escapeโฆ
| ^
2078| const { result } = renderHook(() =>
2079| useTextBuffer({ viewport, isValidPath: () => false }),
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[165/172]โฏ
โฏโฏโฏโฏโฏโฏ Unhandled Errors โฏโฏโฏโฏโฏโฏ
Vitest caught 1 unhandled error during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
โฏโฏโฏโฏโฏโฏ Unhandled Error โฏโฏโฏโฏโฏโฏโฏ
Error: [vitest-worker]: Timeout calling "onTaskUpdate"
โฏ Object.onTimeoutError ../../node_modules/vitest/dist/chunks/rpc.-pEldfrD.js:53:10
โฏ Timeout._onTimeout ../../node_modules/vitest/dist/chunks/index.B521nVV-.js:59:62
โฏ listOnTimeout node:internal/timers:605:17
โฏ processTimers node:internal/timers:541:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ
Snapshots 15 written
83 failed
12 obsolete
โณ src/ui/components/messages/ToolGroupMessage.test.tsx
ยท > Confirmation Handling > renders confirmation with permanent approval enabled 1
โณ src/ui/components/messages/ToolMessage.test.tsx
ยท > renders emphasis correctly 2
โณ src/ui/components/ModelStatsDisplay.test.tsx
ยท > should display a single model correctly 1
ยท > should display stats for multiple models correctly 1
ยท > should handle models with long names (gemini-3-*-preview) without layout breaking 1
โณ src/ui/components/messages/ToolConfirmationMessage.test.tsx
ยท ToolConfirmationMessage > should display multiple commands for exec type when provided 1
โณ src/ui/components/RewindViewer.test.tsx
ยท RewindViewer > updates content when conversation changes (background update) > after-update 1
ยท RewindViewer > updates selection and expansion on navigation > after-down 1
โณ src/ui/App.test.tsx
ยท App > should render ToolConfirmationQueue along with Composer when tool is confirming and experiment is on 1
โณ src/ui/components/ToolConfirmationQueue.test.tsx
ยท ToolConfirmationQueue > calculates availableContentHeight based on availableTerminalHeight from UI state 1
โณ src/ui/components/messages/ToolStickyHeaderRegression.test.tsx
ยท ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers 1
ยท ToolMessage Sticky Header Regression > verifies that ShellToolMessage in a ToolGroupMessage in a ScrollableList has sticky headers 2
Test Files 39 failed | 326 passed (365)
Tests 170 failed | 4708 passed | 2 skipped (4880)
Errors 1 error
Start at 04:10:35
Duration 772.89s (transform 435.37s, setup 178.93s, collect 16581.97s, tests 1245.26s, environment 2.91s, prepare 655.20s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/cli/junit.xml
npm error Lifecycle script `test` failed with error:
npm error code 1
npm error path /build/gemini-cli/src/gemini-cli/packages/cli
npm error workspace @google/gemini-cli@0.28.2
npm error location /build/gemini-cli/src/gemini-cli/packages/cli
npm error command failed
npm error command sh -c vitest run
> @google/gemini-cli-core@0.28.2 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/core
Coverage enabled with v8
โ src/services/modelConfigService.test.ts (31 tests) 137ms
โ src/utils/memoryImportProcessor.test.ts (25 tests) 1161ms
โ memoryImportProcessor > processImports > should process basic md file imports 620ms
โ src/services/sessionSummaryService.test.ts (33 tests) 1044ms
โ src/mcp/oauth-provider.test.ts (40 tests) 3224ms
โ MCPOAuthProvider > authenticate > should perform complete OAuth flow with PKCE 344ms
โ MCPOAuthProvider > authenticate > should handle invalid callback request 1043ms
โ src/utils/editCorrector.test.ts (42 tests) 497ms
โ src/tools/mcp-tool.test.ts (43 tests) 1065ms
โ DiscoveredMCPTool > constructor > should set properties correctly 584ms
โ src/policy/policy-engine.test.ts (70 tests) 1022ms
โ src/utils/fileUtils.test.ts (85 tests) 1531ms
โ src/hooks/hookRunner.test.ts (24 tests) 1029ms
โ src/utils/googleQuotaErrors.test.ts (25 tests) 370ms
โ src/services/shellExecutionService.test.ts (53 tests) 6206ms
โ ShellExecutionService > Successful Execution > should execute a command and capture output 320ms
โ ShellExecutionService > Successful Execution > should capture large output (10000 lines) 2213ms
โ ShellExecutionService child_process fallback > Successful Execution > should truncate stdout using a sliding window and show a warning 540ms
โ ShellExecutionService environment variables > should use a sanitized environment when in a GitHub run 305ms
โ src/code_assist/admin/admin_controls.test.ts (38 tests) 898ms
โ src/tools/ripGrep.test.ts (58 tests | 1 skipped) 5910ms
โ RipGrepTool > validateToolParams > should return null for valid params ('pattern only') 855ms
โ src/hooks/hookRegistry.test.ts (24 tests) 760ms
โ src/tools/grep.test.ts (26 tests) 3581ms
โ GrepTool > validateToolParams > should return null for valid params (pattern only) 886ms
โ GrepTool > execute > should find matches for a simple pattern in all files 490ms
โ src/ide/ide-client.test.ts (26 tests) 1100ms
โ src/telemetry/memory-monitor.test.ts (31 tests) 961ms
โฏ src/policy/config.test.ts (21 tests | 1 failed) 38558ms
ร createPolicyEngineConfig > should filter out insecure system policy directories 6233ms
โ Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โ createPolicyEngineConfig > should return ASK_USER for write tools and ALLOW for read-only tools by default 2564ms
โ createPolicyEngineConfig > should allow tools in tools.allowed 1795ms
โ createPolicyEngineConfig > should deny tools in tools.exclude 1536ms
โ createPolicyEngineConfig > should allow tools from allowed MCP servers 1689ms
โ createPolicyEngineConfig > should deny tools from excluded MCP servers 1439ms
โ createPolicyEngineConfig > should allow tools from trusted MCP servers 1207ms
โ createPolicyEngineConfig > should handle multiple MCP server configurations together 1886ms
โ createPolicyEngineConfig > should allow all tools in YOLO mode 2691ms
โ createPolicyEngineConfig > should allow edit tool in AUTO_EDIT mode 1730ms
โ createPolicyEngineConfig > should prioritize exclude over allow 1032ms
โ createPolicyEngineConfig > should prioritize specific tool allows over MCP server excludes 1085ms
โ createPolicyEngineConfig > should handle MCP server allows and tool excludes 1238ms
โ createPolicyEngineConfig > should handle complex priority scenarios correctly 1494ms
โ createPolicyEngineConfig > should handle MCP servers with undefined trust property 1525ms
โ createPolicyEngineConfig > should have YOLO allow-all rule beat write tool rules in YOLO mode 1756ms
โ createPolicyEngineConfig > should support argsPattern in policy rules 1581ms
โ createPolicyEngineConfig > should load safety_checker configuration from TOML 1384ms
โ createPolicyEngineConfig > should reject invalid in-process checker names 1946ms
โ createPolicyEngineConfig > should have default ASK_USER rule for discovered tools 1328ms
โ createPolicyEngineConfig > should normalize legacy "ShellTool" alias to "run_shell_command" 1384ms
โ src/scheduler/scheduler.test.ts (27 tests) 2012ms
โ Scheduler (Orchestrator) > Phase 2: Queue Management > cancelAll() should clear the requestQueue and reject pending promises 455ms
(node:24744) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/agents/registry.test.ts (47 tests) 2764ms
โ AgentRegistry > initialize > should use agentCardUrl as hash for acknowledgement of remote agents 382ms
โ AgentRegistry > inheritance and refresh > should update inherited models when the main model changes 596ms
โ src/utils/generateContentResponseUtilities.test.ts (48 tests) 516ms
โ src/core/turn.test.ts (22 tests) 507ms
โ src/telemetry/loggers.test.ts (37 tests) 2981ms
โ loggers > logChatCompression > logs the chat compression event to Clearcut 362ms
โ loggers > logCliConfiguration > should log the cli configuration 579ms
โ src/services/chatCompressionService.test.ts (26 tests) 2582ms
โ ChatCompressionService > Reverse Token Budget Truncation > should truncate older function responses when budget is exceeded 301ms
โ ChatCompressionService > Reverse Token Budget Truncation > should fallback to original content and still update budget if truncation fails 1130ms
โ src/core/baseLlmClient.test.ts (29 tests) 1871ms
โ BaseLlmClient > generateJson - Response Cleaning > should clean JSON wrapped in markdown backticks and log telemetry 444ms
โ src/tools/write-file.test.ts (35 tests) 4193ms
โ WriteFileTool > build > should return an invocation for a valid absolute path within root 1025ms
โ WriteFileTool > build > should throw an error for a path outside root 389ms
โ WriteFileTool > build > should throw an error if path is a directory 508ms
โ src/tools/mcp-client.test.ts (57 tests) 5847ms
โ mcp-client > McpClient > should discover tools 306ms
โ mcp-client > McpClient > should discover resources when a server only exposes resources 326ms
โ mcp-client > McpClient > refreshes registry when resource list change notification is received 619ms
โ mcp-client > Dynamic Tool Updates > should abort discovery and log error if timeout is exceeded during refresh 364ms
โ connectToMcpServer with OAuth > should discover oauth config if not in www-authenticate header 1684ms
โ src/utils/memoryDiscovery.test.ts (29 tests) 3007ms
โ memoryDiscovery > should ignore specified directories during downward scan 554ms
โ memoryDiscovery > should respect the maxDirs parameter during downward scan 437ms
โ src/tools/shell.test.ts (37 tests | 1 skipped) 6103ms
โ ShellTool > build > should return an invocation for a valid command 1622ms
โ ShellTool > execute > should wrap command on linux and parse pgrep output 325ms
โ ShellTool > execute > should use the provided absolute directory as cwd 383ms
โ ShellTool > shouldConfirmExecute > should request confirmation for a new command and allowlist it on "Always" 505ms
โ src/core/coreToolScheduler.test.ts (22 tests) 4204ms
โ CoreToolScheduler > should cancel all tools when cancelAll is called 312ms
โ CoreToolScheduler > should mark tool call as cancelled when abort happens during confirmation error 1567ms
โ CoreToolScheduler with payload > should update args and diff and execute tool when payload is provided 711ms
โ src/tools/edit.test.ts (41 tests) 5582ms
โ EditTool > validateToolParams > should return null for valid params 1835ms
โ EditTool > execute > should return error if old_string is not found in file 407ms
โ EditTool > execute > should succeed if FixLLMEditWithInstruction corrects the params 326ms
โ src/config/config.test.ts (143 tests) 7473ms
โ Server Config (config.ts) > initialize > should not throw an error if checkpointing is disabled and GitService fails 571ms
โ Server Config (config.ts) > initialize > should not await MCP initialization in interactive mode 320ms
โ Config Quota & Preview Model Access > refreshUserQuota > should return undefined if retrieveUserQuota fails 311ms
โ Plans Directory Initialization > should create plans directory and add it to workspace context when plan is enabled 624ms
โ src/code_assist/oauth2.test.ts (31 tests) 2773ms
โ oauth2 > with encrypted flag false > should perform a web login 383ms
โ oauth2 > with encrypted flag false > should clear credentials file 383ms
โ oauth2 > with encrypted flag false > should perform login with user code 527ms
โ src/core/logger.test.ts (39 tests) 2410ms
โ Logger > initialize > should create .gemini directory and an empty log file if none exist 702ms
โ src/hooks/hookEventHandler.test.ts (14 tests) 547ms
(node:24663) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/agents/local-executor.test.ts (37 tests) 3672ms
โ LocalAgentExecutor > create (Initialization and Validation) > should correctly apply templates to initialMessages 803ms
โ LocalAgentExecutor > Edge Cases and Error Handling > should throw and log if GeminiChat creation fails 633ms
โ LocalAgentExecutor > run (Recovery Turns) > should fail recovery from a protocol violation if it violates again 423ms
(node:24720) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/telemetry/clearcut-logger/clearcut-logger.test.ts (54 tests) 6556ms
โ ClearcutLogger > getInstance > returns an instance if usage statistics are enabled 680ms
โ ClearcutLogger > createLogEvent > logs the GPU information (single GPU) 907ms
โ ClearcutLogger > enqueueLogEvent > should evict the oldest event when the queue is full 819ms
โ ClearcutLogger > requeueFailedEvents logic > should not requeue more events than available space in the queue 768ms
โ src/services/loopDetectionService.test.ts (48 tests) 5090ms
โ LoopDetectionService > Tool Call Loop Detection > should not detect a loop for fewer than TOOL_CALL_LOOP_THRESHOLD identical calls 482ms
โ LoopDetectionService > Content Loop Detection > should not detect a loop for random content 1368ms
โ LoopDetectionService > Content Loop Detection > should not detect a loop if repetitions are very far apart 444ms
โ LoopDetectionService > Content Loop Detection with Code Blocks > should reset tracking for various list item formats 321ms
โ LoopDetectionService > Content Loop Detection with Code Blocks > should reset tracking for various heading levels 316ms
โ src/tools/read-many-files.test.ts (31 tests) 5966ms
โ ReadManyFilesTool > build > should return an invocation for valid relative paths within root 809ms
โ ReadManyFilesTool > build > should return an invocation for valid glob patterns within root 442ms
โ ReadManyFilesTool > build > should throw error if paths array is empty 333ms
โ ReadManyFilesTool > execute > should read a single specified file 645ms
โ src/utils/retry.test.ts (30 tests) 665ms
โ src/ide/ide-connection-utils.test.ts (35 tests | 1 skipped) 466ms
โ src/utils/editor.test.ts (123 tests) 561ms
โ src/utils/paths.test.ts (93 tests | 17 skipped) 302ms
โ src/core/geminiChat.test.ts (48 tests) 10295ms
โ GeminiChat > constructor > should initialize lastPromptTokenCount based on history size 561ms
โ GeminiChat > sendMessageStream > should fail if the stream ends with an empty part and has no finishReason 618ms
โ GeminiChat > sendMessageStream > should throw an error when a tool call is followed by an empty stream response 602ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when no tool call and no finish reason 548ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when no tool call and empty response text 569ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when finishReason is MALFORMED_FUNCTION_CALL 555ms
โ GeminiChat > sendMessageStream > should retry when finishReason is MALFORMED_FUNCTION_CALL 561ms
โ GeminiChat > sendMessageStream with retries > should yield a RETRY event when an invalid stream is encountered 547ms
โ GeminiChat > sendMessageStream with retries > should retry on invalid content, succeed, and report metrics 548ms
โ GeminiChat > sendMessageStream with retries > should set temperature to 1 on retry 546ms
โ GeminiChat > sendMessageStream with retries > should fail after all retries on persistent invalid content and report metrics 536ms
โ GeminiChat > should correctly retry and append to an existing history mid-conversation 576ms
โ GeminiChat > should retry if the model returns a completely empty stream (no chunks) 588ms
โ GeminiChat > should discard valid partial content from a failed attempt upon retry 561ms
โ src/utils/workspaceContext.test.ts (38 tests) 884ms
โ src/core/prompts.test.ts (46 tests) 1574ms
โ src/utils/systemEncoding.test.ts (38 tests) 853ms
โ src/services/fileDiscoveryService.test.ts (34 tests) 1731ms
โ FileDiscoveryService > initialization > should initialize git ignore parser by default in a git repo 358ms
โ src/scheduler/state-manager.test.ts (29 tests) 534ms
โ src/routing/strategies/numericalClassifierStrategy.test.ts (19 tests) 536ms
โ src/core/client.test.ts (72 tests | 1 skipped) 10299ms
โ Gemini Client (client.ts) > addHistory > should call chat.addHistory with the provided content 1129ms
โ Gemini Client (client.ts) > sendMessageStream > should stop infinite loop after MAX_TURNS when nextSpeaker always returns model 421ms
โ Gemini Client (client.ts) > sendMessageStream > should respect MAX_TURNS limit even when turns parameter is set to a large value 350ms
โ src/policy/shell-safety.test.ts (23 tests) 592ms
(node:26533) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/tools/memoryTool.test.ts (19 tests) 1114ms
โ MemoryTool > execute (instance method) > should call performAddMemoryEntry with correct parameters and return success 622ms
โ src/tools/tool-registry.test.ts (18 tests) 2504ms
โ ToolRegistry > discoverTools > should return a DISCOVERED_TOOL_EXECUTION_ERROR on tool failure 1782ms
โ src/tools/web-fetch.test.ts (31 tests) 2060ms
โ WebFetchTool > validateToolParamValues > should throw if 'empty prompt' 862ms
โ src/utils/shell-utils.test.ts (57 tests | 1 skipped) 3077ms
โ getCommandRoots > should return a single command 443ms
โ getCommandRoots > should treat parameter expansions with prompt transformations as unsafe 377ms
โ getCommandRoots > should handle parser initialization failures gracefully 499ms
โ src/mcp/oauth-token-storage.test.ts (28 tests) 579ms
โ src/policy/toml-loader.test.ts (28 tests) 1300ms
โ policy-toml-loader > loadPoliciesFromToml > should load and parse a simple policy file 355ms
โ src/output/stream-json-formatter.test.ts (20 tests) 462ms
โ src/telemetry/uiTelemetry.test.ts (19 tests) 333ms
โ src/utils/pathReader.test.ts (18 tests) 1163ms
โ src/mcp/oauth-utils.test.ts (32 tests) 491ms
โ src/utils/googleErrors.test.ts (13 tests) 313ms
โ src/agents/auth-provider/factory.test.ts (25 tests) 352ms
โ src/mcp/token-storage/keychain-token-storage.test.ts (29 tests) 4726ms
โ KeychainTokenStorage > checkKeychainAvailability > should return true if keytar is available and functional 365ms
โ KeychainTokenStorage > with keychain unavailable > getCredentials should throw 360ms
โ KeychainTokenStorage > with keychain available > getCredentials > should return null if credentials have expired 314ms
โ src/code_assist/converter.test.ts (24 tests) 305ms
โ src/tools/read-file.test.ts (30 tests) 4750ms
โ ReadFileTool > build > should return an invocation for valid params (absolute path within root) 1170ms
โ ReadFileTool > build > should return an invocation for valid params (relative path within root) 361ms
โ ReadFileTool > build > should throw error if path is outside root 509ms
โ ReadFileTool > execute > should successfully read a file with a relative path 321ms
โ ReadFileTool > execute > should return error for a file that is too large 348ms
โ src/hooks/hookAggregator.test.ts (10 tests) 328ms
โ src/tools/exit-plan-mode.test.ts (21 tests) 2276ms
โ ExitPlanModeTool > shouldConfirmExecute > should return plan approval confirmation details when plan has content 1032ms
โ src/hooks/types.test.ts (35 tests) 440ms
โ src/ide/ideContext.test.ts (23 tests) 500ms
โ src/scheduler/confirmation.test.ts (9 tests) 436ms
โ src/hooks/hookPlanner.test.ts (10 tests) 241ms
โ src/tools/modifiable-tool.test.ts (12 tests) 792ms
โ modifyWithEditor > successful modification > should successfully modify content with VSCode editor 301ms
โ src/tools/ls.test.ts (21 tests) 2849ms
โ LSTool > parameter validation > should accept valid absolute paths within workspace 927ms
โ LSTool > execute > should respect gitignore patterns 304ms
โ src/services/gitService.test.ts (19 tests) 1432ms
โ GitService > constructor > should successfully create an instance 424ms
โ src/utils/userAccountManager.test.ts (23 tests) 495ms
โ src/telemetry/gcp-exporters.test.ts (18 tests) 619ms
โ src/utils/getFolderStructure.test.ts (15 tests) 1144ms
โ getFolderStructure > should return basic folder structure 404ms
โ src/tools/ask-user.test.ts (22 tests) 2849ms
โ AskUserTool > validateToolParams > should return error if questions is missing 880ms
โ src/utils/gitIgnoreParser.test.ts (25 tests) 1314ms
โ src/utils/partUtils.test.ts (37 tests) 331ms
โ src/utils/events.test.ts (20 tests) 5011ms
โ CoreEventEmitter > should respect the backlog size limit and maintain FIFO order 383ms
โ CoreEventEmitter > ConsentRequest Event > should respect the backlog size limit for consent requests 3656ms
โ src/services/chatRecordingService.test.ts (19 tests) 1951ms
โ ChatRecordingService > ENOSPC (disk full) graceful degradation - issue #16266 > should still throw for non-ENOSPC errors 1017ms
โ src/utils/bfsFileSearch.test.ts (16 tests) 1199ms
โ src/utils/ignorePatterns.test.ts (28 tests) 420ms
โ src/routing/strategies/classifierStrategy.test.ts (11 tests) 639ms
โ src/utils/checkpointUtils.test.ts (15 tests) 595ms
โ src/services/environmentSanitization.test.ts (18 tests) 357ms
โ src/agents/agentLoader.test.ts (18 tests) 1211ms
โ loader > parseAgentMarkdown > should parse a valid markdown agent file 331ms
โ src/safety/checker-runner.test.ts (9 tests) 501ms
โ src/output/json-formatter.test.ts (17 tests) 294ms
โ src/telemetry/activity-monitor.test.ts (22 tests) 432ms
โ src/code_assist/oauth-credential-storage.test.ts (16 tests) 684ms
โ src/telemetry/semantic.test.ts (21 tests) 369ms
โ src/agents/a2a-client-manager.test.ts (18 tests) 639ms
โ src/availability/policyHelpers.test.ts (16 tests) 430ms
โ src/config/models.test.ts (36 tests) 383ms
โ src/utils/tokenCalculation.test.ts (15 tests) 610ms
โ src/ide/ide-installer.test.ts (17 tests) 631ms
โ src/mcp/token-storage/file-token-storage.test.ts (16 tests) 5729ms
โ FileTokenStorage > getCredentials > should return null when file does not exist 645ms
โ FileTokenStorage > getCredentials > should return null for expired tokens 480ms
โ FileTokenStorage > getCredentials > should return credentials for valid tokens 366ms
โ FileTokenStorage > getCredentials > should throw error for corrupted files 406ms
โ FileTokenStorage > setCredentials > should save credentials with encryption 386ms
โ FileTokenStorage > setCredentials > should update existing credentials 326ms
โ FileTokenStorage > deleteCredentials > should throw when credentials do not exist 305ms
โ FileTokenStorage > deleteCredentials > should delete file when last credential is removed 302ms
โ FileTokenStorage > listServers > should return empty list when file does not exist 323ms
โ FileTokenStorage > listServers > should return list of server names 308ms
โ FileTokenStorage > encryption > should encrypt and decrypt data correctly 317ms
โ FileTokenStorage > encryption > should produce different encrypted output each time 317ms
โ FileTokenStorage > encryption > should throw on invalid encrypted data format 301ms
โ src/services/modelConfig.integration.test.ts (10 tests) 225ms
โ src/scheduler/policy.test.ts (20 tests) 711ms
โ src/agents/remote-invocation.test.ts (10 tests) 446ms
โ src/safety/built-in.test.ts (14 tests) 700ms
โ src/code_assist/setup.test.ts (23 tests) 732ms
โ src/core/contentGenerator.test.ts (20 tests) 682ms
โ src/code_assist/server.test.ts (22 tests) 900ms
โ src/ide/detect-ide.test.ts (30 tests) 262ms
โ src/tools/glob.test.ts (37 tests) 7404ms
โ GlobTool > execute > should find files matching a simple pattern in the root 1787ms
โ GlobTool > execute > should find files case-sensitively when case_sensitive is true 792ms
โ GlobTool > execute > should return a GLOB_EXECUTION_ERROR on glob failure 408ms
โ src/telemetry/rate-limiter.test.ts (24 tests) 270ms
โ src/mcp/token-storage/hybrid-token-storage.test.ts (11 tests) 385ms
โ src/telemetry/sanitize.test.ts (18 tests) 406ms
โ src/scheduler/tool-modifier.test.ts (6 tests) 394ms
โ src/skills/skillLoader.test.ts (13 tests) 1348ms
โ skillLoader > should load skills from a directory with valid SKILL.md 590ms
(node:28076) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:28076) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/telemetry/sdk.test.ts (16 tests) 1384ms
โ Telemetry SDK > should initialize with GCP exporters when credentials are provided via post_auth 388ms
โ src/utils/secure-browser-launcher.test.ts (14 tests) 519ms
โ src/utils/ignoreFileParser.test.ts (19 tests) 823ms
โ GeminiIgnoreParser > when .geminiignore exists > should ignore files specified in .geminiignore 327ms
โ src/skills/skillManager.test.ts (9 tests) 1085ms
โ SkillManager > should discover skills from extensions, user, and workspace with precedence 554ms
โ src/utils/errorReporting.test.ts (6 tests) 643ms
โ reportError > should generate a report and log the path 330ms
โ src/utils/terminalSerializer.test.ts (17 tests) 1725ms
โ terminalSerializer > serializeTerminalToObject > should handle an empty terminal 414ms
(node:28587) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/hooks/hookSystem.test.ts (8 tests) 535ms
โ src/mcp/google-auth-provider.test.ts (15 tests) 634ms
โ src/utils/channel.test.ts (22 tests) 342ms
โ src/tools/mcp-client-manager.test.ts (17 tests) 703ms
โ src/confirmation-bus/message-bus.test.ts (10 tests) 342ms
โ src/tools/message-bus-integration.test.ts (6 tests) 1137ms
โ Message Bus Integration > BaseToolInvocation with MessageBus > should use message bus for confirmation when available 863ms
โ src/fallback/handler.test.ts (14 tests) 553ms
โ src/code_assist/telemetry.test.ts (16 tests) 360ms
โ src/utils/llm-edit-fixer.test.ts (8 tests) 1500ms
โ FixLLMEditWithInstruction > should use the promptId from the AsyncLocalStorage context when available 738ms
โ FixLLMEditWithInstruction > should return null if the LLM call times out 490ms
โ src/telemetry/startupProfiler.test.ts (23 tests) 814ms
โ src/telemetry/high-water-mark-tracker.test.ts (18 tests) 447ms
โ src/commands/memory.test.ts (12 tests) 473ms
โ src/policy/persistence.test.ts (5 tests) 577ms
โ createPolicyUpdater > should persist policy when persist flag is true 376ms
โ src/agents/local-invocation.test.ts (11 tests) 446ms
(node:29156) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 model-changed listeners added to [CoreEventEmitter]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
โ src/hooks/hookTranslator.test.ts (10 tests) 270ms
โ src/tools/tools.test.ts (11 tests) 343ms
โ src/routing/strategies/compositeStrategy.test.ts (6 tests) 367ms
โ src/ide/process-utils.test.ts (8 tests) 280ms
โ src/commands/restore.test.ts (6 tests) 316ms
โ src/utils/apiConversionUtils.test.ts (7 tests) 209ms
โ src/utils/schemaValidator.test.ts (12 tests) 1910ms
โ SchemaValidator > allows schema with extra properties 694ms
โ SchemaValidator > JSON Schema draft-2020-12 support > validates params against draft-2020-12 schema 811ms
โ src/tools/diffOptions.test.ts (10 tests) 278ms
โ src/services/contextManager.test.ts (6 tests) 369ms
โ src/utils/security.test.ts (9 tests) 303ms
โ src/core/fakeContentGenerator.test.ts (7 tests) 185ms
โ src/utils/environmentContext.test.ts (6 tests) 778ms
โ getEnvironmentContext > should return basic environment context for a single directory 593ms
โ src/config/storage.test.ts (15 tests) 476ms
โ src/utils/errors.test.ts (18 tests) 350ms
โ src/mcp/sa-impersonation-provider.test.ts (8 tests) 608ms
โ src/core/loggingContentGenerator.test.ts (11 tests) 748ms
โ LoggingContentGenerator > generateContent > should log request and response on success 353ms
โ src/agents/auth-provider/base-provider.test.ts (10 tests) 249ms
โ src/tools/activate-skill.test.ts (7 tests) 1286ms
โ ActivateSkillTool > should return enhanced description 919ms
โ src/skills/skillManagerAlias.test.ts (2 tests) 242ms
โ src/hooks/trustedHooks.test.ts (7 tests) 223ms
โ src/utils/nextSpeakerChecker.test.ts (10 tests) 1005ms
โ checkNextSpeaker > should return null if history is empty 600ms
โ src/agents/a2aUtils.test.ts (9 tests) 181ms
โ src/scheduler/tool-executor.test.ts (5 tests) 1191ms
โ ToolExecutor > should truncate large shell output 703ms
โ src/code_assist/experiments/experiments_local.test.ts (5 tests) 886ms
โ src/routing/strategies/fallbackStrategy.test.ts (5 tests) 252ms
โ src/mcp/token-storage/base-token-storage.test.ts (12 tests) 188ms
โ src/telemetry/activity-detector.test.ts (13 tests) 320ms
โ src/tools/line-endings.test.ts (5 tests) 2336ms
โ Line Ending Preservation > WriteFileTool > should preserve CRLF when overwriting an existing file 1194ms
โ Line Ending Preservation > WriteFileTool > should use OS EOL for new files 486ms
โ Line Ending Preservation > EditTool > should preserve CRLF when editing a file 455ms
โ src/core/prompts-substitution.test.ts (6 tests) 277ms
โ src/core/recordingContentGenerator.test.ts (4 tests) 242ms
โ src/availability/modelAvailabilityService.test.ts (9 tests) 159ms
โ src/agents/utils.test.ts (12 tests) 194ms
โ src/utils/extensionLoader.test.ts (9 tests | 1 skipped) 321ms
โ src/routing/strategies/defaultStrategy.test.ts (5 tests) 137ms
โ src/policy/utils.test.ts (13 tests) 198ms
โ src/utils/headless.test.ts (12 tests) 182ms
โ src/tools/web-search.test.ts (9 tests) 2538ms
โ WebSearchTool > build > should return an invocation for a valid query 882ms
โ WebSearchTool > execute > should return a WEB_SEARCH_FAILED error on failure 1006ms
โ src/code_assist/experiments/client_metadata.test.ts (12 tests) 1236ms
โ src/tools/tool-names.test.ts (9 tests) 203ms
โ src/utils/summarizer.test.ts (8 tests) 1131ms
โ src/core/coreToolHookTriggers.test.ts (6 tests) 382ms
โ src/utils/process-utils.test.ts (7 tests) 295ms
โ src/utils/filesearch/crawlCache.test.ts (9 tests) 560ms
โ src/tools/write-todos.test.ts (9 tests) 769ms
โ WriteTodosTool > validation > should not throw for valid parameters 660ms
โ src/code_assist/experiments/experiments.test.ts (4 tests) 1031ms
โ experiments > should fetch and parse experiments from the server 469ms
โ src/tools/xcode-mcp-fix-transport.test.ts (2 tests) 152ms
โ src/telemetry/semantic.truncation.test.ts (4 tests) 92ms
โ src/core/geminiChat_network_retry.test.ts (3 tests) 3277ms
โ GeminiChat Network Retries > should retry when a 503 ApiError occurs during stream iteration 2494ms
โ GeminiChat Network Retries > should retry on generic network error if retryFetchErrors is true 643ms
โ src/utils/installationManager.test.ts (4 tests) 149ms
โ src/services/modelConfig.golden.test.ts (2 tests) 225ms
โ src/tools/base-tool-invocation.test.ts (2 tests) 197ms
โ src/prompts/prompt-registry.test.ts (7 tests) 440ms
โ src/utils/pathCorrector.test.ts (4 tests) 212ms
โ src/utils/textUtils.test.ts (17 tests) 236ms
โ src/availability/policyCatalog.test.ts (10 tests) 266ms
โ src/utils/delay.test.ts (7 tests) 489ms
โ src/utils/planUtils.test.ts (7 tests) 279ms
โ src/utils/debugLogger.test.ts (6 tests) 271ms
โ src/agents/acknowledgedAgents.test.ts (4 tests) 303ms
โ src/utils/fileDiffUtils.test.ts (7 tests) 150ms
โ src/utils/customHeaderUtils.test.ts (11 tests) 97ms
โ src/services/sessionSummaryUtils.test.ts (10 tests) 563ms
โ src/availability/fallbackIntegration.test.ts (2 tests) 168ms
โ src/utils/authConsent.test.ts (3 tests) 140ms
โ src/core/apiKeyCredentialStorage.test.ts (7 tests) 311ms
โ src/utils/thoughtUtils.test.ts (11 tests) 106ms
โ src/routing/strategies/overrideStrategy.test.ts (4 tests) 100ms
โ src/resources/resource-registry.test.ts (4 tests) 161ms
โ src/utils/safeJsonStringify.test.ts (8 tests) 151ms
โ src/agents/cli-help-agent.test.ts (5 tests) 190ms
โ src/tools/confirmation-policy.test.ts (6 tests) 3758ms
โ Tool Confirmation Policy Updates > 'EditTool' policy updates > should handle 'proceed_always' correctly 3017ms
โ Tool Confirmation Policy Updates > 'EditTool' policy updates > should handle 'proceed_always_and_save' correctly 366ms
โ src/policy/policy-updater.test.ts (5 tests) 469ms
โ src/telemetry/config.test.ts (14 tests) 280ms
โ src/agents/agent-scheduler.test.ts (1 test) 251ms
โ src/tools/get-internal-docs.test.ts (4 tests) 1733ms
โ GetInternalDocsTool (Integration) > should find the documentation root and list files 1521ms
โ src/safety/context-builder.test.ts (3 tests) 243ms
โ src/utils/toolCallContext.test.ts (4 tests) 143ms
โ src/utils/package.test.ts (4 tests) 305ms
โ src/routing/modelRouterService.test.ts (5 tests) 877ms
working stdoutworking stderr โ src/utils/stdio.test.ts (2 tests) 193ms
โ src/utils/filesearch/result-cache.test.ts (3 tests) 76ms
โ src/services/fileSystemService.test.ts (3 tests) 153ms
โ src/prompts/mcp-prompts.test.ts (2 tests) 155ms
โ src/core/tokenLimits.test.ts (5 tests) 103ms
โ src/safety/registry.test.ts (4 tests) 142ms
โ src/code_assist/codeAssist.test.ts (7 tests) 234ms
โ src/utils/version.test.ts (3 tests) 131ms
โ src/telemetry/telemetry-utils.test.ts (6 tests) 123ms
โ src/utils/checks.test.ts (3 tests) 170ms
โ src/agents/subagent-tool-wrapper.test.ts (6 tests) 1261ms
โ SubagentToolWrapper > createInvocation > should create a LocalSubagentInvocation with the correct parameters 944ms
โ src/utils/formatters.test.ts (4 tests) 100ms
โ src/commands/init.test.ts (2 tests) 102ms
โ src/index.test.ts (1 test) 82ms
โ src/commands/extensions.test.ts (1 test) 102ms
โ src/agents/registry_acknowledgement.test.ts (4 tests) 538ms
โ AgentRegistry Acknowledgement > should not register unacknowledged project agents and emit event 316ms
โ src/utils/shell-utils.integration.test.ts (3 tests) 2132ms
โ execStreaming (Integration) > should yield lines from stdout 1170ms
โ execStreaming (Integration) > should throw error on non-zero exit code 767ms
โ src/utils/tool-utils.test.ts (9 tests) 61ms
โ src/utils/errorParsing.test.ts (10 tests) 54ms
โ src/utils/flashFallback.test.ts (4 tests) 147ms
โ src/telemetry/telemetry.test.ts (2 tests) 225ms
โ src/config/flashFallback.test.ts (3 tests) 148ms
โ src/agents/codebase-investigator.test.ts (2 tests) 47ms
โ src/agents/generalist-agent.test.ts (1 test) 88ms
โ src/telemetry/metrics.test.ts (68 tests) 169331ms
โ Telemetry Metrics > recordFlickerFrame > does not record metrics if not initialized 23293ms
โ Telemetry Metrics > recordFlickerFrame > records a flicker frame event when initialized 17042ms
โ Telemetry Metrics > recordExitFail > does not record metrics if not initialized 12963ms
โ Telemetry Metrics > recordExitFail > records a exit fail event when initialized 12391ms
โ Telemetry Metrics > recordSlowRender > does not record metrics if not initialized 12881ms
โ Telemetry Metrics > recordSlowRender > records a slow render event when initialized 11905ms
โ Telemetry Metrics > initializeMetrics > should apply common attributes including email 12539ms
โ Telemetry Metrics > recordChatCompressionMetrics > does not record metrics if not initialized 10335ms
โ Telemetry Metrics > recordChatCompressionMetrics > records token compression with the correct attributes 9931ms
โ Telemetry Metrics > recordTokenUsageMetrics > should not record metrics if not initialized 2376ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'input' type with 100 tokens for model 'gemini-pro' 1446ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'output' type with 50 tokens for model 'gemini-pro' 1475ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'thought' type with 25 tokens for model 'gemini-pro' 1353ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'cache' type with 75 tokens for model 'gemini-pro' 1297ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'tool' type with 125 tokens for model 'gemini-pro' 1257ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'input' type with 200 tokens for model 'gemini-different-model' 1310ms
โ Telemetry Metrics > recordLinesChanged metric > should not record lines added/removed if not initialized 916ms
โ Telemetry Metrics > recordLinesChanged metric > should record lines added with function_name after initialization 1405ms
โ Telemetry Metrics > recordLinesChanged metric > should record lines removed with function_name after initialization 880ms
โ Telemetry Metrics > recordFileOperationMetric > 'should not record metrics if not initโฆ' 1054ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file creation with all โฆ' 701ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file read with minimal โฆ' 682ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file update with some aโฆ' 648ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file update with no optโฆ' 674ms
โ Telemetry Metrics > recordModelRoutingMetrics > should not record metrics if not initialized 731ms
โ Telemetry Metrics > recordModelRoutingMetrics > should record latency for a successful routing decision 660ms
โ Telemetry Metrics > recordModelRoutingMetrics > should record latency and failure for a failed routing decision 687ms
โ Telemetry Metrics > recordAgentRunMetrics > should not record metrics if not initialized 674ms
โ Telemetry Metrics > recordAgentRunMetrics > should record agent run metrics 695ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should not record metrics when not initialized 689ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record input token usage with correct attributes 689ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record output token usage with correct attributes 669ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record token usage with optional attributes 665ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should not record metrics when not initialized 677ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record successful operation duration with correct attributes 656ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record failed operation duration with error type 635ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record operation duration with server details 640ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should handle minimal required attributes 672ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should not record metrics when performance monitoring is disabled 631ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should record startup performance with phase and details 667ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should record startup performance without details 651ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should handle floating-point duration values from performance.now() 640ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_used' 651ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_total' 660ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'external' 663ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'rss' 702ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_used' 642ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordCpuUsage > should record CPU usage percentage 589ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordCpuUsage > should record CPU usage without component 631ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolQueueDepth > should record tool queue depth 619ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolQueueDepth > should record zero queue depth 604ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolExecutionBreakdown > should record tool execution breakdown for all phases 614ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolExecutionBreakdown > should record execution breakdown for different phases 612ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordTokenEfficiency > should record token efficiency metrics 597ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordTokenEfficiency > should record token efficiency without context 645ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordApiRequestBreakdown > should record API request breakdown for all phases 621ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordApiRequestBreakdown > should record API request breakdown for different phases 592ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceScore > should record performance score with category and baseline 608ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceScore > should record performance score without baseline 625ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should record performance regression with baseline comparison 581ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should handle zero baseline value gracefully 616ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should record different severity levels 616ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should record baseline comparison with percentage change 584ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should handle negative percentage change (improvement) 654ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should skip recording when baseline is zero 610ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should record hook call metrics with counter and histogram 600ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should always sanitize hook names regardless of content 904ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should track both success and failure 624ms
โฏโฏโฏโฏโฏโฏ Failed Suites 3 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/utils/filesearch/crawler.test.ts [ src/utils/filesearch/crawler.test.ts ]
FAIL src/utils/filesearch/fileSearch.test.ts [ src/utils/filesearch/fileSearch.test.ts ]
FAIL src/utils/filesearch/ignore.test.ts [ src/utils/filesearch/ignore.test.ts ]
Error: The @lydell/node-pty package currently does not support your platform: linux-riscv64
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:12:19
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
โฏ Object. ../../node_modules/@lydell/node-pty/index.js:13:20
Caused by: Error: Cannot find module '@lydell/node-pty-linux-riscv64/pty.node'
Require stack:
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js
- /build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js
โฏ Object.requireBinary ../../node_modules/@lydell/node-pty/requireBinary.js:7:16
โฏ Object. ../../node_modules/@lydell/node-pty/unixTerminal.js:20:27
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ
Serialized Error: { code: 'MODULE_NOT_FOUND', requireStack: [ '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/requireBinary.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js', '/build/gemini-cli/src/gemini-cli/node_modules/@lydell/node-pty/index.js' ] }
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/4]โฏ
โฏโฏโฏโฏโฏโฏโฏ Failed Tests 1 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/policy/config.test.ts > createPolicyEngineConfig > should filter out insecure system policy directories
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
โฏ src/policy/config.test.ts:40:3
38| });
39|
40| it('should filter out insecure system policy directories', async () โฆ
| ^
41| const { Storage } = await import('../config/storage.js');
42| const systemPolicyDir = '/insecure/system/policies';
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/4]โฏ
Test Files 4 failed | 238 passed (242)
Tests 1 failed | 4454 passed | 23 skipped (4478)
Start at 04:23:40
Duration 264.96s (transform 420.57s, setup 62.48s, collect 3392.43s, tests 485.25s, environment 1.83s, prepare 402.96s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/core/junit.xml
npm error Lifecycle script `test` failed with error:
npm error code 1
npm error path /build/gemini-cli/src/gemini-cli/packages/core
npm error workspace @google/gemini-cli-core@0.28.2
npm error location /build/gemini-cli/src/gemini-cli/packages/core
npm error command failed
npm error command sh -c vitest run
> gemini-cli-vscode-ide-companion@0.28.2 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/vscode-ide-companion
โ src/open-files-manager.test.ts (17 tests) 271ms
โ src/extension.test.ts (11 tests) 599ms
โ src/ide-server.test.ts (13 tests | 1 skipped) 2040ms
โ IDEServer > auth token > should reject request without auth token 1176ms
Test Files 3 passed (3)
Tests 40 passed | 1 skipped (41)
Start at 04:28:14
Duration 28.04s (transform 12.85s, setup 0ms, collect 43.70s, tests 2.91s, environment 6ms, prepare 2.90s)
==> ERROR: A failure occurred in check().
Aborting...
[23;2t[!p]104[?7h[1G[0J]3008;end=430e95813f0a47e6b263ace758c579e6\[1m[31m==> ERROR:[m[1m Build failed, check /var/lib/archbuild/extra-riscv64/felix-0/build[m
[34h[?25h[34h[?25h[34h[?25hreceiving incremental file list
gemini-cli-1:0.28.2-1-riscv64-build.log
gemini-cli-1:0.28.2-1-riscv64-check.log
gemini-cli-1:0.28.2-1-riscv64-prepare.log
sent 81 bytes received 161,398 bytes 322,958.00 bytes/sec
total size is 2,405,271 speedup is 14.90