[1m[32m==>[m[1m Building on aurorus[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
591 100% 0.00kB/s 0:00:00
591 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,279 100% 1.22MB/s 0:00:00
1,279 100% 1.22MB/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.21.3-1.log
740 100% 722.66kB/s 0:00:00
740 100% 722.66kB/s 0:00:00 (xfr#6, to-chk=2/9)
LICENSES/
sent 1,885 bytes received 180 bytes 826.00 bytes/sec
total size is 3,150 speedup is 1.53
[1m[32m==>[m[1m Patching arch to riscv64...[m
[1m[32m==>[m[1m Running pkgctl build --arch riscv64 --repo extra on remote host...[m
[1m[33m==> WARNING:[m[1m unsupported architecture: riscv64[m
[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-14[m
[1m[32m==>[m[1m Building gemini-cli for [extra] (riscv64)[m
[1m[32m==>[m[1m Locking clean chroot...[m[1mdone[m
]3008;start=48e0988b2eea4e62867cc97013b0db0d;user=root;hostname=aurorus.felixc.at;machineid=01ca1404c26b4b3a80152fb4f25f4ca7;bootid=8232aca5cd774e0d972b47b951aa7978;pid=3254036;comm=systemd-nspawn;container=arch-nspawn-3254036;type=container\[22;2t]2;๐ต Container arch-nspawn-3254036 on aurorus.felixc.at\[?25l:: Synchronizing package databases...
core downloading...
extra downloading...
:: Starting full system upgrade...
there is nothing to do
[?25h[0m[J[23;2t]3008;end=48e0988b2eea4e62867cc97013b0db0d\[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-14]...[m[1mdone[m
[1m[32m==>[m[1m Making package: gemini-cli 1:0.21.3-1 (Sun Dec 21 20:49:40 2025)[m
[1m[32m==>[m[1m Retrieving sources...[m
[1m[34m ->[m[1m Cloning gemini-cli git repo...[m
Cloning into bare repository '/home/felix/packages/gemini-cli/gemini-cli'...
remote: Enumerating objects: 318665[K
remote: Enumerating objects: 321457, done.[K
remote: Counting objects: 0% (1/2792)[K
remote: Counting objects: 1% (28/2792)[K
remote: Counting objects: 2% (56/2792)[K
remote: Counting objects: 3% (84/2792)[K
remote: Counting objects: 4% (112/2792)[K
remote: Counting objects: 5% (140/2792)[K
remote: Counting objects: 6% (168/2792)[K
remote: Counting objects: 7% (196/2792)[K
remote: Counting objects: 8% (224/2792)[K
remote: Counting objects: 9% (252/2792)[K
remote: Counting objects: 10% (280/2792)[K
remote: Counting objects: 11% (308/2792)[K
remote: Counting objects: 12% (336/2792)[K
remote: Counting objects: 13% (363/2792)[K
remote: Counting objects: 14% (391/2792)[K
remote: Counting objects: 15% (419/2792)[K
remote: Counting objects: 16% (447/2792)[K
remote: Counting objects: 17% (475/2792)[K
remote: Counting objects: 18% (503/2792)[K
remote: Counting objects: 19% (531/2792)[K
remote: Counting objects: 20% (559/2792)[K
remote: Counting objects: 21% (587/2792)[K
remote: Counting objects: 22% (615/2792)[K
remote: Counting objects: 23% (643/2792)[K
remote: Counting objects: 24% (671/2792)[K
remote: Counting objects: 25% (698/2792)[K
remote: Counting objects: 26% (726/2792)[K
remote: Counting objects: 27% (754/2792)[K
remote: Counting objects: 28% (782/2792)[K
remote: Counting objects: 29% (810/2792)[K
remote: Counting objects: 30% (838/2792)[K
remote: Counting objects: 31% (866/2792)[K
remote: Counting objects: 32% (894/2792)[K
remote: Counting objects: 33% (922/2792)[K
remote: Counting objects: 34% (950/2792)[K
remote: Counting objects: 35% (978/2792)[K
remote: Counting objects: 36% (1006/2792)[K
remote: Counting objects: 37% (1034/2792)[K
remote: Counting objects: 38% (1061/2792)[K
remote: Counting objects: 39% (1089/2792)[K
remote: Counting objects: 40% (1117/2792)[K
remote: Counting objects: 41% (1145/2792)[K
remote: Counting objects: 42% (1173/2792)[K
remote: Counting objects: 43% (1201/2792)[K
remote: Counting objects: 44% (1229/2792)[K
remote: Counting objects: 45% (1257/2792)[K
remote: Counting objects: 46% (1285/2792)[K
remote: Counting objects: 47% (1313/2792)[K
remote: Counting objects: 48% (1341/2792)[K
remote: Counting objects: 49% (1369/2792)[K
remote: Counting objects: 50% (1396/2792)[K
remote: Counting objects: 51% (1424/2792)[K
remote: Counting objects: 52% (1452/2792)[K
remote: Counting objects: 53% (1480/2792)[K
remote: Counting objects: 54% (1508/2792)[K
remote: Counting objects: 55% (1536/2792)[K
remote: Counting objects: 56% (1564/2792)[K
remote: Counting objects: 57% (1592/2792)[K
remote: Counting objects: 58% (1620/2792)[K
remote: Counting objects: 59% (1648/2792)[K
remote: Counting objects: 60% (1676/2792)[K
remote: Counting objects: 61% (1704/2792)[K
remote: Counting objects: 62% (1732/2792)[K
remote: Counting objects: 63% (1759/2792)[K
remote: Counting objects: 64% (1787/2792)[K
remote: Counting objects: 65% (1815/2792)[K
remote: Counting objects: 66% (1843/2792)[K
remote: Counting objects: 67% (1871/2792)[K
remote: Counting objects: 68% (1899/2792)[K
remote: Counting objects: 69% (1927/2792)[K
remote: Counting objects: 70% (1955/2792)[K
remote: Counting objects: 71% (1983/2792)[K
remote: Counting objects: 72% (2011/2792)[K
remote: Counting objects: 73% (2039/2792)[K
remote: Counting objects: 74% (2067/2792)[K
remote: Counting objects: 75% (2094/2792)[K
remote: Counting objects: 76% (2122/2792)[K
remote: Counting objects: 77% (2150/2792)[K
remote: Counting objects: 78% (2178/2792)[K
remote: Counting objects: 79% (2206/2792)[K
remote: Counting objects: 80% (2234/2792)[K
remote: Counting objects: 81% (2262/2792)[K
remote: Counting objects: 82% (2290/2792)[K
remote: Counting objects: 83% (2318/2792)[K
remote: Counting objects: 84% (2346/2792)[K
remote: Counting objects: 85% (2374/2792)[K
remote: Counting objects: 86% (2402/2792)[K
remote: Counting objects: 87% (2430/2792)[K
remote: Counting objects: 88% (2457/2792)[K
remote: Counting objects: 89% (2485/2792)[K
remote: Counting objects: 90% (2513/2792)[K
remote: Counting objects: 91% (2541/2792)[K
remote: Counting objects: 92% (2569/2792)[K
remote: Counting objects: 93% (2597/2792)[K
remote: Counting objects: 94% (2625/2792)[K
remote: Counting objects: 95% (2653/2792)[K
remote: Counting objects: 96% (2681/2792)[K
remote: Counting objects: 97% (2709/2792)[K
remote: Counting objects: 98% (2737/2792)[K
remote: Counting objects: 99% (2765/2792)[K
remote: Counting objects: 100% (2792/2792)[K
remote: Counting objects: 100% (2792/2792), done.[K
remote: Compressing objects: 0% (1/1240)[K
remote: Compressing objects: 1% (13/1240)[K
remote: Compressing objects: 2% (25/1240)[K
remote: Compressing objects: 3% (38/1240)[K
remote: Compressing objects: 4% (50/1240)[K
remote: Compressing objects: 5% (62/1240)[K
remote: Compressing objects: 6% (75/1240)[K
remote: Compressing objects: 7% (87/1240)[K
remote: Compressing objects: 8% (100/1240)[K
remote: Compressing objects: 9% (112/1240)[K
remote: Compressing objects: 10% (124/1240)[K
remote: Compressing objects: 11% (137/1240)[K
remote: Compressing objects: 12% (149/1240)[K
remote: Compressing objects: 13% (162/1240)[K
remote: Compressing objects: 14% (174/1240)[K
remote: Compressing objects: 15% (186/1240)[K
remote: Compressing objects: 16% (199/1240)[K
remote: Compressing objects: 17% (211/1240)[K
remote: Compressing objects: 18% (224/1240)[K
remote: Compressing objects: 19% (236/1240)[K
remote: Compressing objects: 20% (248/1240)[K
remote: Compressing objects: 21% (261/1240)[K
remote: Compressing objects: 22% (273/1240)[K
remote: Compressing objects: 23% (286/1240)[K
remote: Compressing objects: 24% (298/1240)[K
remote: Compressing objects: 25% (310/1240)[K
remote: Compressing objects: 26% (323/1240)[K
remote: Compressing objects: 27% (335/1240)[K
remote: Compressing objects: 28% (348/1240)[K
remote: Compressing objects: 29% (360/1240)[K
remote: Compressing objects: 30% (372/1240)[K
remote: Compressing objects: 31% (385/1240)[K
remote: Compressing objects: 32% (397/1240)[K
remote: Compressing objects: 33% (410/1240)[K
remote: Compressing objects: 34% (422/1240)[K
remote: Compressing objects: 35% (434/1240)[K
remote: Compressing objects: 36% (447/1240)[K
remote: Compressing objects: 37% (459/1240)[K
remote: Compressing objects: 38% (472/1240)[K
remote: Compressing objects: 39% (484/1240)[K
remote: Compressing objects: 40% (496/1240)[K
remote: Compressing objects: 41% (509/1240)[K
remote: Compressing objects: 42% (521/1240)[K
remote: Compressing objects: 43% (534/1240)[K
remote: Compressing objects: 44% (546/1240)[K
remote: Compressing objects: 45% (558/1240)[K
remote: Compressing objects: 46% (571/1240)[K
remote: Compressing objects: 47% (583/1240)[K
remote: Compressing objects: 48% (596/1240)[K
remote: Compressing objects: 49% (608/1240)[K
remote: Compressing objects: 50% (620/1240)[K
remote: Compressing objects: 51% (633/1240)[K
remote: Compressing objects: 52% (645/1240)[K
remote: Compressing objects: 53% (658/1240)[K
remote: Compressing objects: 54% (670/1240)[K
remote: Compressing objects: 55% (682/1240)[K
remote: Compressing objects: 56% (695/1240)[K
remote: Compressing objects: 57% (707/1240)[K
remote: Compressing objects: 58% (720/1240)[K
remote: Compressing objects: 59% (732/1240)[K
remote: Compressing objects: 60% (744/1240)[K
remote: Compressing objects: 61% (757/1240)[K
remote: Compressing objects: 62% (769/1240)[K
remote: Compressing objects: 63% (782/1240)[K
remote: Compressing objects: 64% (794/1240)[K
remote: Compressing objects: 65% (806/1240)[K
remote: Compressing objects: 66% (819/1240)[K
remote: Compressing objects: 67% (831/1240)[K
remote: Compressing objects: 68% (844/1240)[K
remote: Compressing objects: 69% (856/1240)[K
remote: Compressing objects: 70% (868/1240)[K
remote: Compressing objects: 71% (881/1240)[K
remote: Compressing objects: 72% (893/1240)[K
remote: Compressing objects: 73% (906/1240)[K
remote: Compressing objects: 74% (918/1240)[K
remote: Compressing objects: 75% (930/1240)[K
remote: Compressing objects: 76% (943/1240)[K
remote: Compressing objects: 77% (955/1240)[K
remote: Compressing objects: 78% (968/1240)[K
remote: Compressing objects: 79% (980/1240)[K
remote: Compressing objects: 80% (992/1240)[K
remote: Compressing objects: 81% (1005/1240)[K
remote: Compressing objects: 82% (1017/1240)[K
remote: Compressing objects: 83% (1030/1240)[K
remote: Compressing objects: 84% (1042/1240)[K
remote: Compressing objects: 85% (1054/1240)[K
remote: Compressing objects: 86% (1067/1240)[K
remote: Compressing objects: 87% (1079/1240)[K
remote: Compressing objects: 88% (1092/1240)[K
remote: Compressing objects: 89% (1104/1240)[K
remote: Compressing objects: 90% (1116/1240)[K
remote: Compressing objects: 91% (1129/1240)[K
remote: Compressing objects: 92% (1141/1240)[K
remote: Compressing objects: 93% (1154/1240)[K
remote: Compressing objects: 94% (1166/1240)[K
remote: Compressing objects: 95% (1178/1240)[K
remote: Compressing objects: 96% (1191/1240)[K
remote: Compressing objects: 97% (1203/1240)[K
remote: Compressing objects: 98% (1216/1240)[K
remote: Compressing objects: 99% (1228/1240)[K
remote: Compressing objects: 100% (1240/1240)[K
remote: Compressing objects: 100% (1240/1240), done.[K
Receiving objects: 0% (1/321457)
Receiving objects: 1% (3215/321457)
Receiving objects: 2% (6430/321457), 1.92 MiB | 3.81 MiB/s
Receiving objects: 2% (6667/321457), 3.31 MiB | 3.30 MiB/s
Receiving objects: 2% (9435/321457), 8.37 MiB | 4.18 MiB/s
Receiving objects: 3% (9644/321457), 8.37 MiB | 4.18 MiB/s
Receiving objects: 4% (12859/321457), 12.32 MiB | 4.92 MiB/s
Receiving objects: 5% (16073/321457), 15.62 MiB | 5.20 MiB/s
Receiving objects: 5% (16081/321457), 15.62 MiB | 5.20 MiB/s
Receiving objects: 6% (19288/321457), 18.18 MiB | 5.19 MiB/s
Receiving objects: 7% (22502/321457), 18.18 MiB | 5.19 MiB/s
Receiving objects: 8% (25717/321457), 22.44 MiB | 5.61 MiB/s
Receiving objects: 8% (25745/321457), 22.44 MiB | 5.61 MiB/s
Receiving objects: 9% (28932/321457), 22.44 MiB | 5.61 MiB/s
Receiving objects: 9% (29150/321457), 25.51 MiB | 5.24 MiB/s
Receiving objects: 9% (29151/321457), 26.92 MiB | 4.86 MiB/s
Receiving objects: 9% (29151/321457), 28.50 MiB | 3.58 MiB/s
Receiving objects: 9% (29153/321457), 29.94 MiB | 2.57 MiB/s
Receiving objects: 9% (29155/321457), 31.84 MiB | 1.56 MiB/s
Receiving objects: 9% (29157/321457), 34.66 MiB | 1.86 MiB/s
Receiving objects: 10% (32146/321457), 36.10 MiB | 2.01 MiB/s
Receiving objects: 10% (33616/321457), 36.10 MiB | 2.01 MiB/s
Receiving objects: 11% (35361/321457), 37.36 MiB | 2.08 MiB/s
Receiving objects: 12% (38575/321457), 38.54 MiB | 2.20 MiB/s
Receiving objects: 12% (39616/321457), 40.23 MiB | 2.43 MiB/s
Receiving objects: 13% (41790/321457), 40.23 MiB | 2.43 MiB/s
Receiving objects: 13% (43159/321457), 43.08 MiB | 2.71 MiB/s
Receiving objects: 13% (43892/321457), 44.75 MiB | 2.86 MiB/s
Receiving objects: 14% (45004/321457), 46.21 MiB | 2.91 MiB/s
Receiving objects: 15% (48219/321457), 47.36 MiB | 2.82 MiB/s
Receiving objects: 15% (49607/321457), 47.36 MiB | 2.82 MiB/s
Receiving objects: 16% (51434/321457), 47.36 MiB | 2.82 MiB/s
Receiving objects: 17% (54648/321457), 48.86 MiB | 2.83 MiB/s
Receiving objects: 18% (57863/321457), 48.86 MiB | 2.83 MiB/s
Receiving objects: 19% (61077/321457), 50.50 MiB | 2.92 MiB/s
Receiving objects: 19% (62083/321457), 50.50 MiB | 2.92 MiB/s
Receiving objects: 20% (64292/321457), 51.32 MiB | 2.84 MiB/s
Receiving objects: 21% (67506/321457), 51.32 MiB | 2.84 MiB/s
Receiving objects: 22% (70721/321457), 52.76 MiB | 2.78 MiB/s
Receiving objects: 22% (70830/321457), 53.49 MiB | 2.62 MiB/s
Receiving objects: 22% (71462/321457), 54.25 MiB | 2.47 MiB/s
Receiving objects: 22% (72167/321457), 57.25 MiB | 2.44 MiB/s
Receiving objects: 22% (72622/321457), 59.86 MiB | 2.43 MiB/s
Receiving objects: 23% (73936/321457), 61.15 MiB | 2.31 MiB/s
Receiving objects: 23% (75053/321457), 62.03 MiB | 2.31 MiB/s
Receiving objects: 23% (75848/321457), 65.02 MiB | 2.34 MiB/s
Receiving objects: 23% (75848/321457), 66.51 MiB | 2.00 MiB/s
Receiving objects: 23% (76288/321457), 69.29 MiB | 2.22 MiB/s
Receiving objects: 24% (77150/321457), 69.29 MiB | 2.22 MiB/s
Receiving objects: 25% (80365/321457), 69.29 MiB | 2.22 MiB/s
Receiving objects: 26% (83579/321457), 69.29 MiB | 2.22 MiB/s
Receiving objects: 27% (86794/321457), 72.88 MiB | 2.68 MiB/s
Receiving objects: 27% (89592/321457), 74.65 MiB | 2.82 MiB/s
Receiving objects: 28% (90008/321457), 74.65 MiB | 2.82 MiB/s
Receiving objects: 29% (93223/321457), 74.65 MiB | 2.82 MiB/s
Receiving objects: 30% (96438/321457), 74.65 MiB | 2.82 MiB/s
Receiving objects: 31% (99652/321457), 78.23 MiB | 3.40 MiB/s
Receiving objects: 32% (102867/321457), 78.23 MiB | 3.40 MiB/s
Receiving objects: 33% (106081/321457), 78.23 MiB | 3.40 MiB/s
Receiving objects: 33% (108650/321457), 82.03 MiB | 4.03 MiB/s
Receiving objects: 34% (109296/321457), 82.03 MiB | 4.03 MiB/s
Receiving objects: 35% (112510/321457), 82.03 MiB | 4.03 MiB/s
Receiving objects: 36% (115725/321457), 82.03 MiB | 4.03 MiB/s
Receiving objects: 37% (118940/321457), 82.03 MiB | 4.03 MiB/s
Receiving objects: 38% (122154/321457), 87.62 MiB | 4.99 MiB/s
Receiving objects: 39% (125369/321457), 87.62 MiB | 4.99 MiB/s
Receiving objects: 39% (127232/321457), 92.70 MiB | 5.81 MiB/s
Receiving objects: 40% (128583/321457), 92.70 MiB | 5.81 MiB/s
Receiving objects: 41% (131798/321457), 92.70 MiB | 5.81 MiB/s
Receiving objects: 42% (135012/321457), 92.70 MiB | 5.81 MiB/s
Receiving objects: 43% (138227/321457), 95.01 MiB | 6.13 MiB/s
Receiving objects: 44% (141442/321457), 95.01 MiB | 6.13 MiB/s
Receiving objects: 44% (144572/321457), 96.90 MiB | 6.42 MiB/s
Receiving objects: 45% (144656/321457), 96.90 MiB | 6.42 MiB/s
Receiving objects: 46% (147871/321457), 96.90 MiB | 6.42 MiB/s
Receiving objects: 47% (151085/321457), 98.27 MiB | 6.42 MiB/s
Receiving objects: 47% (151895/321457), 101.70 MiB | 6.38 MiB/s
Receiving objects: 47% (151904/321457), 107.70 MiB | 6.55 MiB/s
Receiving objects: 47% (153475/321457), 111.72 MiB | 5.36 MiB/s
Receiving objects: 48% (154300/321457), 111.72 MiB | 5.36 MiB/s
Receiving objects: 49% (157514/321457), 111.72 MiB | 5.36 MiB/s
Receiving objects: 50% (160729/321457), 111.72 MiB | 5.36 MiB/s
Receiving objects: 51% (163944/321457), 113.93 MiB | 4.72 MiB/s
Receiving objects: 52% (167158/321457), 113.93 MiB | 4.72 MiB/s
Receiving objects: 52% (169379/321457), 115.71 MiB | 4.60 MiB/s
Receiving objects: 53% (170373/321457), 115.71 MiB | 4.60 MiB/s
Receiving objects: 54% (173587/321457), 115.71 MiB | 4.60 MiB/s
Receiving objects: 55% (176802/321457), 117.39 MiB | 4.55 MiB/s
Receiving objects: 55% (177892/321457), 117.39 MiB | 4.55 MiB/s
Receiving objects: 56% (180016/321457), 118.89 MiB | 4.58 MiB/s
Receiving objects: 57% (183231/321457), 118.89 MiB | 4.58 MiB/s
Receiving objects: 58% (186446/321457), 120.74 MiB | 4.23 MiB/s
Receiving objects: 59% (189660/321457), 120.74 MiB | 4.23 MiB/s
Receiving objects: 60% (192875/321457), 120.74 MiB | 4.23 MiB/s
Receiving objects: 61% (196089/321457), 120.74 MiB | 4.23 MiB/s
Receiving objects: 62% (199304/321457), 120.74 MiB | 4.23 MiB/s
Receiving objects: 62% (201930/321457), 120.74 MiB | 4.23 MiB/s
Receiving objects: 63% (202518/321457), 124.27 MiB | 4.14 MiB/s
Receiving objects: 64% (205733/321457), 124.27 MiB | 4.14 MiB/s
Receiving objects: 65% (208948/321457), 126.46 MiB | 4.16 MiB/s
Receiving objects: 66% (212162/321457), 126.46 MiB | 4.16 MiB/s
Receiving objects: 66% (214071/321457), 126.46 MiB | 4.16 MiB/s
Receiving objects: 67% (215377/321457), 128.89 MiB | 4.12 MiB/s
Receiving objects: 67% (216902/321457), 131.87 MiB | 3.93 MiB/s
Receiving objects: 68% (218591/321457), 131.87 MiB | 3.93 MiB/s
Receiving objects: 69% (221806/321457), 134.11 MiB | 3.99 MiB/s
Receiving objects: 70% (225020/321457), 134.11 MiB | 3.99 MiB/s
Receiving objects: 71% (228235/321457), 134.11 MiB | 3.99 MiB/s
Receiving objects: 71% (230495/321457), 134.11 MiB | 3.99 MiB/s
Receiving objects: 72% (231450/321457), 134.11 MiB | 3.99 MiB/s
Receiving objects: 73% (234664/321457), 136.83 MiB | 4.17 MiB/s
Receiving objects: 74% (237879/321457), 136.83 MiB | 4.17 MiB/s
Receiving objects: 74% (238712/321457), 137.81 MiB | 3.89 MiB/s
Receiving objects: 74% (238916/321457), 140.53 MiB | 3.33 MiB/s
Receiving objects: 74% (241032/321457), 141.59 MiB | 2.49 MiB/s
Receiving objects: 75% (241093/321457), 141.59 MiB | 2.49 MiB/s
Receiving objects: 76% (244308/321457), 141.59 MiB | 2.49 MiB/s
Receiving objects: 77% (247522/321457), 141.59 MiB | 2.49 MiB/s
Receiving objects: 78% (250737/321457), 142.84 MiB | 2.19 MiB/s
Receiving objects: 78% (253400/321457), 142.84 MiB | 2.19 MiB/s
Receiving objects: 78% (253440/321457), 145.20 MiB | 2.12 MiB/s
Receiving objects: 78% (253530/321457), 146.46 MiB | 1.73 MiB/s
Receiving objects: 78% (253666/321457), 148.28 MiB | 1.53 MiB/s
Receiving objects: 78% (253734/321457), 149.75 MiB | 1.67 MiB/s
Receiving objects: 78% (253808/321457), 150.43 MiB | 1.56 MiB/s
Receiving objects: 78% (253841/321457), 152.16 MiB | 1.31 MiB/s
Receiving objects: 78% (253842/321457), 152.99 MiB | 1.31 MiB/s
Receiving objects: 78% (253879/321457), 155.21 MiB | 1.35 MiB/s
Receiving objects: 78% (253909/321457), 157.26 MiB | 1.45 MiB/s
Receiving objects: 78% (253910/321457), 158.61 MiB | 1.57 MiB/s
Receiving objects: 79% (253952/321457), 158.61 MiB | 1.57 MiB/s
Receiving objects: 79% (254147/321457), 163.11 MiB | 2.21 MiB/s
Receiving objects: 79% (254229/321457), 164.66 MiB | 2.38 MiB/s
Receiving objects: 79% (254405/321457), 168.14 MiB | 2.76 MiB/s
Receiving objects: 79% (254524/321457), 171.59 MiB | 3.04 MiB/s
Receiving objects: 79% (254640/321457), 176.46 MiB | 3.54 MiB/s
Receiving objects: 79% (254895/321457), 184.31 MiB | 4.17 MiB/s
Receiving objects: 79% (255074/321457), 186.69 MiB | 4.35 MiB/s
Receiving objects: 79% (255078/321457), 193.39 MiB | 4.76 MiB/s
Receiving objects: 79% (255087/321457), 197.63 MiB | 5.14 MiB/s
Receiving objects: 79% (255365/321457), 201.06 MiB | 5.33 MiB/s
Receiving objects: 79% (255556/321457), 209.70 MiB | 5.60 MiB/s
Receiving objects: 79% (255816/321457), 214.51 MiB | 5.63 MiB/s
Receiving objects: 79% (255864/321457), 217.06 MiB | 5.59 MiB/s
Receiving objects: 79% (256045/321457), 222.32 MiB | 5.09 MiB/s
Receiving objects: 79% (256284/321457), 227.76 MiB | 4.65 MiB/s
Receiving objects: 79% (256499/321457), 233.27 MiB | 4.65 MiB/s
Receiving objects: 80% (257166/321457), 233.27 MiB | 4.65 MiB/s
Receiving objects: 81% (260381/321457), 233.27 MiB | 4.65 MiB/s
Receiving objects: 82% (263595/321457), 233.27 MiB | 4.65 MiB/s
Receiving objects: 83% (266810/321457), 237.28 MiB | 5.00 MiB/s
Receiving objects: 83% (269668/321457), 238.83 MiB | 4.84 MiB/s
Receiving objects: 84% (270024/321457), 238.83 MiB | 4.84 MiB/s
Receiving objects: 85% (273239/321457), 238.83 MiB | 4.84 MiB/s
Receiving objects: 86% (276454/321457), 238.83 MiB | 4.84 MiB/s
Receiving objects: 87% (279668/321457), 238.83 MiB | 4.84 MiB/s
Receiving objects: 87% (282450/321457), 243.43 MiB | 5.36 MiB/s
Receiving objects: 88% (282883/321457), 245.61 MiB | 5.40 MiB/s
Receiving objects: 89% (286097/321457), 245.61 MiB | 5.40 MiB/s
Receiving objects: 90% (289312/321457), 245.61 MiB | 5.40 MiB/s
Receiving objects: 91% (292526/321457), 248.95 MiB | 5.61 MiB/s
Receiving objects: 91% (295315/321457), 248.95 MiB | 5.61 MiB/s
Receiving objects: 92% (295741/321457), 248.95 MiB | 5.61 MiB/s
Receiving objects: 93% (298956/321457), 253.00 MiB | 5.97 MiB/s
Receiving objects: 94% (302170/321457), 253.00 MiB | 5.97 MiB/s
Receiving objects: 95% (305385/321457), 253.00 MiB | 5.97 MiB/s
Receiving objects: 96% (308599/321457), 253.00 MiB | 5.97 MiB/s
Receiving objects: 97% (311814/321457), 256.62 MiB | 6.23 MiB/s
Receiving objects: 98% (315028/321457), 256.62 MiB | 6.23 MiB/s
Receiving objects: 98% (316834/321457), 260.96 MiB | 6.51 MiB/s
Receiving objects: 98% (316838/321457), 265.16 MiB | 6.99 MiB/s
Receiving objects: 99% (318243/321457), 269.02 MiB | 6.96 MiB/s
remote: Total 321457 (delta 2491), reused 1556 (delta 1552), pack-reused 318665 (from 4)[K
Receiving objects: 100% (321457/321457), 269.02 MiB | 6.96 MiB/s
Receiving objects: 100% (321457/321457), 271.47 MiB | 3.75 MiB/s, done.
Resolving deltas: 0% (0/232790)
Resolving deltas: 1% (2328/232790)
Resolving deltas: 2% (4656/232790)
Resolving deltas: 3% (6984/232790)
Resolving deltas: 4% (9314/232790)
Resolving deltas: 5% (11640/232790)
Resolving deltas: 6% (13968/232790)
Resolving deltas: 6% (15257/232790)
Resolving deltas: 7% (16296/232790)
Resolving deltas: 8% (18624/232790)
Resolving deltas: 9% (20955/232790)
Resolving deltas: 10% (23279/232790)
Resolving deltas: 11% (25607/232790)
Resolving deltas: 12% (27937/232790)
Resolving deltas: 13% (30263/232790)
Resolving deltas: 13% (32564/232790)
Resolving deltas: 14% (32591/232790)
Resolving deltas: 15% (34919/232790)
Resolving deltas: 16% (37247/232790)
Resolving deltas: 16% (39321/232790)
Resolving deltas: 17% (39576/232790)
Resolving deltas: 18% (41903/232790)
Resolving deltas: 19% (44231/232790)
Resolving deltas: 20% (46558/232790)
Resolving deltas: 21% (48886/232790)
Resolving deltas: 21% (49707/232790)
Resolving deltas: 22% (51214/232790)
Resolving deltas: 23% (53542/232790)
Resolving deltas: 24% (55872/232790)
Resolving deltas: 25% (58199/232790)
Resolving deltas: 26% (60526/232790)
Resolving deltas: 26% (61895/232790)
Resolving deltas: 27% (62854/232790)
Resolving deltas: 28% (65184/232790)
Resolving deltas: 29% (67510/232790)
Resolving deltas: 29% (68647/232790)
Resolving deltas: 30% (69837/232790)
Resolving deltas: 31% (72166/232790)
Resolving deltas: 32% (74493/232790)
Resolving deltas: 33% (76821/232790)
Resolving deltas: 34% (79149/232790)
Resolving deltas: 35% (81478/232790)
Resolving deltas: 35% (81631/232790)
Resolving deltas: 36% (83805/232790)
Resolving deltas: 37% (86133/232790)
Resolving deltas: 38% (88463/232790)
Resolving deltas: 39% (90789/232790)
Resolving deltas: 40% (93116/232790)
Resolving deltas: 41% (95444/232790)
Resolving deltas: 42% (97774/232790)
Resolving deltas: 42% (99983/232790)
Resolving deltas: 43% (100100/232790)
Resolving deltas: 44% (102428/232790)
Resolving deltas: 45% (104757/232790)
Resolving deltas: 45% (106812/232790)
Resolving deltas: 46% (107086/232790)
Resolving deltas: 47% (109412/232790)
Resolving deltas: 47% (109831/232790)
Resolving deltas: 48% (111740/232790)
Resolving deltas: 48% (112452/232790)
Resolving deltas: 49% (114068/232790)
Resolving deltas: 49% (114637/232790)
Resolving deltas: 50% (116395/232790)
Resolving deltas: 51% (118723/232790)
Resolving deltas: 52% (121051/232790)
Resolving deltas: 52% (122120/232790)
Resolving deltas: 53% (123379/232790)
Resolving deltas: 54% (125708/232790)
Resolving deltas: 55% (128036/232790)
Resolving deltas: 56% (130363/232790)
Resolving deltas: 57% (132691/232790)
Resolving deltas: 58% (135019/232790)
Resolving deltas: 59% (137347/232790)
Resolving deltas: 59% (137713/232790)
Resolving deltas: 60% (139675/232790)
Resolving deltas: 61% (142002/232790)
Resolving deltas: 62% (144330/232790)
Resolving deltas: 63% (146658/232790)
Resolving deltas: 64% (148988/232790)
Resolving deltas: 65% (151314/232790)
Resolving deltas: 66% (153644/232790)
Resolving deltas: 67% (155970/232790)
Resolving deltas: 67% (156363/232790)
Resolving deltas: 68% (158298/232790)
Resolving deltas: 69% (160626/232790)
Resolving deltas: 70% (162953/232790)
Resolving deltas: 71% (165281/232790)
Resolving deltas: 72% (167609/232790)
Resolving deltas: 73% (169937/232790)
Resolving deltas: 74% (172265/232790)
Resolving deltas: 74% (174122/232790)
Resolving deltas: 75% (174593/232790)
Resolving deltas: 75% (176688/232790)
Resolving deltas: 76% (176921/232790)
Resolving deltas: 77% (179249/232790)
Resolving deltas: 78% (181578/232790)
Resolving deltas: 79% (183905/232790)
Resolving deltas: 80% (186232/232790)
Resolving deltas: 81% (188560/232790)
Resolving deltas: 82% (190890/232790)
Resolving deltas: 82% (192669/232790)
Resolving deltas: 83% (193216/232790)
Resolving deltas: 84% (195544/232790)
Resolving deltas: 85% (197872/232790)
Resolving deltas: 86% (200200/232790)
Resolving deltas: 87% (202528/232790)
Resolving deltas: 88% (204856/232790)
Resolving deltas: 88% (205395/232790)
Resolving deltas: 89% (207185/232790)
Resolving deltas: 90% (209511/232790)
Resolving deltas: 91% (211839/232790)
Resolving deltas: 92% (214167/232790)
Resolving deltas: 92% (214741/232790)
Resolving deltas: 93% (216495/232790)
Resolving deltas: 94% (218823/232790)
Resolving deltas: 95% (221151/232790)
Resolving deltas: 96% (223479/232790)
Resolving deltas: 97% (225807/232790)
Resolving deltas: 97% (227620/232790)
Resolving deltas: 98% (228135/232790)
Resolving deltas: 99% (230463/232790)
Resolving deltas: 100% (232790/232790)
Resolving deltas: 100% (232790/232790), done.
[1m[32m==>[m[1m Validating source files with sha512sums...[m
gemini-cli ... Passed
]3008;start=aba36cda831d41bfa776d8ce418a16c5;user=root;hostname=aurorus.felixc.at;machineid=01ca1404c26b4b3a80152fb4f25f4ca7;bootid=8232aca5cd774e0d972b47b951aa7978;pid=3263764;comm=systemd-nspawn;container=arch-nspawn-3263764;type=container\[22;2t]2;๐ต Container arch-nspawn-3263764 on aurorus.felixc.at\[1m[32m==>[m[1m Making package: gemini-cli 1:0.21.3-1 (Sun Dec 21 20:52:14 2025)[m
[1m[32m==>[m[1m Checking runtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...
Package (5) New Version Net Change
extra/c-ares 1.34.6-1 0.51 MiB
extra/libngtcp2 1.18.0-1 0.61 MiB
extra/libuv 1.51.0-1 0.60 MiB
extra/simdjson 1:4.2.2-1 6.16 MiB
extra/nodejs 25.2.1-1 55.37 MiB
Total Installed Size: 63.25 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing c-ares...
installing libngtcp2...
installing libuv...
installing simdjson...
installing nodejs...
Optional dependencies for nodejs
npm: nodejs package manager
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[?25h[1m[32m==>[m[1m Checking buildtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...
Package (11) New Version Net Change
extra/node-gyp 12.1.0-1 7.81 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.2.5-1 0.21 MiB
extra/git 2.52.0-1 28.75 MiB
extra/jq 1.8.1-1 0.46 MiB
extra/npm 11.6.4-1 7.14 MiB
Total Installed Size: 45.61 MiB
:: Proceed with installation? [Y/n]
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...
[?25h[1m[32m==>[m[1m Retrieving sources...[m
[1m[33m==> WARNING:[m[1m Skipping all source file integrity checks.[m
[1m[32m==>[m[1m Extracting sources...[m
[1m[34m ->[m[1m Creating working copy of gemini-cli git repo...[m
Cloning into 'gemini-cli'...
done.
Switched to a new branch 'makepkg'
[1m[32m==>[m[1m Starting prepare()...[m
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
added 1315 packages, and audited 1321 packages in 5m
350 packages are looking for funding
run `npm fund` for details
2 high severity vulnerabilities
To address all issues, run:
npm audit fix
Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 11.6.4 -> 11.7.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.7.0
npm notice To update run: npm install -g npm@11.7.0
npm notice
[1m[32m==>[m[1m Starting build()...[m
> @google/gemini-cli@0.21.3 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @google/gemini-cli@0.21.3 generate
> node scripts/generate-git-commit-info.js
Copied 4 policy files to bundle/policies/
Assets copied to bundle/
> @google/gemini-cli@0.21.3 prepare
> husky && npm run bundle
> @google/gemini-cli@0.21.3 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @google/gemini-cli@0.21.3 generate
> node scripts/generate-git-commit-info.js
Copied 4 policy files to bundle/policies/
Assets copied to bundle/
npm notice
npm notice ๐ฆ @google/gemini-cli@0.21.3
npm notice Tarball Contents
npm notice 11.4kB LICENSE
npm notice 11.7kB README.md
npm notice 21.6MB bundle/gemini.js
npm notice 254B bundle/policies/discovered.toml
npm notice 1.9kB 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.2kB package.json
npm notice Bundled Dependencies
npm notice node-pty
npm notice minimist
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 cli-boxes
npm notice cli-cursor
npm notice cli-truncate
npm notice code-excerpt
npm notice convert-to-spaces
npm notice debug
npm notice deep-extend
npm notice environment
npm notice es-toolkit
npm notice get-east-asian-width
npm notice indent-string
npm notice ini
npm notice ink
npm notice ky
npm notice latest-version
npm notice mimic-fn
npm notice onetime
npm notice package-json
npm notice patch-console
npm notice proto-list
npm notice rc
npm notice react-reconciler
npm notice registry-auth-token
npm notice registry-url
npm notice restore-cursor
npm notice scheduler
npm notice semver
npm notice slice-ansi
npm notice stack-utils
npm notice strip-ansi
npm notice wrap-ansi
npm notice ws
npm notice yoga-layout
npm notice nan
npm notice mnemonist
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.21.3
npm notice filename: google-gemini-cli-0.21.3.tgz
npm notice package size: 5.7 MB
npm notice unpacked size: 31.1 MB
npm notice shasum: 1f52a4ca00ab6afee02478f820db71c7aa9a9554
npm notice integrity: sha512-osHFNQcawSuL+[...]tTjTaARdsDMCg==
npm notice bundled deps: 51
npm notice bundled files: 0
npm notice own files: 4154
npm notice total files: 4154
npm notice
google-gemini-cli-0.21.3.tgz
[1m[32m==>[m[1m Starting check()...[m
> @google/gemini-cli@0.21.3 build
> node scripts/build.js
> @google/gemini-cli@0.21.3 generate
> node scripts/generate-git-commit-info.js
> @google/gemini-cli-a2a-server@0.21.3 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli@0.21.3 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli-core@0.21.3 build
> node ../../scripts/build_package.js
Successfully copied files.
> @google/gemini-cli-test-utils@0.21.3 build
> node ../../scripts/build_package.js
Successfully copied files.
> gemini-cli-vscode-ide-companion@0.21.3 build
> npm run build:dev
> gemini-cli-vscode-ide-companion@0.21.3 build:dev
> npm run check-types && npm run lint && node esbuild.js
> gemini-cli-vscode-ide-companion@0.21.3 check-types
> tsc --noEmit
> gemini-cli-vscode-ide-companion@0.21.3 lint
> eslint src
[watch] build started
[watch] build finished
> @google/gemini-cli@0.21.3 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.21.3 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/a2a-server
Coverage enabled with v8
โ src/config/settings.test.ts (6 tests) 121ms
โ src/persistence/gcs.test.ts (12 tests) 496ms
โฏ src/commands/command-registry.test.ts (6 tests | 6 failed) 34262ms
ร CommandRegistry > should register ExtensionsCommand on initialization 6354ms
โ 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".
ร CommandRegistry > should register sub commands on initialization 5340ms
โ 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".
ร CommandRegistry > get() should return undefined for a non-existent command 5024ms
โ 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".
ร CommandRegistry > register() should register a new command 5785ms
โ 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".
ร CommandRegistry > register() should register a nested command 6421ms
โ 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".
ร CommandRegistry > register() should not enter an infinite loop with a cyclic command 5304ms
โ 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/commands/extensions.test.ts (8 tests) 105ms
โ src/commands/restore.test.ts (6 tests) 113ms
โ src/agent/task.test.ts (12 tests) 700ms
โ src/http/endpoints.test.ts (5 tests) 1252ms
โ Agent Server Endpoints > should create a new task via POST /tasks 641ms
โ src/http/app.test.ts (16 tests) 1686ms
โ E2E Tests > should create a new task and stream status updates (text-content) via POST / 612ms
โฏโฏโฏโฏโฏโฏโฏ Failed Tests 6 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/commands/command-registry.test.ts > CommandRegistry > should register ExtensionsCommand on initialization
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/commands/command-registry.test.ts:36:3
34| });
35|
36| it('should register ExtensionsCommand on initialization', async () =โฆ
| ^
37| const { commandRegistry } = await import('./command-registry.js');
38| expect(mockExtensionsCommand).toHaveBeenCalled();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/6]โฏ
FAIL src/commands/command-registry.test.ts > CommandRegistry > should register sub commands on initialization
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/commands/command-registry.test.ts:43:3
41| });
42|
43| it('should register sub commands on initialization', async () => {
| ^
44| const { commandRegistry } = await import('./command-registry.js');
45| const command = commandRegistry.get('extensions list');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/6]โฏ
FAIL src/commands/command-registry.test.ts > CommandRegistry > get() should return undefined for a non-existent command
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/commands/command-registry.test.ts:49:3
47| });
48|
49| it('get() should return undefined for a non-existent command', asyncโฆ
| ^
50| const { commandRegistry } = await import('./command-registry.js');
51| const command = commandRegistry.get('non-existent');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[3/6]โฏ
FAIL src/commands/command-registry.test.ts > CommandRegistry > register() should register a new command
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/commands/command-registry.test.ts:55:3
53| });
54|
55| it('register() should register a new command', async () => {
| ^
56| const { commandRegistry } = await import('./command-registry.js');
57| const mockCommand: Command = {
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[4/6]โฏ
FAIL src/commands/command-registry.test.ts > CommandRegistry > register() should register a nested command
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/commands/command-registry.test.ts:67:3
65| });
66|
67| it('register() should register a nested command', async () => {
| ^
68| const { commandRegistry } = await import('./command-registry.js');
69| const mockSubSubCommand: Command = {
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[5/6]โฏ
FAIL src/commands/command-registry.test.ts > CommandRegistry > register() should not enter an infinite loop with a cyclic command
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/commands/command-registry.test.ts:97:3
95| });
96|
97| it('register() should not enter an infinite loop with a cyclic commaโฆ
| ^
98| const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() =>โฆ
99| const { commandRegistry } = await import('./command-registry.js');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[6/6]โฏ
Test Files 1 failed | 7 passed (8)
Tests 6 failed | 65 passed (71)
Start at 21:18:35
Duration 118.42s (transform 118.83s, setup 0ms, collect 325.66s, tests 38.74s, environment 37ms, prepare 92.56s)
JUNIT report written to /build/gemini-cli/src/gemini-cli/packages/a2a-server/junit.xml
npm error Lifecycle script `test` failed with error:
npm error code 1
npm error path /build/gemini-cli/src/gemini-cli/packages/a2a-server
npm error workspace @google/gemini-cli-a2a-server@0.21.3
npm error location /build/gemini-cli/src/gemini-cli/packages/a2a-server
npm error command failed
npm error command sh -c vitest run
> @google/gemini-cli@0.21.3 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/cli
Coverage enabled with v8
โ src/ui/keyMatchers.test.ts (44 tests) 835ms
โ src/services/prompt-processors/injectionParser.test.ts (21 tests) 346ms
โ src/config/extensions/github_fetch.test.ts (8 tests) 234ms
โ src/utils/envVarResolver.test.ts (16 tests) 470ms
โ src/ui/utils/computeStats.test.ts (12 tests) 409ms
โ src/ui/state/extensions.test.ts (15 tests) 204ms
โ src/utils/commentJson.test.ts (12 tests) 1141ms
โ commentJson > updateSettingsFilePreservingFormat > should preserve comments when updating settings 303ms
โ src/ui/utils/textUtils.test.ts (10 tests) 306ms
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 (22 tests) 478ms
โ src/utils/installationInfo.test.ts (16 tests) 350ms
โ src/config/extensions/update.test.ts (10 tests) 339ms
โ src/config/trustedFolders.test.ts (21 tests) 516ms
โ src/zed-integration/connection.test.ts (7 tests) 677ms
โ src/zed-integration/acp.test.ts (16 tests) 683ms
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) 574ms
โ src/utils/sessionCleanup.test.ts (70 tests) 1131ms
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-dolJ9g/non-existent/.gitignore'
[90m at open (node:internal/fs/promises:641:25)[39m
[90m at Object.writeFile (node:internal/fs/promises:1249: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-dolJ9g/non-existent/.gitignore'[39m
}
โ src/ui/commands/setupGithubCommand.test.ts (10 tests) 1396ms
โ setupGithubCommand > downloads workflows, updates gitignore, and includes pipefail on non-windows 590ms
โ src/services/McpPromptLoader.test.ts (31 tests) 681ms
โ src/ui/commands/restoreCommand.test.ts (13 tests) 1322ms
โ src/config/extensions/extensionEnablement.test.ts (48 tests) 1149ms
โ src/ui/commands/memoryCommand.test.ts (10 tests) 488ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should skip git-ignored files in @ commands
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-IjY72z/node_modules/package.json
โ src/ui/commands/mcpCommand.test.ts (5 tests) 339ms
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-vmtl8M/.env
โ src/config/settingsSchema.test.ts (18 tests) 537ms
โ src/utils/errors.test.ts (28 tests) 1116ms
โ src/utils/sessionCleanup.integration.test.ts (5 tests) 763ms
โ Session Cleanup Integration > should handle missing sessionRetention configuration 320ms
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > git-aware filtering > should always ignore .git directory files
Ignored 1 files:
Git-ignored: /tmp/folder-structure-test-PNLwgP/.git/config
stdout | src/ui/hooks/atCommandProcessor.test.ts > handleAtCommand > gemini-ignore filtering > should skip gemini-ignored files in @ commands
Ignored 1 files:
Gemini-ignored: /tmp/folder-structure-test-79UgzM/build/output.js
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-fvfTaz/dist/bundle.js
โ src/utils/deepMerge.test.ts (14 tests) 341ms
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.
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.
โ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 392ms
โ src/ui/themes/color-utils.test.ts (23 tests) 806ms
โ src/config/extensions/consent.test.ts (17 tests) 661ms
โ src/services/CommandService.test.ts (11 tests) 288ms
โ src/utils/relaunch.test.ts (8 tests) 501ms
โ src/utils/sessions.test.ts (17 tests) 862ms
โ src/utils/sessionUtils.test.ts (20 tests) 1967ms
โ SessionSelector > should resolve session by UUID 1086ms
โ SessionSelector > should throw error for invalid session identifier 381ms
โ src/utils/settingsUtils.test.ts (73 tests) 1309ms
โ src/config/sandboxConfig.test.ts (27 tests) 647ms
โ src/ui/hooks/atCommandProcessor.test.ts (44 tests) 5104ms
โ handleAtCommand > should process a valid text file path 1010ms
โ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 791ms
โ src/config/extensions/extensionSettings.test.ts (22 tests) 1547ms
โ extensionSettings > updateSetting > should leave existing, unmanaged .env variables intact when updating in WORKSPACE scope 332ms
โ src/utils/sandbox.test.ts (7 tests) 701ms
โ src/config/extensions/github.test.ts (33 tests) 732ms
(node:4834) 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/utils/handleAutoUpdate.test.ts (19 tests) 696ms
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/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/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/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
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:641:25)[39m
[90m at Object.writeFile (node:internal/fs/promises:1249: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:622:5)
at GeminiAgent.authenticate [90m(/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/zed-integration/zedIntegration.ts:120:7[90m)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/zed-integration/zedIntegration.test.ts:130: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 handle authentication failure gracefully
[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/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/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/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/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/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/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/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/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/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
โ src/ui/commands/ideCommand.test.ts (8 tests) 772ms
โ ideCommand > install subcommand > should install the extension 328ms
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/config/policy-engine.integration.test.ts (12 tests) 1430ms
โ Policy Engine Integration Tests > Policy configuration produces valid PolicyEngine config > should create a working PolicyEngine from basic settings 310ms
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)
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/commands/mcp/list.test.ts (4 tests) 302ms
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)
โ src/zed-integration/zedIntegration.test.ts (20 tests) 1590ms
โ GeminiAgent > should authenticate correctly 456ms
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)
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/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/extensions/update.test.ts (8 tests) 441ms
โ src/ui/commands/hooksCommand.test.ts (23 tests) 1902ms
โ hooksCommand > root command > should have the correct name and description 848ms
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)
โ src/validateNonInterActiveAuth.test.ts (17 tests) 954ms
โ validateNonInterActiveAuth > exits if no auth type is configured or env vars set 338ms
โ src/commands/hooks/migrate.test.ts (17 tests) 1265ms
โ src/commands/mcp/remove.test.ts (6 tests) 1488ms
โ mcp remove command > unit tests with mocks > should remove a server from project settings 736ms
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.
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) 3149ms
โ mcp add command > should add a stdio server to project settings 1121ms
โ src/commands/extensions/link.test.ts (5 tests) 315ms
โ src/commands/extensions/disable.test.ts (12 tests) 528ms
โ src/commands/extensions/enable.test.ts (7 tests) 472ms
stdout | src/config/settings.test.ts > Settings Loading and Merging > migrateDeprecatedSettings > should migrate disabled extensions from user and workspace settings
Migrating deprecated extensions.disabled settings from User settings...
Migrating deprecated extensions.disabled settings from Workspace settings...
stderr | src/config/settings.test.ts > Settings Loading and Merging > migrateDeprecatedSettings > should migrate disabled extensions from user and workspace settings
[WARN] Skipping unreadable directory: /mock/workspace (ENOENT: no such file or directory, stat '/mock/workspace')
stderr | src/config/settings.test.ts > Settings Loading and Merging > migrateDeprecatedSettings > should not do anything if there are no deprecated settings
[WARN] Skipping unreadable directory: /mock/workspace (ENOENT: no such file or directory, stat '/mock/workspace')
โ src/config/settings.test.ts (80 tests) 1579ms
โ src/commands/extensions/uninstall.test.ts (9 tests) 551ms
โ src/services/FileCommandLoader.test.ts (40 tests) 8406ms
โ FileCommandLoader > loads a single command from a file 996ms
โ FileCommandLoader > Extension Command Loading > loads commands from active extensions 355ms
โ FileCommandLoader > Extension Command Loading > handles missing extension commands directory gracefully 367ms
โ FileCommandLoader > Shell Processor Integration > does not instantiate ShellProcessor if no triggers ({{args}} or !{}) are present 513ms
โ FileCommandLoader > @-file Processor Integration > correctly processes a command with @{file} 316ms
โ src/utils/sandboxUtils.test.ts (17 tests) 510ms
โ src/utils/commands.test.ts (12 tests) 312ms
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.
โ src/ui/themes/theme-manager.test.ts (12 tests) 550ms
โ src/services/prompt-processors/shellProcessor.test.ts (33 tests) 981ms
โ src/ui/commands/chatCommand.test.ts (30 tests) 1328ms
โ src/ui/utils/highlight.test.ts (16 tests) 198ms
โ src/ui/commands/extensionsCommand.test.ts (38 tests) 1415ms
โ extensionsCommand > list > should add an EXTENSIONS_LIST item to the UI 330ms
โ src/ui/utils/kittyProtocolDetector.test.ts (5 tests) 1324ms
โ kittyProtocolDetector > should resolve immediately if not TTY 462ms
โ kittyProtocolDetector > should wait longer if progressive enhancement received but not attributes 389ms
โ src/ui/utils/updateCheck.test.ts (10 tests) 510ms
โ src/config/keyBindings.test.ts (6 tests) 345ms
โ src/config/extension.test.ts (73 tests) 11269ms
โ extension tests > loadExtensions > should include extension path in loaded extension 1417ms
โ extension tests > installExtension > with previous extension config: true > should log an update event to clearcut on success 326ms
โ extension tests > installExtension > should continue installation if user accepts prompt for local extension with mcp servers 304ms
โ extension tests > installExtension > installing from github > should install from a github release successfully 727ms
โ extension tests > installExtension > installing from github > should fallback to git clone without consent if no release data is found on first install 474ms
stderr | src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=yolo corโฆ'
[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+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAFNwMIIAgpAwhCBIYgCCkDACIDQjyIhCECIAgpAxAgCCkDGIRCAFKtIANC//////////8Pg4QiA0KBgICAgICAgAhaBEAgAkIBfCECDAELIANCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgCEEgaiQAIAkgAiAGQoCAgICAgICAgH+DhL85AwALmRgDEn8BfAN+IwBBsARrIgwkACAMQQA2AiwCQCABvSIZQgBTBEBBASERQZkJIRMgAZoiAb0hGQwBCyAEQYAQcQRAQQEhEUGcCSETDAELQZ8JQZoJIARBAXEiERshEyARRSEVCwJAIBlCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiARQQNqIgMgBEH//3txECkgACATIBEQJiAAQe0VQdweIAVBIHEiBRtB4RpB4B4gBRsgASABYhtBAxAmIABBICACIAMgBEGAwABzECkgAyACIAIgA0gbIQoMAQsgDEEQaiESAkACfwJAIAEgDEEsahCMASIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIOQeEARw0BDAMLIAVBIHIiDkHhAEYNAiAMKAIsIQlBBiADIANBAEgbDAELIAwgBkEdayIJNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAJQQBOG2oiDSEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIAlBAEwEQCAJIQMgByEGIA0hCAwBCyANIQggCSEDA0BBHSADIANBHU4bIQMCQCAHQQRrIgYgCEkNACADrSEaQgAhGQNAIAYgGUL/////D4MgBjUCACAahnwiG0KAlOvcA4AiGUKA7JSjDH4gG3w+AgAgBkEEayIGIAhPDQALIBmnIgZFDQAgCEEEayIIIAY2AgALA0AgCCAHIgZJBEAgBkEEayIHKAIARQ0BCwsgDCAMKAIsIANrIgM2AiwgBiEHIANBAEoNAAsLIANBAEgEQCALQRlqQQluQQFqIQ8gDkHmAEYhEANAQQlBACADayIDIANBCU4bIQoCQCAGIAhNBEAgCCgCACEHDAELQYCU69wDIAp2IRRBfyAKdEF/cyEWQQAhAyAIIQcDQCAHIAMgBygCACIXIAp2ajYCACAWIBdxIBRsIQMgB0EEaiIHIAZJDQALIAgoAgAhByADRQ0AIAYgAzYCACAGQQRqIQYLIAwgDCgCLCAKaiIDNgIsIA0gCCAHRUECdGoiCCAQGyIHIA9BAnRqIAYgBiAHa0ECdSAPShshBiADQQBIDQALC0EAIQMCQCAGIAhNDQAgDSAIa0ECdUEJbCEDQQohByAIKAIAIgpBCkkNAANAIANBAWohAyAKIAdBCmwiB08NAAsLIAsgA0EAIA5B5gBHG2sgDkHnAEYgC0EAR3FrIgcgBiANa0ECdUEJbEEJa0gEQEEEQaQCIAlBAEgbIAxqIAdBgMgAaiIKQQltIg9BAnRqQdAfayEJQQohByAPQXdsIApqIgpBB0wEQANAIAdBCmwhByAKQQFqIgpBCEcNAAsLAkAgCSgCACIQIBAgB24iDyAHbCIKRiAJQQRqIhQgBkZxDQAgECAKayEQAkAgD0EBcUUEQEQAAAAAAABAQyEBIAdBgJTr3ANHIAggCU9yDQEgCUEEay0AAEEBcUUNAQtEAQAAAAAAQEMhAQtEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gBiAURhtEAAAAAAAA+D8gECAHQQF2IhRGGyAQIBRJGyEYAkAgFQ0AIBMtAABBLUcNACAYmiEYIAGaIQELIAkgCjYCACABIBigIAFhDQAgCSAHIApqIgM2AgAgA0GAlOvcA08EQANAIAlBADYCACAIIAlBBGsiCUsEQCAIQQRrIghBADYCAAsgCSAJKAIAQQFqIgM2AgAgA0H/k+vcA0sNAAsLIA0gCGtBAnVBCWwhA0EKIQcgCCgCACIKQQpJDQADQCADQQFqIQMgCiAHQQpsIgdPDQALCyAJQQRqIgcgBiAGIAdLGyEGCwNAIAYiByAITSIKRQRAIAdBBGsiBigCAEUNAQsLAkAgDkHnAEcEQCAEQQhxIQkMAQsgA0F/c0F/IAtBASALGyIGIANKIANBe0pxIgkbIAZqIQtBf0F+IAkbIAVqIQUgBEEIcSIJDQBBdyEGAkAgCg0AIAdBBGsoAgAiDkUNAEEKIQpBACEGIA5BCnANAANAIAYiCUEBaiEGIA4gCkEKbCIKcEUNAAsgCUF/cyEGCyAHIA1rQQJ1QQlsIQogBUFfcUHGAEYEQEEAIQkgCyAGIApqQQlrIgZBACAGQQBKGyIGIAYgC0obIQsMAQtBACEJIAsgAyAKaiAGakEJayIGQQAgBkEAShsiBiAGIAtKGyELC0F/IQogC0H9////B0H+////ByAJIAtyIhAbSg0BIAsgEEEAR2pBAWohDgJAIAVBX3EiFUHGAEYEQCADIA5B/////wdzSg0DIANBACADQQBKGyEGDAELIBIgAyADQR91IgZzIAZrrSASEEciBmtBAUwEQANAIAZBAWsiBkEwOgAAIBIgBmtBAkgNAAsLIAZBAmsiDyAFOgAAIAZBAWtBLUErIANBAEgbOgAAIBIgD2siBiAOQf////8Hc0oNAgsgBiAOaiIDIBFB/////wdzSg0BIABBICACIAMgEWoiBSAEECkgACATIBEQJiAAQTAgAiAFIARBgIAEcxApAkACQAJAIBVBxgBGBEAgDEEQaiIGQQhyIQMgBkEJciEJIA0gCCAIIA1LGyIKIQgDQCAINQIAIAkQRyEGAkAgCCAKRwRAIAYgDEEQak0NAQNAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsMAQsgBiAJRw0AIAxBMDoAGCADIQYLIAAgBiAJIAZrECYgCEEEaiIIIA1NDQALIBAEQCAAQYwlQQEQJgsgC0EATCAHIAhNcg0BA0AgCDUCACAJEEciBiAMQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwsgACAGQQkgCyALQQlOGxAmIAtBCWshBiAIQQRqIgggB08NAyALQQlKIQMgBiELIAMNAAsMAgsCQCALQQBIDQAgByAIQQRqIAcgCEsbIQogDEEQaiIGQQhyIQMgBkEJciENIAghBwNAIA0gBzUCACANEEciBkYEQCAMQTA6ABggAyEGCwJAIAcgCEcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAAgBkEBECYgBkEBaiEGIAkgC3JFDQAgAEGMJUEBECYLIAAgBiALIA0gBmsiBiAGIAtKGxAmIAsgBmshCyAHQQRqIgcgCk8NASALQQBODQALCyAAQTAgC0ESakESQQAQKSAAIA8gEiAPaxAmDAILIAshBgsgAEEwIAZBCWpBCUEAECkLIABBICACIAUgBEGAwABzECkgBSACIAIgBUgbIQoMAQsgEyAFQRp0QR91QQlxaiELAkAgA0ELSw0AQQwgA2shBkQAAAAAAAAwQCEYA0AgGEQAAAAAAAAwQKIhGCAGQQFrIgYNAAsgCy0AAEEtRgRAIBggAZogGKGgmiEBDAELIAEgGKAgGKEhAQsgEUECciEJIAVBIHEhCCASIAwoAiwiByAHQR91IgZzIAZrrSASEEciBkYEQCAMQTA6AA8gDEEPaiEGCyAGQQJrIg0gBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQYgDEEQaiEHA0AgByIFAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdBkC9qLQAAIAhyOgAAIAYgA0EASnJFIAEgB7ehRAAAAAAAADBAoiIBRAAAAAAAAAAAYXEgBUEBaiIHIAxBEGprQQFHckUEQCAFQS46AAEgBUECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQpB/f///wcgCSASIA1rIgVqIgZrIANIDQAgAEEgIAIgBgJ/AkAgA0UNACAHIAxBEGprIghBAmsgA04NACADQQJqDAELIAcgDEEQamsiCAsiB2oiAyAEECkgACALIAkQJiAAQTAgAiADIARBgIAEcxApIAAgDEEQaiAIECYgAEEwIAcgCGtBAEEAECkgACANIAUQJiAAQSAgAiADIARBgMAAcxApIAMgAiACIANIGyEKCyAMQbAEaiQAIAoLRgEBfyAAKAI8IQMjAEEQayIAJAAgAyABpyABQiCIpyACQf8BcSAAQQhqEBQQjQEhAiAAKQMIIQEgAEEQaiQAQn8gASACGwu+AgEHfyMAQSBrIgMkACADIAAoAhwiBDYCECAAKAIUIQUgAyACNgIcIAMgATYCGCADIAUgBGsiATYCFCABIAJqIQVBAiEGIANBEGohAQJ/A0ACQAJAAkAgACgCPCABIAYgA0EMahAYEI0BRQRAIAUgAygCDCIHRg0BIAdBAE4NAgwDCyAFQX9HDQILIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwDCyABIAcgASgCBCIISyIJQQN0aiIEIAcgCEEAIAkbayIIIAQoAgBqNgIAIAFBDEEEIAkbaiIBIAEoAgAgCGs2AgAgBSAHayEFIAYgCWshBiAEIQEMAQsLIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBkECRg0AGiACIAEoAgRrCyEEIANBIGokACAECwkAIAAoAjwQGQsjAQF/Qcg7KAIAIgAEQANAIAAoAgARCQAgACgCBCIADQALCwu/AgEFfyMAQeAAayICJAAgAiAANgIAIwBBEGsiAyQAIAMgAjYCDCMAQZABayIAJAAgAEGgL0GQARArIgAgAkEQaiIFIgE2AiwgACABNgIUIABB/////wdBfiABayIEIARB/////wdPGyIENgIwIAAgASAEaiIBNgIcIAAgATYCECAAQbsTIAJBAEEAEIsBGiAEBEAgACgCFCIBIAEgACgCEEZrQQA6AAALIABBkAFqJAAgA0EQaiQAAkAgBSIAQQNxBEADQCAALQAARQ0CIABBAWoiAEEDcQ0ACwsDQCAAIgFBBGohACABKAIAIgNBf3MgA0GBgoQIa3FBgIGChHhxRQ0ACwNAIAEiAEEBaiEBIAAtAAANAAsLIAAgBWtBAWoiABBhIgEEfyABIAUgABArBUEACyEAIAJB4ABqJAAgAAvFAQICfwF8IwBBMGsiBiQAIAEoAgghBwJAQbQ7LQAAQQFxBEBBsDsoAgAhAQwBC0EFQZAnEAwhAUG0O0EBOgAAQbA7IAE2AgALIAYgBTYCKCAGIAQ4AiAgBiADNgIYIAYgAjgCEAJ/IAEgB0GXGyAGQQxqIAZBEGoQEiIIRAAAAAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCQARAjCwwAIAAoAghB6BwQZgsJACAAEJIBECMLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEwEB4gAkEwECshACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEdAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALERIACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/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
โ src/utils/cleanup.test.ts (8 tests) 3073ms
โ cleanup > should run a registered synchronous function 462ms
โ cleanup > should run multiple registered functions 702ms
โ cleanup > should continue running cleanup functions even if one throws an error 505ms
โ cleanup > sync cleanup > should run registered sync functions 415ms
โ cleanup > sync cleanup > should continue running sync cleanup functions even if one throws 340ms
โ src/ui/hooks/useSessionBrowser.test.ts (7 tests) 801ms
โ useSessionBrowser > should successfully resume a session 532ms
โ src/ui/hooks/useIdeTrustListener.test.tsx (5 tests) 895ms
โ useIdeTrustListener > should initialize correctly with no trust information 585ms
โ src/ui/hooks/useHistoryManager.test.ts (8 tests) 853ms
โ useHistoryManager > should initialize with an empty history 512ms
โ src/ui/contexts/MouseContext.test.tsx (15 tests) 930ms
โ MouseContext > should subscribe and unsubscribe a handler 527ms
โ src/ui/contexts/ScrollProvider.test.tsx (9 tests) 1325ms
โ ScrollProvider > Event Handling Status > returns true when scroll event is handled 825ms
โ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 1199ms
โ RadioButtonSelect > Prop forwarding to BaseSelectionList > should forward all props correctly when provided 976ms
โ src/nonInteractiveCli.test.ts (34 tests) 4229ms
โ runNonInteractive > should process input and write text output 418ms
โ runNonInteractive > should execute a slash command that returns a prompt 517ms
โ runNonInteractive > should handle cancellation (Ctrl+C) 622ms
โ src/ui/contexts/ScrollProvider.drag.test.tsx (6 tests) 1453ms
โ ScrollProvider Drag > drags the scrollbar thumb 1049ms
โ src/ui/hooks/usePermissionsModifyTrust.test.ts (13 tests) 1573ms
โ usePermissionsModifyTrust > when targetDirectory is the current workspace > should initialize with the correct trust level 862ms
โ src/ui/hooks/useKeypress.test.tsx (22 tests) 1657ms
โ useKeypress > should not listen if isActive is false 707ms
โ src/ui/hooks/useSelectionList.test.tsx (45 tests) 1859ms
โ useSelectionList > Initialization > should initialize with the default index (0) if enabled 401ms
โฏ src/ui/components/shared/ScrollableList.test.tsx (3 tests | 3 failed) 3361ms
ร ScrollableList Demo Behavior > should scroll to bottom when new items are added and stop when scrolled up 2010ms
โ expected '\n โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Item 1001'
ร ScrollableList Demo Behavior > should display sticky header when scrolled past the item 1221ms
โ 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 94ms
โ expected '\n\n\n\n\n\n\n\n\n' to contain 'Item 0'
โ src/ui/hooks/useEditorSettings.test.tsx (10 tests) 811ms
โ useEditorSettings > should initialize with dialog closed 391ms
โ src/ui/commands/directoryCommand.test.tsx (13 tests) 1072ms
โ directoryCommand > show > should display the list of directories 313ms
โ src/ui/hooks/useInputHistory.test.ts (11 tests) 1237ms
โ useInputHistory > should initialize with historyIndex -1 and empty originalQueryBeforeNav 669ms
โฏ src/ui/components/PermissionsModifyTrustDialog.test.tsx (7 tests | 1 failed) 4678ms
โ PermissionsModifyTrustDialog > should render the main dialog with current trust level 1803ms
โ PermissionsModifyTrustDialog > should display the inherited trust note from parent 324ms
โ PermissionsModifyTrustDialog > should display the inherited trust note from IDE 201ms
ร PermissionsModifyTrustDialog > should render the labels with folder names 1522ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust this folder (dir)'
โ PermissionsModifyTrustDialog > should call onExit when escape is pressed 253ms
โ PermissionsModifyTrustDialog > should commit and restart `r` keypress 253ms
โ PermissionsModifyTrustDialog > should not commit when escape is pressed during restart prompt 282ms
โ src/ui/components/shared/MaxSizedBox.test.tsx (21 tests) 2883ms
โ > renders children without truncation when they fit 890ms
โ > handles words longer than maxWidth by splitting them 313ms
โ src/ui/components/shared/text-buffer.test.ts (163 tests) 4040ms
โ useTextBuffer > Initialization > should initialize with empty text and cursor at (0,0) by default 487ms
โ useTextBuffer > Initialization > should initialize with multi-byte unicode characters and correct cursor offset 367ms
โ src/ui/hooks/useAutoAcceptIndicator.test.ts (17 tests) 1971ms
โ useAutoAcceptIndicator > should initialize with ApprovalMode.AUTO_EDIT if config.getApprovalMode returns ApprovalMode.AUTO_EDIT 574ms
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
โ src/ui/hooks/useMessageQueue.test.tsx (14 tests) 1566ms
โ useMessageQueue > should initialize with empty queue 717ms
โ src/zed-integration/fileSystemService.test.ts (5 tests) 275ms
โ src/ui/hooks/useShellHistory.test.ts (7 tests) 1885ms
โ useShellHistory > should initialize and read the history file from the correct path 846ms
โ src/ui/contexts/SessionContext.test.tsx (4 tests) 1210ms
โ SessionStatsContext > should provide the correct initial state 849ms
โ src/ui/components/ProQuotaDialog.test.tsx (8 tests) 2091ms
โ ProQuotaDialog > for flash model failures > should render "Keep trying" and "Stop" options 1401ms
โ src/ui/hooks/useFolderTrust.test.ts (12 tests) 2123ms
โ useFolderTrust > should not open dialog when folder is already trusted 957ms
โ src/ui/hooks/useInputHistoryStore.test.ts (14 tests) 1877ms
โ useInputHistoryStore > should initialize with empty input history 876ms
โ src/ui/hooks/useGitBranchName.test.tsx (7 tests) 1247ms
โ useGitBranchName > should return branch name 799ms
โ src/ui/hooks/useQuotaAndFallback.test.ts (12 tests) 2536ms
โ useQuotaAndFallback > should register a fallback handler on initialization 751ms
โ useQuotaAndFallback > Fallback Handler Logic > Interactive Fallback > should set an interactive request for a terminal quota error 715ms
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 ]
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".
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".
โ src/ui/hooks/useSessionResume.test.ts (12 tests) 1060ms
โ useSessionResume > loadHistoryForResume > should return a loadHistoryForResume callback 618ms
โ src/ui/components/MultiFolderTrustDialog.test.tsx (8 tests) 2495ms
โ MultiFolderTrustDialog > renders the dialog with the list of folders 1324ms
โ src/ui/hooks/useIncludeDirsTrust.test.tsx (6 tests) 2029ms
โ useIncludeDirsTrust > should do nothing if isTrustedFolder is undefined 1074ms
โ useIncludeDirsTrust > when folder trust is disabled or workspace is untrusted > should add directories directly when 'trust is disabled' 301ms
stdout | src/ui/auth/useAuth.test.tsx > useAuth > useAuthCommand > should authenticate successfully for valid auth type
Authenticated via "oauth-personal".
โ src/ui/auth/useAuth.test.tsx (15 tests) 1983ms
โ useAuth > useAuthCommand > should initialize with Unauthenticated state 733ms
โ src/ui/components/shared/TextInput.test.tsx (11 tests) 2498ms
โ TextInput > renders with an initial value 1527ms
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
โ src/ui/hooks/useSlashCompletion.test.ts (21 tests) 2241ms
โ useSlashCompletion > Top-Level Commands > should suggest all top-level commands for the root slash 767ms
โ src/ui/contexts/KeypressContext.test.tsx (87 tests) 6304ms
โ KeypressContext > Enter key handling > should recognize 'regular enter key (keycode 13)' in kitty protocol 1165ms
โ src/ui/hooks/useExtensionUpdates.test.tsx (4 tests) 1270ms
โ useExtensionUpdates > should check for updates and log a message if an update is available 732ms
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
โ src/ui/components/DialogManager.test.tsx (18 tests) 1836ms
โ DialogManager > renders nothing by default 693ms
โ DialogManager > renders { showIdeRestartPrompt: true, ideTrustRestartReason: 'update' } when state is 'IdeTrustChangeDialog' 305ms
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
โ src/ui/components/shared/VirtualizedList.test.tsx (9 tests) 6999ms
โ > with 10px height and 100 items > renders only visible items ('top') 2820ms
โ > with 10px height and 100 items > renders only visible items ('scrolled to bottom') 1036ms
โ > with 10px height and 100 items > sticks to bottom when new items added 630ms
โ > with 10px height and 100 items > scrolls down to show new items when requested via ref 375ms
โ > with 10px height and 100 items > mounts only visible items with 1000 items and 10px height (scroll: +0) 335ms
โ > with 10px height and 100 items > mounts only visible items with 1000 items and 10px height (scroll: 500) 399ms
โ > with 10px height and 100 items > mounts only visible items with 1000 items and 10px height (scroll: 999) 594ms
โ > renders more items when a visible item shrinks via context update 359ms
โ > updates scroll position correctly when scrollBy is called multiple times in the same tick 388ms
โ src/ui/hooks/shellCommandProcessor.test.tsx (20 tests) 1659ms
โ useShellCommandProcessor > should initiate command execution and set pending state 590ms
โ src/ui/auth/AuthDialog.test.tsx (21 tests) 5541ms
โ AuthDialog > Environment Variable Effects on Auth Options > correctly shows/hides COMPUTE_ADC options 'in Cloud Shell' 1676ms
โ AuthDialog > Initial Auth Type Selection > selects initial auth type 'from GEMINI_DEFAULT_AUTH_TYPE env var' 338ms
โ AuthDialog > handleAuthSelect > exits process for Login with Google when browser is suppressed 405ms
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/hooks/useGeminiStream.test.tsx > useGeminiStream > should submit tool responses when all tool calls are completed and ready
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should handle all tool calls being cancelled
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
โ src/ui/components/ModelStatsDisplay.test.tsx (6 tests) 2796ms
โ > should render "no API calls" message when there are no active models 1174ms
โ > should not display conditional rows if no model has data for them 364ms
โ > should display conditional rows if at least one model has data 316ms
โ > should display stats for multiple models correctly 447ms
โ src/ui/components/SessionBrowser.test.tsx (6 tests) 7442ms
โ SessionBrowser component > shows empty state when no sessions exist 2450ms
โ SessionBrowser component > renders a list of sessions and marks current session as disabled 1141ms
โ SessionBrowser component > enters search mode, filters sessions, and renders match snippets 2361ms
โ SessionBrowser component > handles keyboard navigation and resumes the selected session 1070ms
โ SessionBrowser component > does not allow resuming or deleting the current session 304ms
โ src/ui/hooks/slashCommandProcessor.test.tsx (37 tests) 5274ms
โ useSlashCommandProcessor > Console Clear Safety > should not call console.clear if alternate buffer is active 1352ms
โ useSlashCommandProcessor > Shell Command Confirmation Flow > should set confirmation request when action returns confirm_shell_commands 344ms
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should group multiple cancelled tool call responses into a single history entry
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
stderr | src/ui/hooks/useGeminiStream.test.tsx > useGeminiStream > should not flicker streaming state to Idle between tool completion and submission
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
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/utils/readStdin.test.ts (6 tests) 582ms
โ src/ui/hooks/vim.test.tsx (87 tests) 6750ms
โ useVim hook > Mode switching > should start in NORMAL mode 634ms
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/hooks/useGeminiStream.test.tsx > useGeminiStream > Memory Refresh on save_memory > should call performMemoryRefresh when a save_memory tool call completes successfully
Error recording completed tool call information: TypeError: config.getGeminiClient(...).getCurrentSequenceModel is not a function
โ src/utils/dialogScopeUtils.test.ts (4 tests) 188ms
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
โ src/ui/components/messages/CompressionMessage.test.tsx (8 tests) 2086ms
โ > pending state > renders pending message when compression is in progress 1116ms
โ > normal compression (successful token reduction) > renders success message when tokens are reduced 307ms
โ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 2090ms
โ > should render "no tool calls" message when there are no active tools 1274ms
โ src/ui/commands/permissionsCommand.test.ts (7 tests) 592ms
โ permissionsCommand > should have the correct name and description 378ms
โ src/ui/commands/toolsCommand.test.ts (4 tests) 345ms
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
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 > > 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
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
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
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
โ src/ui/hooks/useLoadingIndicator.test.tsx (6 tests) 1095ms
โ useLoadingIndicator > should initialize with default values when Idle 563ms
โ src/ui/hooks/usePhraseCycler.test.tsx (13 tests) 3035ms
โ usePhraseCycler > should initialize with a witty phrase when not active and not waiting 886ms
โ usePhraseCycler > should show a tip on first activation, then a witty phrase 430ms
โ src/ui/components/DebugProfiler.test.tsx (13 tests) 1910ms
โ DebugProfiler Component > should return null when showDebugProfiler is false 639ms
โ DebugProfiler Component > should render stats when showDebugProfiler is true 674ms
โฏ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests | 10 failed) 16941ms
โ BaseSelectionList > Rendering and Structure > should render all items using the renderItem prop 1974ms
โ BaseSelectionList > Rendering and Structure > should render the selection indicator (โ or space) and layout 229ms
โ BaseSelectionList > Rendering and Structure > should handle an empty list gracefully 84ms
โ BaseSelectionList > useSelectionList Integration > should pass props correctly to useSelectionList 380ms
โ BaseSelectionList > useSelectionList Integration > should use the activeIndex returned by the hook 465ms
โ BaseSelectionList > Styling and Colors > should apply success color to the selected item 461ms
โ BaseSelectionList > Styling and Colors > should apply primary color to unselected, enabled items 377ms
โ BaseSelectionList > Styling and Colors > should apply secondary color to disabled items (when not selected) 270ms
โ BaseSelectionList > Styling and Colors > should apply success color to disabled items if they are selected 368ms
โ BaseSelectionList > Numbering (showNumbers) > should show numbers by default with correct formatting 271ms
โ BaseSelectionList > Numbering (showNumbers) > should hide numbers when showNumbers is false 247ms
โ BaseSelectionList > Numbering (showNumbers) > should apply correct padding for alignment in long lists 858ms
โ BaseSelectionList > Numbering (showNumbers) > should apply secondary color to numbers if showNumbers is false (internal logic check) 147ms
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should only show maxItemsToShow items initially 514ms
โ 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 1743ms
โ 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 1368ms
โ 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 1308ms
โ 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 153ms
โ 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 213ms
โ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should correctly identify the selected item when scrolled (high index) 191ms
ร BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle maxItemsToShow larger than the list length 551ms
โ expected 'โ 1. I\n t\n e\n m\n โฆ' to contain 'Item 1'
โ BaseSelectionList > Scroll Arrows (showScrollArrows) > should not show arrows by default 234ms
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top) 1574ms
โ expected 'โฒ\nโ 1. I\n t\n e\n mโฆ' to contain 'Item 1'
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the middle 1358ms
โ expected 'โฒ\n 4. I\n t\n e\n mโฆ' to contain 'Item 4'
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the end 1300ms
โ expected 'โฒ\n 8. I\n t\n e\n mโฆ' to contain 'Item 8'
ร BaseSelectionList > Scroll Arrows (showScrollArrows) > should show both arrows dimmed when list fits entirely 229ms
โ expected 'โฒ\nโ 1. I\n t\n e\n m\n โฆ' to contain 'Item A'
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
โฏ src/ui/components/StatsDisplay.test.tsx (13 tests | 4 failed) 4606ms
โ > renders only the Performance section in its zero state 1583ms
ร > renders a table with two models correctly 592ms
โ Snapshot ` > renders a table with two models correctly 1` mismatched
ร > renders all sections when all data is present 365ms
โ Snapshot ` > renders all sections when all data is present 1` mismatched
โ > Conditional Rendering Tests > hides User Agreement when no decisions are made 145ms
ร > Conditional Rendering Tests > hides Efficiency section when cache is not used 180ms
โ Snapshot ` > Conditional Rendering Tests > hides Efficiency section when cache is not used 1` mismatched
โ > Conditional Color Tests > renders success rate in green for high values 119ms
โ > Conditional Color Tests > renders success rate in yellow for medium values 104ms
โ > Conditional Color Tests > renders success rate in red for low values 141ms
โ > Code Changes Display > displays Code Changes when line counts are present 244ms
โ > Code Changes Display > hides Code Changes when no lines are added or removed 226ms
โ > Title Rendering > renders the default title when no title prop is provided 176ms
โ > Title Rendering > renders the custom title when a title prop is provided 345ms
ร > Quota Display > renders quota information when quotas are provided 339ms
โ Snapshot ` > Quota Display > renders quota information when quotas are provided 1` mismatched
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 (14 tests | 7 failed) 12328ms
โ > renders the initial "main" view correctly 2377ms
ร > renders "main" view with preview options when preview features are enabled 1908ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
ร > switches to "manual" view when "Manual" is selected 1856ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
ร > renders "manual" view with preview options when preview features are enabled 1412ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-3-pro-preview'
ร > sets model and closes when a model is selected in "main" view 527ms
โ expected "spy" to be called with arguments: [ 'auto-gemini-2.5' ][90m
Number of calls: [1m0[22m
[39m
ร > sets model and closes when a model is selected in "manual" view 1140ms
โ expected "spy" to be called with arguments: [ 'gemini-2.5-pro' ][90m
Received:
[1m 1st spy call:
[22m[2m [[22m
[32m- "gemini-2.5-pro",[90m
[31m+ "auto-gemini-2.5",[90m
[2m ][22m
[39m[90m
Number of calls: [1m1[22m
[39m
โ > closes dialog on escape in "main" view 522ms
ร > goes back to "main" view on escape in "manual" view 905ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'gemini-2.5-pro'
โ > Preview Logic > should NOT show preview options if user has no access 289ms
โ > Preview Logic > should NOT show preview options if user has access but preview features are disabled 260ms
ร > Preview Logic > should show preview options if user has access AND preview features are enabled 356ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Auto (Preview)'
โ > Preview Logic > should show "Gemini 3 is now available" header if user has access but preview features disabled 227ms
โ > Preview Logic > should show "Gemini 3 is coming soon" header if user has no access 246ms
โ > Preview Logic > should NOT show header/subheader if preview options are shown 247ms
โ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 2128ms
โ useReverseSearchCompletion > Core Hook Behavior > State Management > should initialize with default state 1128ms
โ src/ui/hooks/useGeminiStream.test.tsx (54 tests) 9962ms
โ useGeminiStream > should not submit tool responses if not all tool calls are completed 980ms
โ useGeminiStream > should submit tool responses when all tool calls are completed and ready 408ms
โ useGeminiStream > handleFinishedEvent > should handle 'STOP' finish reason correctly 663ms
โ useGeminiStream > Loop Detection Confirmation > should handle multiple loop detection events properly 446ms
โ src/commands/extensions/examples/mcp-server/example.test.ts (7 tests) 18187ms
โ MCP Server Example > should create an McpServer with the correct name and version 4595ms
โ MCP Server Example > should register the "fetch_posts" tool 1338ms
โ MCP Server Example > should register the "poem-writer" prompt 2355ms
โ MCP Server Example > should connect the server to an StdioServerTransport 2731ms
โ MCP Server Example > fetch_posts tool implementation > should fetch posts and return a formatted response 2459ms
โ MCP Server Example > poem-writer prompt implementation > should generate a prompt with a title 2853ms
โ MCP Server Example > poem-writer prompt implementation > should generate a prompt with a title and mood 1793ms
โ src/ui/commands/initCommand.test.ts (3 tests) 371ms
โ src/ui/components/LoadingIndicator.test.tsx (16 tests) 4196ms
โ > should not render when streamingState is Idle 850ms
โ > should render spinner, phrase, and time when streamingState is Responding 641ms
โ > should render spinner (static), phrase but no time/cancel when streamingState is WaitingForConfirmation 423ms
โ src/ui/commands/statsCommand.test.ts (4 tests) 316ms
โ src/ui/hooks/useToolScheduler.test.ts (23 tests) 4770ms
โ useReactToolScheduler in YOLO Mode > should skip confirmation and execute tool directly when yoloMode is true 1348ms
โ useReactToolScheduler > should handle live output updates 1566ms
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
โ src/ui/utils/textOutput.test.ts (10 tests) 326ms
โ src/ui/components/Notifications.test.tsx (8 tests) 1358ms
โ Notifications > renders nothing when no notifications 411ms
โ Notifications > renders startup warnings: Warning 1 575ms
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. useCallback useCallback
57. useCallback useCallback
58. useCallback useCallback
59. useCallback useCallback
60. useCallback useCallback
61. useMemo useMemo
62. useState useState
63. useState useState
64. useState useState
65. useState useState
66. useState useState
67. useState useState
68. useCallback useCallback
69. useCallback useCallback
70. useCallback useCallback
71. useMemo useMemo
72. 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
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 (21 tests) 3082ms
โ useCommandCompletion > Core Hook Behavior > State Management > should initialize with default state 1093ms
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
โ src/ui/components/messages/DiffRenderer.test.tsx (26 tests) 16884ms
โ > with useAlternateBuffer = true > should call colorizeCode with correct language for new file with known extension 1550ms
โ > with useAlternateBuffer = true > should call colorizeCode with null language for new file with unknown extension 3503ms
โ > with useAlternateBuffer = true > should call colorizeCode with null language for new file if no filename is provided 952ms
โ > with useAlternateBuffer = true > should handle diff with only header and no changes 898ms
โ > with useAlternateBuffer = true > should render a gap indicator for skipped lines 627ms
โ > with useAlternateBuffer = true > should not render a gap indicator for small gaps (<= MAX_CONTEXT_LINES_WITHOUT_GAP) 433ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height undefined 551ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 881ms
โ > with useAlternateBuffer = true > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 30 and height 6 1059ms
โ > with useAlternateBuffer = true > should correctly render a diff with a SVN diff format 1200ms
โ > with useAlternateBuffer = true > should correctly render a new file with no file extension correctly 345ms
โ > with useAlternateBuffer = false > should render a gap indicator for skipped lines 709ms
โ > with useAlternateBuffer = false > should not render a gap indicator for small gaps (<= MAX_CONTEXT_LINES_WITHOUT_GAP) 689ms
โ > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height undefined 885ms
โ > with useAlternateBuffer = false > should correctly render a diff with multiple hunks and a gap indicator > with terminalWidth 80 and height 6 315ms
โ > with useAlternateBuffer = false > should correctly render a diff with a SVN diff format 429ms
โ src/utils/userStartupWarnings.test.ts (5 tests) 327ms
โฏ src/ui/components/Footer.test.tsx (21 tests | 3 failed) 6158ms
โ > renders the component 1214ms
โ > path display > should display a shortened path on a narrow terminal 143ms
โ > path display > should use wide layout at 80 columns 120ms
โ > displays the branch name when provided 1003ms
โ > does not display the branch name when not provided 78ms
โ > displays the model name and context percentage 121ms
โ > displays the model name and abbreviated context percentage 74ms
โ > sandbox and trust info > should display untrusted when isTrustedFolder is false 69ms
โ > sandbox and trust info > should display custom sandbox info when SANDBOX env is set 117ms
โ > sandbox and trust info > should display macOS Seatbelt info when SANDBOX is sandbox-exec 106ms
โ > sandbox and trust info > should display "no sandbox" when SANDBOX is not set and folder is trusted 95ms
โ > sandbox and trust info > should prioritize untrusted message over sandbox info 65ms
โ > footer configuration filtering (golden snapshots) > renders complete footer with all sections visible (baseline) 130ms
โ > footer configuration filtering (golden snapshots) > renders footer with all optional sections hidden (minimal footer) 53ms
ร > footer configuration filtering (golden snapshots) > renders footer with only model info hidden (partial filtering) 239ms
โ 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) 330ms
โ 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 1271ms
โ > footer configuration filtering (golden snapshots) > shows the context percentage when hideContextPercentage is false 334ms
ร > footer configuration filtering (golden snapshots) > renders complete footer in narrow terminal (baseline narrow) 202ms
โ 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 176ms
โ fallback mode display > should display Pro model when NOT in fallback mode 166ms
โ src/ui/commands/docsCommand.test.ts (3 tests) 731ms
โ docsCommand > should add an info message and call 'open' in a non-sandbox environment 637ms
โ src/utils/persistentState.test.ts (5 tests) 351ms
โฏ src/ui/hooks/useAtCompletion.test.ts (15 tests | 2 failed) 9590ms
โ useAtCompletion > File Search Logic > should perform a recursive search for an empty pattern 1080ms
โ useAtCompletion > File Search Logic > should correctly filter the recursive list based on a pattern 374ms
โ useAtCompletion > File Search Logic > should append a trailing slash to directory paths in suggestions 311ms
โ useAtCompletion > File Search Logic > should perform a case-insensitive search by lowercasing the pattern 312ms
ร useAtCompletion > MCP resource suggestions > should include MCP resources in the suggestion list using fuzzy matching 2380ms
โ expected false to be true // Object.is equality
โ Failing test due to "act(...)" warnings:
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
at Timeout._onTimeout (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:252:9)
at listOnTimeout (node:internal/timers:605:17)
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
at search (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:290:9)
ร useAtCompletion > UI State and Loading Behavior > should be in a loading state during initial file system crawl 1626ms
โ Failing test due to "act(...)" warnings:
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
at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:171:5
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
at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:175:5
โ useAtCompletion > UI State and Loading Behavior > should NOT show a loading indicator for subsequent searches that complete under 200ms 1316ms
โ useAtCompletion > UI State and Loading Behavior > should show a loading indicator and clear old suggestions for subsequent searches that take longer than 200ms 494ms
โ useAtCompletion > UI State and Loading Behavior > should abort the previous search when a new one starts 209ms
โ useAtCompletion > State Management > should reset the state when disabled after being in a READY state 173ms
โ useAtCompletion > State Management > should reset the state when disabled after being in an ERROR state 124ms
โ useAtCompletion > Filtering and Configuration > should respect .gitignore files 193ms
โ useAtCompletion > Filtering and Configuration > should work correctly when config is undefined 217ms
โ useAtCompletion > Filtering and Configuration > should reset and re-initialize when the cwd changes 460ms
โ useAtCompletion > Filtering and Configuration > should perform a non-recursive search when enableRecursiveFileSearch is false 256ms
โ src/ui/App.test.tsx (11 tests) 1955ms
โ App > should render main content and composer when not quitting 1059ms
โ App > should render full history in alternate buffer mode when quittingMessages is set 508ms
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
(node:4955) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 mcp-client-update listeners added to [EventEmitter]. 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
โ src/ui/components/Composer.test.tsx (20 tests) 8890ms
โ Composer > Footer Display Settings > renders Footer by default when hideFooter is false 2549ms
โ Composer > Footer Display Settings > passes correct props to Footer including vim mode when enabled 456ms
โ Composer > Loading Indicator > renders LoadingIndicator with thought when streaming 352ms
โ Composer > Loading Indicator > renders LoadingIndicator without thought when accessibility disables loading phrases 664ms
โ Composer > Loading Indicator > suppresses thought when waiting for confirmation 369ms
โ Composer > Message Queue Display > displays queued messages when present 584ms
โ Composer > Message Queue Display > renders QueuedMessageDisplay with empty message queue 661ms
โ Composer > Context and Status Display > shows Ctrl+D exit prompt when ctrlDPressedOnce is true 318ms
โ Composer > Context and Status Display > shows escape prompt when showEscapePrompt is true 1725ms
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 | ../../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
โ src/ui/utils/MarkdownDisplay.test.tsx (30 tests) 10840ms
โ > renders nothing for empty text 820ms
โ > renders a simple paragraph 458ms
โ > with 'Windows' line endings > renders a fenced code block with a language 1435ms
โ > with 'Windows' line endings > renders a fenced code block without a language 3188ms
โ > with 'Windows' line endings > renders tables correctly 1005ms
โ > with 'Windows' line endings > correctly parses a mix of markdown elements 548ms
โ > with 'Unix' line endings > correctly parses a mix of markdown elements 343ms
โฏ src/services/BuiltinCommandLoader.test.ts (10 tests | 2 failed) 11729ms
โ BuiltinCommandLoader > should correctly pass the config object to restore command factory 322ms
โ BuiltinCommandLoader > should filter out null command definitions returned by factories 28ms
โ BuiltinCommandLoader > should handle a null config gracefully when calling factories 40ms
โ BuiltinCommandLoader > should return a list of all loaded commands 30ms
โ BuiltinCommandLoader > should include permissions command when folder trust is enabled 17ms
โ BuiltinCommandLoader > should exclude permissions command when folder trust is disabled 24ms
โ BuiltinCommandLoader > should include policies command when message bus integration is enabled 40ms
โ BuiltinCommandLoader > should exclude policies command when message bus integration is disabled 106ms
ร BuiltinCommandLoader profile > should not include profile command when isDevelopment is false 5988ms
โ 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".
ร BuiltinCommandLoader profile > should include profile command when isDevelopment is true 5085ms
โ 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".
stderr | src/ui/components/messages/ToolMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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/messages/ToolMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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/messages/ToolMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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/messages/ToolMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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/messages/ToolMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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/messages/ToolMessage.test.tsx (12 tests | 1 failed) 10834ms
โ > renders basic tool information 4248ms
โ > ToolStatusIndicator rendering > shows โ for Success status 424ms
โ > ToolStatusIndicator rendering > shows o for Pending status 445ms
โ > ToolStatusIndicator rendering > shows ? for Confirming status 499ms
โ > ToolStatusIndicator rendering > shows - for Canceled status 426ms
โ > ToolStatusIndicator rendering > shows x for Error status 455ms
โ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is Idle 819ms
โ > ToolStatusIndicator rendering > shows paused spinner for Executing status when streamingState is WaitingForConfirmation 978ms
โ > ToolStatusIndicator rendering > shows MockRespondingSpinner for Executing status when streamingState is Responding 436ms
โ > renders DiffRenderer for diff results 526ms
ร > renders emphasis correctly 870ms
โ Snapshot ` > renders emphasis correctly 1` mismatched
โ > renders AnsiOutputText for AnsiOutput results 561ms
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx (17 tests | 2 failed) 10628ms
โ > Golden Snapshots > renders single successful tool call 3555ms
โ > Golden Snapshots > renders multiple tool calls with different statuses 1296ms
ร > Golden Snapshots > renders tool call awaiting confirmation 1397ms
โ Snapshot ` > Golden Snapshots > renders tool call awaiting confirmation 1` mismatched
โ > Golden Snapshots > renders shell command with yellow border 276ms
โ > Golden Snapshots > renders mixed tool calls including shell command 412ms
โ > Golden Snapshots > renders with limited terminal height 348ms
โ > Golden Snapshots > renders when not focused 306ms
โ > Golden Snapshots > renders with narrow terminal width 316ms
โ > Golden Snapshots > renders empty tool calls array 65ms
โ > Golden Snapshots > renders header when scrolled 734ms
โ > Golden Snapshots > renders tool call with outputFile 293ms
โ > Golden Snapshots > renders two tool groups where only the last line of the previous group is visible 255ms
โ > Border Color Logic > uses yellow border when tools are pending 129ms
โ > Border Color Logic > uses yellow border for shell commands even when successful 150ms
โ > Border Color Logic > uses gray border when all tools are successful and no shell commands 256ms
โ > Height Calculation > calculates available height correctly with multiple tools with results 337ms
ร > Confirmation Handling > shows confirmation dialog for first confirming tool only 421ms
โ Snapshot ` > Confirmation Handling > shows confirmation dialog for first confirming tool only 1` mismatched
stderr | src/ui/components/messages/ToolGroupMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that 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/messages/ToolMessage.test.tsx
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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/components/SettingsDialog.test.tsx > SettingsDialog > Settings Toggling > should toggle setting with Enter key
[DEBUG SettingsDialog] Saving general.vimMode immediately with value: [33mtrue[39m
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
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to Spinner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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/config.integration.test.ts (14 tests | 7 failed) 79424ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should load default file filtering seโฆ' 366ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should load custom file filtering setโฆ' 70ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should respect file filtering settingโฆ' 38ms
โ Configuration Integration Tests > File Filtering and Configuration > 'should handle empty fileFiltering objโฆ' 23ms
โ Configuration Integration Tests > Real-world Configuration Scenarios > 'should handle a security-focused confโฆ' 30ms
โ Configuration Integration Tests > Real-world Configuration Scenarios > 'should handle a CI/CD environment conโฆ' 35ms
โ Configuration Integration Tests > Checkpointing Configuration > should enable checkpointing when the setting is true 42ms
ร Configuration Integration Tests > Approval Mode Integration Tests > 'should parse --approval-mode=auto_ediโฆ' 10095ms
โ 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โฆ' 18053ms
โ 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 โฆ' 10196ms
โ 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โฆ' 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 handle no approval mode argumeโฆ' 10033ms
โ 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 reject invalid approval mode vโฆ' 10039ms
โ 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 reject conflicting --yolo and โฆ' 10190ms
โ 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/ui/utils/formatters.test.ts (14 tests) 179ms
โ src/ui/utils/markdownUtilities.test.ts (7 tests) 317ms
โ src/test-utils/mockCommandContext.test.ts (3 tests) 432ms
โ createMockCommandContext > should return a valid CommandContext object with default mocks 318ms
โ src/ui/utils/directoryUtils.test.ts (5 tests) 214ms
โ src/ui/utils/input.test.ts (6 tests) 303ms
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
โ src/utils/windowTitle.test.ts (7 tests) 422ms
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/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
โ src/ui/commands/modelCommand.test.ts (3 tests) 290ms
โ src/ui/components/InputPrompt.test.tsx (113 tests) 30339ms
โ InputPrompt > should call shellHistory.getPreviousCommand on up arrow in shell mode 3400ms
โ InputPrompt > should call shellHistory.getNextCommand on down arrow in shell mode 947ms
โ InputPrompt > should NOT call completion navigation when suggestions are not showing 413ms
โ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 504ms
โ InputPrompt > clipboard image paste > should handle errors during clipboard operations 352ms
โ InputPrompt > 'should complete a partial parent commโฆ' 566ms
โ InputPrompt > 'should append a sub-command when pareโฆ' 343ms
โ InputPrompt > 'should handle the backspace edge caseโฆ' 709ms
โ InputPrompt > unfocused paste > should handle bracketed paste when not focused 315ms
โ InputPrompt > Highlighting and Cursor Display > single-line scenarios > should display cursor correctly 'on a space between words' 394ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'in the middle of a line' in a multiline block 340ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor correctly 'at the end of a line' in a multiline block 357ms
โ InputPrompt > Highlighting and Cursor Display > multi-line scenarios > should display cursor on a blank line in a multiline block 946ms
โ InputPrompt > multiline rendering > should correctly render multiline input including blank lines 398ms
โ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after an unsafe paste 308ms
โ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC in shell mode by disabling shell mode 327ms
โ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC when completion suggestions are showing 377ms
โ InputPrompt > enhanced input UX - double ESC clear functionality > should not call onEscapePromptChange when not provided 345ms
โ InputPrompt > reverse search > resets reverse search state on Escape ('standard') 301ms
โ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 526ms
โ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 399ms
โ InputPrompt > queued message editing > should not call popAllMessages if it is not provided 786ms
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
โ src/core/auth.test.ts (3 tests) 302ms
โ src/ui/commands/helpCommand.test.ts (2 tests) 398ms
โ helpCommand > should add a help message to the UI history 333ms
โ src/ui/commands/quitCommand.test.ts (1 test) 715ms
โ quitCommand > returns a QuitActionReturn object with the correct messages 666ms
โ src/utils/version.test.ts (3 tests) 138ms
โ src/ui/commands/privacyCommand.test.ts (2 tests) 527ms
โ privacyCommand > should return a dialog action to open the privacy dialog 455ms
โ src/ui/commands/settingsCommand.test.ts (2 tests) 231ms
โ src/commands/utils.test.ts (2 tests) 146ms
โ src/utils/events.test.ts (2 tests) 183ms
โ src/ui/commands/corgiCommand.test.ts (2 tests) 657ms
โ corgiCommand > should call the toggleCorgiMode function on the UI context 572ms
โ src/ui/commands/themeCommand.test.ts (2 tests) 565ms
โ themeCommand > should return a dialog action to open the theme dialog 440ms
โ src/utils/checks.test.ts (3 tests) 145ms
โ src/ui/commands/authCommand.test.ts (2 tests) 314ms
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
โ src/ui/commands/editorCommand.test.ts (2 tests) 385ms
โ editorCommand > should return a dialog action to open the editor dialog 324ms
โ src/config/settingPaths.test.ts (2 tests) 112ms
stdout | src/ui/components/SettingsDialog.test.tsx > SettingsDialog > String Settings Editing > should allow editing and committing a string setting
[DEBUG SettingsDialog] Saving general.vimMode immediately with value: [33mtrue[39m
[DEBUG SettingsDialog] Saving general.vimMode immediately with value: [33mtrue[39m
โ src/utils/resolvePath.test.ts (7 tests) 127ms
โ src/utils/updateEventEmitter.test.ts (1 test) 349ms
โ src/utils/math.test.ts (7 tests) 387ms
โฏ src/ui/components/HistoryItemDisplay.test.tsx (19 tests | 1 failed) 25504ms
โ > renders UserMessage for "user" type 1865ms
โ > renders UserMessage for "user" type with slash command 127ms
โ > renders InfoMessage for "info" type with multi-line text (alternateBuffer=true) 578ms
โ > renders InfoMessage for "info" type with multi-line text (alternateBuffer=false) 238ms
โ > renders StatsDisplay for "stats" type 1063ms
โ > renders AboutBox for "about" type 565ms
โ > renders ModelStatsDisplay for "model_stats" type 355ms
โ > renders ToolStatsDisplay for "tool_stats" type 337ms
โ > renders SessionSummaryDisplay for "quit" type 1105ms
ร > should escape ANSI codes in text content 713ms
โ expected '\n> H\n e\n l\n l\n o\n ,\n \\nโฆ' to contain 'Hello, \u001b[31mred\u001b[0m world!'
โ > should escape ANSI codes in tool confirmation details 102ms
โ > gemini items (alternateBuffer=true) > should render a truncated gemini item 3589ms
โ > gemini items (alternateBuffer=true) > should render a full gemini item when using availableTerminalHeightGemini 3228ms
โ > gemini items (alternateBuffer=true) > should render a truncated gemini_content item 2653ms
โ > gemini items (alternateBuffer=true) > should render a full gemini_content item when using availableTerminalHeightGemini 2357ms
โ > gemini items (alternateBuffer=false) > should render a truncated gemini item 871ms
โ > gemini items (alternateBuffer=false) > should render a full gemini item when using availableTerminalHeightGemini 2897ms
โ > gemini items (alternateBuffer=false) > should render a truncated gemini_content item 503ms
โ > gemini items (alternateBuffer=false) > should render a full gemini_content item when using availableTerminalHeightGemini 2232ms
โ src/ui/components/ContextUsageDisplay.test.tsx (3 tests) 777ms
โ ContextUsageDisplay > renders correct percentage left 684ms
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
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Context Providers > provides AppContext with correct values
[SessionSummary] No chats directory found
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/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with all display options disabled
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Settings Integration > handles settings with memory usage enabled
[SessionSummary] No chats directory found
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Version Handling > handles version format: 1.0.0
[SessionSummary] No chats directory found
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
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Error Handling > handles undefined settings gracefully
[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
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 > renders without resumed session data
[SessionSummary] No chats directory found
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 > 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
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
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 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
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 do nothing if text buffer is not 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 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 reset press count after a timeout
[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
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
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 > 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
stdout | src/ui/AppContainer.test.tsx > AppContainer State Management > Shell Interaction > should not crash if resizing the pty fails
[SessionSummary] No chats directory found
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/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/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/AppContainer.test.tsx > AppContainer State Management > Regression Tests > does not refresh static on startup if banner text is empty
[SessionSummary] No chats directory found
โ src/ui/AppContainer.test.tsx (61 tests) 11681ms
โ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 1126ms
โ AppContainer State Management > State Initialization > handles debug mode state 1854ms
โ AppContainer State Management > Error Handling > handles config methods that might throw 448ms
โ AppContainer State Management > Session Resumption > initializes chat recording service when config has it 627ms
โ AppContainer State Management > Session Recording Integration > provides chat recording service configuration 460ms
โ AppContainer State Management > Session Recording Integration > handles session recording when messages are added 596ms
โ AppContainer State Management > Session Resume Flow > accepts resumed session data 475ms
โ AppContainer State Management > Session Resume Flow > does not attempt resume when client is not initialized 407ms
โ AppContainer State Management > Token Counting from Session Stats > tracks token counts from session messages 419ms
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 }
โ src/ui/commands/aboutCommand.test.ts (5 tests) 491ms
โ src/ui/themes/theme.test.ts (9 tests) 340ms
โ src/ui/commands/compressCommand.test.ts (5 tests) 526ms
โ compressCommand > should do nothing if a compression is already pending 311ms
โ src/ui/utils/mouse.test.ts (17 tests) 279ms
โ src/commands/extensions/list.test.ts (5 tests) 194ms
โ src/ui/utils/terminalSetup.test.ts (9 tests) 435ms
โ src/ui/commands/clearCommand.test.ts (2 tests) 225ms
โฏ src/ui/components/messages/Todo.test.tsx (14 tests | 3 failed) 1814ms
โ (showFullTodos: true) > renders null when no todos are in the history 443ms
โ (showFullTodos: true) > renders null when todo list is empty 22ms
โ (showFullTodos: true) > renders when todos exist but none are in progress 587ms
โ (showFullTodos: true) > renders when todos exist and one is in progress 116ms
โ (showFullTodos: true) > renders a todo list with long descriptions that wrap when full view is on 132ms
โ (showFullTodos: true) > renders the most recent todo list when multiple write_todos calls are in history 53ms
โ (showFullTodos: true) > renders full list when all todos are inactive 64ms
โ (showFullTodos: false) > renders null when no todos are in the history 10ms
โ (showFullTodos: false) > renders null when todo list is empty 12ms
โ (showFullTodos: false) > renders when todos exist but none are in progress 34ms
ร (showFullTodos: false) > renders when todos exist and one is in progress 174ms
โ 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 62ms
โ 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 58ms
โ 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 13ms
โ src/ui/commands/policiesCommand.test.ts (4 tests) 528ms
โ policiesCommand > should have correct command definition 308ms
โ src/ui/hooks/useFocus.test.tsx (6 tests) 643ms
โ useFocus > should initialize with focus and enable focus reporting 448ms
โ src/ui/utils/displayUtils.test.ts (8 tests) 179ms
stdout | src/ui/components/Header.test.tsx > > renders with a single color when theme.ui.gradient has one color
[
[
{
"color": "#FF0000",
"children": "\n โโโ โโโโโโโโโ โโโโโโโโโโ โโโโโโ โโโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ\nโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโ โโโโโโโโ โโโโโ โโโโโ\n โโโโโโ โโโ โโโ โโโโ โ โ โโโโโโโโโโโโโโ โโโโ โโโโโโโโ โโโโ โโโโ\n โโโโโโ โโโโ โโโโโโโ โโโโโโโโโ โโโโ โโโโ โโโโโโโโโโโโโ โโโโ\n โโโโ โโโโ โโโโโ โโโโโโโ โโโโ โโโ โโโโ โโโโ โโโโ โโโโโโโโ โโโโ\n โโโโ โโโโโ โโโโโ โโโโ โ โ โโโโ โโโโ โโโโ โโโโ โโโโโโโ โโโโ\n โโโโ โโโโโโโโโโโ โโโโโโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโโโ โโโโโ\nโโโ โโโโโโโโโ โโโโโโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ\n"
},
null
]
]
โ src/ui/components/Header.test.tsx (9 tests) 2253ms
โ > renders the long logo on a wide terminal 841ms
โ > renders with no gradient when theme.ui.gradient is undefined 373ms
โ > renders with a single color when theme.ui.gradient has one color 331ms
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.
stdout | src/commands/extensions/install.test.ts > handleInstall > should install an extension from a git source
Extension "git-extension" installed successfully and enabled.
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) 683ms
โ extensions install command > should fail if no source is provided 319ms
โ src/ui/hooks/useBanner.test.ts (6 tests) 685ms
โ useBanner > should return warning text and warning color if warningText is present 483ms
โ src/ui/components/messages/ToolResultDisplay.test.tsx (8 tests) 2884ms
โ ToolResultDisplay > renders string result as markdown by default 643ms
โ ToolResultDisplay > truncates very long string results 1959ms
โ src/ui/components/ConfigInitDisplay.test.tsx (4 tests) 1438ms
โ ConfigInitDisplay > renders initial state 1148ms
โ src/ui/commands/bugCommand.test.ts (2 tests) 385ms
โ bugCommand > should generate the default GitHub issue URL 316ms
โ src/ui/components/views/McpStatus.test.tsx (12 tests) 2762ms
โ McpStatus > renders correctly with a connected server 1745ms
โ src/ui/components/shared/EnumSelector.test.tsx (9 tests) 1830ms
โ > renders with string options and matches snapshot 1128ms
โ src/ui/hooks/useTimer.test.tsx (8 tests) 1038ms
โ useTimer > should initialize with 0 646ms
โ src/ui/components/EditorSettingsDialog.test.tsx (5 tests) 2303ms
โ EditorSettingsDialog > renders correctly 1334ms
โ EditorSettingsDialog > switches focus between editor and scope sections on Tab 455ms
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)
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx (10 tests | 9 failed) 2982ms
โ ToolConfirmationMessage > should not display urls if prompt and url are the same 1315ms
ร ToolConfirmationMessage > should display urls if prompt and url are different 439ms
โ Snapshot `ToolConfirmationMessage > should display urls if prompt and url are different 1` mismatched
ร ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 198ms
โ 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 169ms
โ 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 125ms
โ 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 89ms
โ 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 142ms
โ 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 126ms
โ 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 203ms
โ 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 140ms
โ Snapshot `ToolConfirmationMessage > with folder trust > 'for mcp confirmations' > should NOT show "allow always" when folder is untrusted 1` mismatched
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:103:5)[39m
at [90m/build/gemini-cli/src/gemini-cli/packages/cli/[39msrc/utils/gitUtils.test.ts:135: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 (12 tests) 766ms
โ src/ui/components/AppHeader.test.tsx (8 tests) 3901ms
โ > should render the banner with default text 1837ms
โ > should increment the version count when default banner is displayed 463ms
โ > should render banner text with unescaped newlines 315ms
โ src/config/auth.test.ts (8 tests) 163ms
โ src/core/initializer.test.ts (5 tests) 292ms
โ src/ui/components/views/ExtensionsList.test.tsx (10 tests) 1465ms
โ > should render "No extensions installed." if there are no extensions 726ms
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) 765ms
โ extensions validate command > should fail if no path is provided 335ms
โ src/config/extensions/variables.test.ts (10 tests) 241ms
โ src/ui/components/messages/ShellToolMessage.test.tsx (3 tests) 2561ms
โ > interactive shell focus > clicks inside the shell area sets focus to true 1952ms
โ > interactive shell focus > resets focus when shell finishes 370ms
โ src/ui/IdeIntegrationNudge.test.tsx (6 tests) 6540ms
โ IdeIntegrationNudge > renders correctly with default options 2440ms
โ IdeIntegrationNudge > handles "Yes" selection 861ms
โ IdeIntegrationNudge > handles "No" selection 885ms
โ IdeIntegrationNudge > handles "Dismiss" selection 951ms
โ IdeIntegrationNudge > handles Escape key press 367ms
โ IdeIntegrationNudge > displays correct text and handles selection when extension is pre-installed 955ms
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ShellToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ShellToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | ../../node_modules/react-reconciler/cjs/react-reconciler.development.js:13614:19
An update to ShellToolMessage inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures 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/PrepareLabel.test.tsx (6 tests) 1174ms
โ PrepareLabel > renders plain label when no match (short label) 700ms
โ src/ui/hooks/useBatchedScroll.test.ts (7 tests) 607ms
โ useBatchedScroll > returns initial scrollTop 430ms
โ src/ui/components/ConsentPrompt.test.tsx (5 tests) 1620ms
โ ConsentPrompt > renders a string prompt with MarkdownDisplay 1096ms
โฏ src/ui/components/ThemeDialog.test.tsx (4 tests | 1 failed) 6617ms
โ ThemeDialog Snapshots > should render correctly in theme selection mode 4233ms
ร ThemeDialog Snapshots > should render correctly in scope selector mode 1133ms
โ Snapshot `ThemeDialog Snapshots > should render correctly in scope selector mode 1` mismatched
โ ThemeDialog Snapshots > should call onCancel when ESC is pressed 552ms
โ ThemeDialog Snapshots > should call refreshStatic when a theme is selected 674ms
โ src/ui/utils/clipboardUtils.test.ts (6 tests) 161ms
โ src/utils/startupWarnings.test.ts (4 tests) 113ms
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should handle --'listSessions' flag
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
]2;Gemini - cli โฏ src/ui/components/FolderTrustDialog.test.tsx (8 tests | 3 failed) 4885ms
โ FolderTrustDialog > should render the dialog with title and description 2005ms
โ FolderTrustDialog > should display exit message and call process.exit and not call onSelect when escape is pressed 668ms
โ FolderTrustDialog > should display restart message when isRestarting is true 297ms
โ FolderTrustDialog > should call relaunchApp when isRestarting is true 331ms
โ FolderTrustDialog > should not call process.exit when "r" is pressed and isRestarting is false 172ms
ร FolderTrustDialog > directory display > should correctly display the folder name for a nested directory 561ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust folder (project)'
ร FolderTrustDialog > directory display > should correctly display the parent folder name for a nested directory 447ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder (user)'
ร FolderTrustDialog > directory display > should correctly display an empty parent folder name for a directory directly under root 363ms
โ expected ' โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Trust parent folder ()'
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should handle --'deleteSession' flag
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should handle sandbox activation
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
โ src/ui/components/AnsiOutput.test.tsx (12 tests) 2487ms
โ > renders a simple AnsiOutput object correctly 1233ms
โ > renders a large AnsiOutput object without crashing 458ms
stderr | src/gemini.test.tsx > gemini.tsx main function kitty protocol > should read from stdin in non-interactive mode
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
Error: The --prompt-interactive flag cannot be used when input is piped from stdin.
stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 41 for auth failure during sandbox setup
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 42 for session resume failure
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
stderr | src/gemini.test.tsx > gemini.tsx main function exit codes > should exit with 42 for no input provided
[STARTUP] Cannot start phase 'cli_startup': phase is already active. Call end() before starting again.
]2;Gemini - root[?7l]2;Gemini - root[?7l]2;Gemini - root[?7l]2;Gemini - root[?7l โฏ src/ui/components/SettingsDialog.test.tsx (54 tests | 25 failed) 124760ms
โ SettingsDialog > Initial Rendering > should render the settings dialog with default state 2193ms
ร SettingsDialog > Initial Rendering > should accept availableTerminalHeight prop without errors 662ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Initial Rendering > should render settings list with visual indicators 8640ms
โ Snapshot `SettingsDialog > Initial Rendering > should render settings list with visual indicators 1` mismatched
โ SettingsDialog > Settings Navigation > should navigate with 'arrow keys' 2125ms
โ SettingsDialog > Settings Navigation > should navigate with 'vim keys (j/k)' 3175ms
โ SettingsDialog > Settings Navigation > wraps around when at the top of the list 1237ms
โ SettingsDialog > Settings Toggling > should toggle setting with Enter key 1415ms
โ SettingsDialog > Settings Toggling > enum values > 'toggles to next value' 602ms
โ SettingsDialog > Settings Toggling > enum values > 'loops back to first value when at end' 654ms
โ SettingsDialog > Settings Toggling > should handle vim mode setting specially 809ms
โ SettingsDialog > Scope Selection > should switch between scopes 995ms
ร SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 815ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Apply To'
โ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 728ms
โ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 1081ms
ร SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 1911ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Settings Persistence > should persist settings across scope changes 1101ms
ร SettingsDialog > Settings Persistence > should show different values for different scopes 472ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 1638ms
โ SettingsDialog > Complex State Management > should track modified settings correctly 731ms
โ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 871ms
โ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 670ms
ร SettingsDialog > Specific Settings Behavior > should show correct display values for settings with different states 516ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 612ms
โ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 461ms
โ SettingsDialog > Specific Settings Behavior > should clear restart prompt when switching scopes 468ms
ร SettingsDialog > Settings Display Values > should show correct values for inherited settings 735ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Settings Display Values > should show override indicator for overridden settings 927ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
โ SettingsDialog > Race Condition Regression Tests > should 'not reset sibling settings when togglโฆ' 1095ms
โ SettingsDialog > Race Condition Regression Tests > should 'preserve multiple sibling settings inโฆ' 1037ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 1038ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+C' to reset current setting to default 866ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle 'Ctrl+L' to reset current setting to default 999ms
โ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 734ms
ร SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 1542ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
ร SettingsDialog > Error Recovery > should handle malformed settings gracefully 565ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Error Recovery > should handle missing setting definitions gracefully 663ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Settings'
ร SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 1985ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Vim Mode'
โ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 1174ms
โ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 1385ms
โ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 1157ms
โ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 2189ms
ร SettingsDialog > Search Functionality > should display text entered in search 674ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'Search to filter'
ร SettingsDialog > Search Functionality > should show search query and filter settings as user types 2054ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'yolo'
ร SettingsDialog > Search Functionality > should exit search settings when Escape is pressed 1703ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vim'
ร SettingsDialog > Search Functionality > should handle backspace to modify search query 2351ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'vimm'
ร SettingsDialog > Search Functionality > should display nothing when search yields no results 2405ms
โ expected 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฆ' to contain 'nonexistentsetting'
ร SettingsDialog > Snapshot Tests > should render 'default state' correctly 8214ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'default state' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 7893ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'various boolean settings enabled' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 8003ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'mixed boolean and number settings' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 7985ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'focused on scope selector' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 7742ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'accessibility settings enabled' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 7580ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'file filtering settings configured' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 7679ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'tools and security settings' correctly 1` mismatched
ร SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 7750ms
โ Snapshot `SettingsDialog > Snapshot Tests > should render 'all boolean settings disabled' correctly 1` mismatched
]2;Gemini - root[?7l]2;Gemini - root[?7l โ src/gemini.test.tsx (33 tests | 1 skipped) 4240ms
โ gemini.tsx main function > verifies that we dont load the config before relaunchAppInChildProcess 921ms
โ gemini.tsx main function > should log unhandled promise rejections and open debug console on first error 1129ms
โ startInteractiveUI > should render the UI with proper React context and exitOnCtrlC disabled 426ms
โ src/ui/components/shared/Scrollable.test.tsx (4 tests) 1975ms
โ > renders children 1030ms
โ > updates scroll position correctly when scrollBy is called multiple times in the same tick 456ms
โ src/gemini_cleanup.test.tsx (1 test) 1193ms
โ gemini.tsx main function cleanup > should log error when cleanupExpiredSessions fails 1159ms
โ src/config/extensions/storage.test.ts (5 tests) 429ms
โ src/ui/hooks/useAnimatedScrollbar.test.tsx (7 tests) 1159ms
โ useAnimatedScrollbar > should not increment debugNumAnimatedComponents when not focused 627ms
โ src/ui/privacy/CloudFreePrivacyNotice.test.tsx (9 tests) 2355ms
โ CloudFreePrivacyNotice > renders correctly in 'loading state' 852ms
โ CloudFreePrivacyNotice > renders correctly in 'free tier state' 551ms
โ src/ui/hooks/useConsoleMessages.test.tsx (7 tests) 1175ms
โ useConsoleMessages > should initialize with an empty array of console messages 649ms
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.
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) 1375ms
โ extensions new command > should fail if no path is provided 502ms
โ extensions new command > should create directory when no template is provided 519ms
โ src/ui/components/SuggestionsDisplay.test.tsx (6 tests) 1749ms
โ SuggestionsDisplay > renders loading state 1067ms
โ SuggestionsDisplay > handles scrolling 365ms
โ src/ui/hooks/useFlickerDetector.test.ts (6 tests) 1061ms
โ useFlickerDetector > should not record a flicker when height is less than terminal height 794ms
โ src/test-utils/render.test.tsx (6 tests) 1198ms
โ render > should render a component 812ms
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx (5 tests | 1 failed) 3433ms
โ AlternateBufferQuittingDisplay > renders with active and pending tool messages 1894ms
โ AlternateBufferQuittingDisplay > renders with empty history and no pending items 199ms
โ AlternateBufferQuittingDisplay > renders with history but no pending items 385ms
โ AlternateBufferQuittingDisplay > renders with pending items but no history 250ms
ร AlternateBufferQuittingDisplay > renders with user and gemini messages 675ms
โ Snapshot `AlternateBufferQuittingDisplay > renders with user and gemini messages > with_user_gemini_messages 1` mismatched
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:1420:15)[39m
[90m at defaultResolveImpl (node:internal/modules/cjs/loader:1058:19)[39m
[90m at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1063:22)[39m
[90m at Module._load (node:internal/modules/cjs/loader:1226:37)[39m
[90m at TracingChannel.traceSync (node:diagnostics_channel:328:14)[39m
[90m at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)[39m
[90m at Module.require (node:internal/modules/cjs/loader:1503: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:1760:14)[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
]
}
โ src/ui/hooks/usePrivacySettings.test.tsx (4 tests) 880ms
โ usePrivacySettings > should throw error when content generator is not a CodeAssistServer 602ms
โ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 1390ms
โ IdeTrustChangeDialog > renders the correct message for CONNECTION_CHANGE 958ms
โ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 899ms
โ > should render on a single line on a wide screen 693ms
โ src/ui/components/GradientRegression.test.tsx (5 tests) 3664ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 1262ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 1850ms
โ Gradient Crash Regression Tests > should not crash when theme.ui.gradient is empty 314ms
โ src/commands/extensions.test.tsx (3 tests) 246ms
โ src/ui/components/GeminiRespondingSpinner.test.tsx (5 tests) 766ms
โ GeminiRespondingSpinner > renders spinner when responding 650ms
โ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 217ms
โ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 199ms
โ src/core/theme.test.ts (3 tests) 93ms
โ src/ui/components/ShellInputPrompt.test.tsx (7 tests) 487ms
โ ShellInputPrompt > renders nothing 327ms
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.
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.
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.
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.
โ src/ui/hooks/useMouse.test.ts (4 tests) 636ms
โ useMouse > should not subscribe when isActive is false 482ms
โ src/ui/hooks/useMouseClick.test.ts (2 tests) 417ms
โ useMouseClick > should call handler with relative coordinates when click is inside bounds 366ms
โ src/ui/components/MainContent.test.tsx (2 tests) 1015ms
โ MainContent > renders in normal buffer mode 858ms
โ src/ui/components/QueuedMessageDisplay.test.tsx (5 tests) 1355ms
โ QueuedMessageDisplay > renders nothing when message queue is empty 490ms
โ QueuedMessageDisplay > displays single queued message 593ms
โ src/ui/utils/ui-sizing.test.ts (10 tests) 347ms
โ src/ui/components/DetailedMessagesDisplay.test.tsx (3 tests) 1120ms
โ DetailedMessagesDisplay > renders nothing when messages are empty 386ms
โ DetailedMessagesDisplay > renders messages correctly 647ms
โ src/ui/components/ShowMoreLines.test.tsx (5 tests) 849ms
โ ShowMoreLines > renders nothing when: overflow=Set{}, streaming=idle, constrain=true 446ms
โ src/ui/privacy/PrivacyNotice.test.tsx (4 tests) 1288ms
โ PrivacyNotice > renders 'GeminiPrivacyNotice' when authType is 'gemini-api-key' 1036ms
โ src/ui/components/ExitWarning.test.tsx (4 tests) 842ms
โ ExitWarning > renders nothing by default 488ms
โ src/ui/components/Help.test.tsx (3 tests) 1751ms
โ Help Component > should not render hidden commands 1279ms
โ src/ui/auth/ApiAuthDialog.test.tsx (5 tests) 2850ms
โ ApiAuthDialog > renders correctly 2130ms
โ src/ui/hooks/useMemoryMonitor.test.tsx (3 tests) 1120ms
โ useMemoryMonitor > should not warn when memory usage is below threshold 908ms
โ src/ui/utils/CodeColorizer.test.tsx (1 test) 1507ms
โ colorizeCode > renders empty lines correctly when useAlternateBuffer is true 1473ms
โ src/ui/components/messages/GeminiMessage.test.tsx (4 tests) 1584ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true '(default)' 1081ms
โ src/ui/components/messages/ToolMessageRawMarkdown.test.tsx (6 tests) 2807ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=true, useAlternateBuffer=false '(default, regular buffer)' 1746ms
โ - Raw Markdown Display Snapshots > renders with renderMarkdown=false, useAlternateBuffer=false '(raw markdown, regular buffer)' 419ms
โฏ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests | 1 failed) 2024ms
โ LoopDetectionConfirmation > renders correctly 1097ms
ร LoopDetectionConfirmation > contains the expected options 900ms
โ expected ' โญโฎ\n โโ?\n โโ\n โโT\n โโh\n โโi\n โโโฆ' to contain 'A potential loop was detected'
โ src/utils/processUtils.test.ts (1 test) 155ms
โ src/ui/components/AutoAcceptIndicator.test.tsx (3 tests) 687ms
โ AutoAcceptIndicator > renders correctly for AUTO_EDIT mode 591ms
โ src/ui/components/messages/UserMessage.test.tsx (3 tests) 916ms
โ UserMessage > renders normal user message with correct prefix 823ms
โ src/ui/auth/AuthInProgress.test.tsx (5 tests) 1680ms
โ AuthInProgress > renders initial state with spinner 1123ms
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.
โ src/ui/components/ThemedGradient.test.tsx (1 test) 576ms
โ ThemedGradient > renders children 554ms
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.
โ src/ui/components/ConsoleSummaryDisplay.test.tsx (3 tests) 843ms
โ ConsoleSummaryDisplay > renders nothing when errorCount is 0 408ms
โ ConsoleSummaryDisplay > renders correct message for 1 errors 377ms
โ src/ui/components/messages/ErrorMessage.test.tsx (2 tests) 940ms
โ ErrorMessage > renders with the correct prefix and text 874ms
โ src/ui/components/StickyHeader.test.tsx (2 tests) 913ms
โ StickyHeader > renders children with isFirst=true 827ms
โ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (2 tests) 1946ms
โ DescriptiveRadioButtonSelect > should render correctly with default props 1499ms
โ DescriptiveRadioButtonSelect > should render correctly with custom props 415ms
โ src/ui/components/messages/InfoMessage.test.tsx (3 tests) 855ms
โ InfoMessage > renders with the correct default prefix and text 762ms
โ src/ui/utils/InlineMarkdownRenderer.test.ts (7 tests) 250ms
โ src/ui/components/ShellModeIndicator.test.tsx (1 test) 585ms
โ ShellModeIndicator > renders correctly 563ms
โ src/ui/components/CliSpinner.test.tsx (1 test) 657ms
โ > should increment debugNumAnimatedComponents on mount and decrement on unmount 628ms
stderr | src/config/config.test.ts > loadCliConfig interactive > should not be interactive if positional prompt words are provided with multiple flags
YOLO mode is enabled. All tool calls will be automatically approved.
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.
โ src/ui/components/SessionSummaryDisplay.test.tsx (1 test) 1940ms
โ > renders the summary display with a title 1907ms
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.
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.
โ src/ui/hooks/useModelCommand.test.tsx (3 tests) 812ms
โ useModelCommand > should initialize with the model dialog closed 637ms
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.
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.
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.
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.
โ src/ui/components/Tips.test.tsx (2 tests) 861ms
โ Tips > renders correct tips when file count is 0 766ms
โ src/ui/components/RawMarkdownIndicator.test.tsx (2 tests) 1092ms
โ RawMarkdownIndicator > renders correct key binding for darwin 989ms
โ src/ui/components/messages/WarningMessage.test.tsx (2 tests) 980ms
โ WarningMessage > renders with the correct prefix and text 899ms
โ src/ui/components/UpdateNotification.test.tsx (1 test) 929ms
โ UpdateNotification > renders message 893ms
โ src/ui/components/views/ToolsList.test.tsx (3 tests) 1731ms
โ > renders correctly with descriptions 1490ms
โ src/ui/components/CopyModeWarning.test.tsx (2 tests) 1000ms
โ CopyModeWarning > renders nothing when copy mode is disabled 566ms
โ CopyModeWarning > renders warning when copy mode is enabled 366ms
โ src/ui/hooks/useReactToolScheduler.test.ts (1 test) 705ms
โ useReactToolScheduler > only creates one instance of CoreToolScheduler even if props change 669ms
โ src/ui/components/MemoryUsageDisplay.test.tsx (2 tests) 1153ms
โ MemoryUsageDisplay > renders memory usage 993ms
โ src/ui/components/views/ChatList.test.tsx (3 tests) 1172ms
โ > renders correctly with a list of chats 990ms
โ src/ui/privacy/GeminiPrivacyNotice.test.tsx (2 tests) 1532ms
โ GeminiPrivacyNotice > renders correctly 1296ms
โ src/ui/components/Banner.test.tsx (3 tests) 1012ms
โ Banner > renders in warning mode 811ms
โ src/ui/components/QuittingDisplay.test.tsx (2 tests) 1190ms
โ QuittingDisplay > renders nothing when no quitting messages 654ms
โ QuittingDisplay > renders quitting messages 485ms
โ src/ui/components/AboutBox.test.tsx (5 tests) 2274ms
โ AboutBox > renders with required props 1403ms
โ AboutBox > renders optional prop userEmail 302ms
โฏ src/ui/components/ShellConfirmationDialog.test.tsx (4 tests | 3 failed) 3187ms
โ ShellConfirmationDialog > renders correctly 1266ms
ร ShellConfirmationDialog > calls onConfirm with ProceedOnce when "Yes, allow once" is selected 752ms
โ expected ' โญโโโฎ\n โ โ\n โ Sโ\n โ hโ\n โ eโ\n โโฆ' to contain 'Yes, allow once'
ร ShellConfirmationDialog > calls onConfirm with ProceedAlways when "Yes, allow always for this session" is selected 613ms
โ expected ' โญโโโฎ\n โ โ\n โ Sโ\n โ hโ\n โ eโ\n โโฆ' to contain 'Yes, allow always for this session'
ร ShellConfirmationDialog > calls onConfirm with Cancel when "No (esc)" is selected 525ms
โ expected ' โญโโโฎ\n โ โ\n โ Sโ\n โ hโ\n โ eโ\n โโฆ' to contain 'No (esc)'
โ src/ui/privacy/CloudPaidPrivacyNotice.test.tsx (2 tests) 1305ms
โ CloudPaidPrivacyNotice > renders correctly 1110ms
โ src/config/config.test.ts (146 tests) 40064ms
โ parseArguments > should throw an error when using conflicting prompt flags ('long flags') 710ms
โ parseArguments > should allow resuming a session without prompt argument in non-interactive mode (expecting stdin) 583ms
โ loadCliConfig > Proxy configuration > should leave proxy to empty by default 3669ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [https_proxy] 591ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [http_proxy] 921ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTPS_PROXY] 841ms
โ loadCliConfig > Proxy configuration > should set proxy to http://localhost:7890 according to environment variable [HTTP_PROXY] 1913ms
โ loadCliConfig > should use default fileFilter options when unconfigured 411ms
โ Hierarchical Memory Loading (config.ts) - Placeholder Suite > should pass extension context file paths to loadServerHierarchicalMemory 616ms
โ mergeMcpServers > should not modify the original settings object 320ms
โ mergeExcludeTools > should merge excludeTools from settings and extensions 584ms
โ mergeExcludeTools > should handle overlapping excludeTools between extensions 322ms
โ mergeExcludeTools > should return an empty array when no excludeTools are specified and it is interactive 373ms
โ Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with default approval mode 307ms
โ Approval mode tool exclusion logic > should exclude all interactive tools in non-interactive mode with explicit default approval mode 695ms
โ Approval mode tool exclusion logic > should exclude only shell tools in non-interactive mode with auto_edit approval mode 341ms
โ Approval mode tool exclusion logic > should not exclude interactive tools in interactive mode regardless of approval mode 1616ms
โ Approval mode tool exclusion logic > should merge approval mode exclusions with settings exclusions in auto_edit mode 315ms
โ loadCliConfig with allowed-mcp-server-names > should allow all MCP servers if the flag is not provided 349ms
โ loadCliConfig with allowed-mcp-server-names > should allow no MCP servers if the flag is provided but empty 359ms
โ loadCliConfig with allowed-mcp-server-names > should read allowMCPServers from settings 478ms
โ loadCliConfig with allowed-mcp-server-names > should read excludeMCPServers from settings 468ms
โ loadCliConfig with allowed-mcp-server-names > should override allowMCPServers with excludeMCPServers if overlapping 362ms
โ loadCliConfig with allowed-mcp-server-names > should prioritize mcp server flag if set 317ms
โ loadCliConfig with allowed-mcp-server-names > should prioritize CLI flag over both allowed and excluded settings 496ms
โ loadCliConfig model selection > always prefers model from argv 424ms
โ loadCliConfig model selection > selects the model from argv if provided 325ms
โ loadCliConfig folderTrust > should be true when folderTrust is true 547ms
โ loadCliConfig folderTrust > should be false by default 572ms
โ loadCliConfig compressionThreshold > should pass settings to the core config 327ms
โ loadCliConfig compressionThreshold > should have undefined compressionThreshold if not in settings 418ms
โ loadCliConfig useRipgrep > should be false when useRipgrep is set to false in settings 423ms
โ loadCliConfig useRipgrep > should be true when useRipgrep is explicitly set to true in settings 312ms
โ loadCliConfig tool exclusions > should exclude interactive tools in non-interactive mode without YOLO 334ms
โ loadCliConfig tool exclusions > should not exclude interactive tools in non-interactive mode with YOLO 918ms
โ loadCliConfig tool exclusions > should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool" is set 300ms
โ loadCliConfig interactive > should be interactive if isTTY and no prompt 408ms
โ loadCliConfig interactive > should not be interactive if not isTTY and no prompt 450ms
โ Output format > should use the format from settings 343ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_ENABLED over settings 646ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_ENDPOINT over settings and default env var 555ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_OTLP_PROTOCOL over settings 337ms
โ Telemetry configuration via environment variables > should prioritize GEMINI_TELEMETRY_LOG_PROMPTS over settings 560ms
stderr | DebugLogger.error (/build/gemini-cli/src/gemini-cli/packages/core/src/utils/debugLogger.ts:59:13)
{"stack":"Error: PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED 127.0.0.1:4317)\n at PeriodicExportingMetricReader._doRun (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:144:13)\n at processTicksAndRejections (node:internal/process/task_queues:103:5)\n at PeriodicExportingMetricReader._runOnce (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:103:7)\n at PeriodicExportingMetricReader.onForceFlush (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:160:5)\n at PeriodicExportingMetricReader.onShutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/PeriodicExportingMetricReader.ts:168:5)\n at PeriodicExportingMetricReader.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/export/MetricReader.ts:261:7)\n at MetricCollector.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/state/MetricCollector.ts:86:5)\n at async Promise.all (index 0)\n at MeterProvider.shutdown (/build/gemini-cli/src/gemini-cli/node_modules/@opentelemetry/sdk-metrics/src/MeterProvider.ts:98:5)\n at async Promise.all (index 2)","message":"PeriodicExportingMetricReader: metrics export failed (error Error: 14 UNAVAILABLE: No connection established. Last error: Error: connect ECONNREFUSED 127.0.0.1:4317)","name":"Error"}
โ src/commands/mcp.test.ts (3 tests) 430ms
โฏโฏโฏโฏโฏโฏ Failed Tests 89 โฏโฏโฏโฏโฏโฏโฏ
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 โฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should parse legacy --yolo flag correโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should handle no approval mode argumeโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should reject invalid approval mode vโฆ'
FAIL src/config/config.integration.test.ts > Configuration Integration Tests > Approval Mode Integration Tests > 'should reject conflicting --yolo and โฆ'
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:172:5
170| let parseArguments: typeof import('./config.js').parseArguments;
171|
172| beforeEach(async () => {
| ^
173| // Import the argument parsing function for integration testing
174| const { parseArguments: parseArgs } = await import('./config.js'โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/90]โฏ
FAIL src/services/BuiltinCommandLoader.test.ts > BuiltinCommandLoader profile > should not include profile command when isDevelopment is false
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/services/BuiltinCommandLoader.test.ts:211:3
209| });
210|
211| it('should not include profile command when isDevelopment is false',โฆ
| ^
212| process.env['NODE_ENV'] = 'production';
213| const { BuiltinCommandLoader } = await import('./BuiltinCommandLoaโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/90]โฏ
FAIL src/services/BuiltinCommandLoader.test.ts > BuiltinCommandLoader profile > should include profile command when isDevelopment is true
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/services/BuiltinCommandLoader.test.ts:220:3
218| });
219|
220| it('should include profile command when isDevelopment is true', asynโฆ
| ^
221| process.env['NODE_ENV'] = 'development';
222| const { BuiltinCommandLoader } = await import('./BuiltinCommandLoaโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[3/90]โฏ
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,8 +12,18 @@[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
[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 โฆ Hello User!"[22m
โฏ src/ui/components/AlternateBufferQuittingDisplay.test.tsx:189:25
187| },
188| );
189| expect(lastFrame()).toMatchSnapshot('with_user_gemini_messages');
| ^
190| });
191| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[4/90]โฏ
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:111:27
109| ,
110| );
111| expect(lastFrame()).toContain('Trust folder (project)');
| ^
112| });
113|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[5/90]โฏ
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:119:27
117| ,
118| );
119| expect(lastFrame()).toContain('Trust parent folder (user)');
| ^
120| });
121|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[6/90]โฏ
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:127:27
125| ,
126| );
127| expect(lastFrame()).toContain('Trust parent folder ()');
| ^
128| });
129| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[7/90]โฏ
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"" ...irectories/to/make/it/long no sandbox (see /docs)""[39m
Received: [31m"" ...irectories/to/make/it/long [7m [27mno sandbox (see /docs)""[39m
โฏ src/ui/components/Footer.test.tsx:252:27
250| }),
251| });
252| expect(lastFrame()).toMatchSnapshot('footer-no-model');
| ^
253| });
254|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[8/90]โฏ
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:269:27
267| }),
268| });
269| expect(lastFrame()).toMatchSnapshot('footer-only-sandbox');
| ^
270| });
271|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[9/90]โฏ
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 [27mManual (gemini-pro) /model (100%)""[39m
Received: [31m"" ...s/to/make/it/long [7m [27mno sandbox Manual (gemini-pro) /model (100%)""[39m
โฏ src/ui/components/Footer.test.tsx:316:27
314| }),
315| });
316| expect(lastFrame()).toMatchSnapshot('complete-footer-narrow');
| ^
317| });
318| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[10/90]โฏ
FAIL src/ui/components/HistoryItemDisplay.test.tsx > > should escape ANSI codes in text content
AssertionError: expected '\n> H\n e\n l\n l\n o\n ,\n \\nโฆ' 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:166:25
164|
165| // The ANSI codes should be escaped for display.
166| expect(lastFrame()).toContain('Hello, \\u001b[31mred\\u001b[0m worโฆ
| ^
167| // The raw ANSI codes should not be present.
168| expect(lastFrame()).not.toContain('Hello, \u001b[31mred\u001b[0m wโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[11/90]โฏ
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'โฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[12/90]โฏ
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+ โ 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:100:25
98| mockGetHasAccessToPreviewModel.mockReturnValue(true); // Must haveโฆ
99| const { lastFrame } = renderComponent();
100| expect(lastFrame()).toContain('Auto (Preview)');
| ^
101| });
102|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[13/90]โฏ
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+ โ 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:116:25
114|
115| // Should now show manual options
116| expect(lastFrame()).toContain(DEFAULT_GEMINI_MODEL);
| ^
117| expect(lastFrame()).toContain(DEFAULT_GEMINI_FLASH_MODEL);
118| expect(lastFrame()).toContain(DEFAULT_GEMINI_FLASH_LITE_MODEL);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[14/90]โฏ
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+ โ 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:138:25
136| await waitForUpdate();
137|
138| expect(lastFrame()).toContain(PREVIEW_GEMINI_MODEL);
| ^
139| });
140|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[15/90]โฏ
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' ][90m
Number of calls: [1m0[22m
[39m
โฏ src/ui/components/ModelDialog.test.tsx:148:26
146| await waitForUpdate();
147|
148| expect(mockSetModel).toHaveBeenCalledWith(DEFAULT_GEMINI_MODEL_AUTโฆ
| ^
149| expect(mockOnClose).toHaveBeenCalled();
150| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[16/90]โฏ
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' ][90m
Received:
[1m 1st spy call:
[22m[2m [[22m
[32m- "gemini-2.5-pro",[90m
[31m+ "auto-gemini-2.5",[90m
[2m ][22m
[39m[90m
Number of calls: [1m1[22m
[39m
โฏ src/ui/components/ModelDialog.test.tsx:165:26
163| await waitForUpdate();
164|
165| expect(mockSetModel).toHaveBeenCalledWith(DEFAULT_GEMINI_MODEL);
| ^
166| expect(mockOnClose).toHaveBeenCalled();
167| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[17/90]โฏ
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+ โ 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:187:25
185| await waitForUpdate();
186|
187| expect(lastFrame()).toContain(DEFAULT_GEMINI_MODEL);
| ^
188|
189| // Press Escape
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[18/90]โฏ
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+ โ 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:217:27
215| mockGetPreviewFeatures.mockReturnValue(true);
216| const { lastFrame } = renderComponent();
217| expect(lastFrame()).toContain('Auto (Preview)');
| ^
218| });
219|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[19/90]โฏ
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
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[20/90]โฏ
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+ โ c f โ[39m
[31m+ โ h a โ[39m
[31m+ โ โtPreview Features (e.g., models) l โ[39m
[31m+ โ o s โ[39m
[31m+ โ f e โ[39m
[31m+ โ i โ[39m
[31m+ โ l f โ[39m
[31m+ โ t a โ[39m
[31m+ โ eVim Mode l โ[39m
[31m+ โ r s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Disable Auto Update l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Enable Prompt Completion l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[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+ โ 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:289:22
287| const output = lastFrame();
288| // Should still render properly with the height prop
289| expect(output).toContain('Settings');
| ^
290| // Use regex for more flexible help text matching
291| expect(output).toMatch(/Enter.*select.*Esc.*close/);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[21/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27m โ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ [7mโ [27m [7mc[27m [7mf[27m โ[39m
[32m- โ [7mโ Preview Features (e.g., models) false โ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- โ Vim Mode false โ[39m
[32m- [7mโ[27m โ[39m
[31m+ โ [7m [27m[7mh a โ[27m[39m
[31m+ โ โtPreview Features (e.g., models) l โ[39m
[31m+ โ o s โ[39m
[31m+ โ f e โ[39m
[31m+ [7mโ i [27m [7mโ[27m[39m
[31m+ [7mโ l[27m [7mf [27m [7m โ[27m[39m
[31m+ โ t a โ[39m
[31m+ โ eVim Mode l โ[39m
[31m+ โ r s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ [7mโ f [27m [7m โ[27m[39m
[31m+ [7mโ[27m [7ma [27m [7m [27mโ[39m
[32m- โ Disable Auto Update [7mfals[27me [7mโ[27m[39m
[32m- [7mโ[27m [7m โ[27m[39m
[32m- [7mโ Enable Prompt Completion false[27m โ[39m
[31m+ โ Disable Auto Update [7ml โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ [27me [7m โ[27m[39m
[31m+ [7mโ [27m [7mโ[27m[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Enable Prompt Completion l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7m โ[27m[39m
[32m- โ Debug Keystroke Logging false โ[39m
[32m- [7mโ [27m โ[39m
[31m+ โ [7mf[27m [7mโ[27m[39m
[31m+ โ a โ[39m
[31m+ โ Debug Keystroke Logging l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ [7mโ[27m [7ma [27m [7m [27mโ[39m
[32m- โ Enable Session Cleanup [7mfalse[27m [7mโ[27m[39m
[32m- [7mโ[27m โ[39m
[31m+ โ Enable Session Cleanup [7ml โ[27m[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ [27m [7m โ[27m[39m
[31m+ [7mโ [27m [7m T โ[27m[39m
[31m+ [7mโ[27m [7m e [27mโ[39m
[32m- โ Output Format [7mText โ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ Hide Window Title false[27m โ[39m
[31m+ โ Output Format [7mx โ[27m[39m
[31m+ โ t โ[39m
[31m+ [7mโ [27m [7m โ[27m[39m
[31m+ [7mโ[27m [7m f โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ Hide Window Title l โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m[7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m [7mโ[27m[39m
[32m- [7mโ Workspace Settings[27m โ[39m
[31m+ โ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7mSystem Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:302:22
300| const output = lastFrame();
301| // Use snapshot to capture visual layout including indicators
302| expect(output).toMatchSnapshot();
| ^
303| });
304| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[22/90]โฏ
FAIL src/ui/components/SettingsDialog.test.tsx > SettingsDialog > Scope Selection > should reset to settings focus when scope is selected
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+ โ โญโโโฎ โ[39m
[31m+ โ โ Sโ โ[39m
[31m+ โ โฐโeโฏ โ[39m
[31m+ โ a โ[39m
[31m+ โ โฒr โ[39m
[31m+ โ c f โ[39m
[31m+ โ h a โ[39m
[31m+ โ โtPreview Features (e.g., models) l โ[39m
[31m+ โ o s โ[39m
[31m+ โ f e โ[39m
[31m+ โ i โ[39m
[31m+ โ l f โ[39m
[31m+ โ t a โ[39m
[31m+ โ eVim Mode l โ[39m
[31m+ โ r s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Disable Auto Update l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Enable Prompt Completion l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Debug Keystroke Logging l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Enable Session Cleanup l โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ Output Format x โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ Hide Window Title l โ[39m
[31m+ โ s โ[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+ โ 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:516:27
514| // The UI should show the settings section is active and scope sโฆ
515| expect(lastFrame()).toContain('Vim Mode'); // Settings section aโฆ
516| expect(lastFrame()).toContain('Apply To'); // Scope section (donโฆ
| ^
517|
518| // This test validates the initial state - scope selection behavโฆ
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[23/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:567:29
565| // Wait for initial render
566| await waitFor(() => {
567| expect(lastFrame()).toContain('Vim Mode');
| ^
568| });
569|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:566:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[24/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:610:22
608| // Should show user scope values initially
609| const output = lastFrame();
610| expect(output).toContain('Settings');
| ^
611| });
612| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[25/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:704:22
702| const output = lastFrame();
703| // Should contain settings labels
704| expect(output).toContain('Settings');
| ^
705| });
706|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[26/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:765:22
763| const output = lastFrame();
764| // Settings should show inherited values
765| expect(output).toContain('Settings');
| ^
766| });
767|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[27/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:780:22
778| const output = lastFrame();
779| // Should show settings with override indicators
780| expect(output).toContain('Settings');
| ^
781| });
782| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[28/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:926:29
924| // Wait for initial render
925| await waitFor(() => {
926| expect(lastFrame()).toContain('Vim Mode');
| ^
927| });
928|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:925:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[29/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:27
951|
952| // Should still render without crashing
953| expect(lastFrame()).toContain('Settings');
| ^
954| });
955|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[30/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:963:27
961| const { lastFrame } = renderDialog(settings, onSelect);
962|
963| expect(lastFrame()).toContain('Settings');
| ^
964| });
965| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[31/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:976:29
974| // Wait for initial render
975| await waitFor(() => {
976| expect(lastFrame()).toContain('Vim Mode');
| ^
977| });
978|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:975:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[32/90]โฏ
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+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ lim Mode โ[39m
[31m+ โ sr โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[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+ โ 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:1112:27
1110| expect(lastFrame()).not.toContain('> Search:');
1111| });
1112| expect(lastFrame()).toContain('Search to filter');
| ^
1113|
1114| // Press '/' to enter search mode
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[33/90]โฏ
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+ โ lisable YOLO Mode โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ load Memory From Include Directories โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[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+ โ 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:1138:29
1136|
1137| await waitFor(() => {
1138| expect(lastFrame()).toContain('yolo');
| ^
1139| expect(lastFrame()).toContain('Disable YOLO Mode');
1140| });
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1137:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[34/90]โฏ
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+ โ lim Mode โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 0odebase Investigator Max Num Turns โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[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+ โ 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:1155:29
1153| });
1154| await waitFor(() => {
1155| expect(lastFrame()).toContain('vim');
| ^
1156| });
1157|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1154:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[35/90]โฏ
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+ โ lim Mode โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ 1 โ[39m
[31m+ โ 0odebase Investigator Max Num Turns โ[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+ โ 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:1182:29
1180| });
1181| await waitFor(() => {
1182| expect(lastFrame()).toContain('vimm');
| ^
1183| });
1184|
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1181:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[36/90]โฏ
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+ โ 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:1213:29
1211|
1212| await waitFor(() => {
1213| expect(lastFrame()).toContain('nonexistentsetting');
| ^
1214| expect(lastFrame()).toContain('');
1215| expect(lastFrame()).not.toContain('Vim Mode'); // Should not cโฆ
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/SettingsDialog.test.tsx:1212:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[37/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27mโ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m โ[27m[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ โ[39m
[32m- [7mโ [27m [7mV[27mim Mode [7mfalse[27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ [7mโ[27m [7ml[27mim Mode [7m โ[27m[39m
[31m+ โ sr โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Disable Auto Update false โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ E[27mnable Prompt Completion [7mfalse[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mnable Prompt Completion [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Debug Keystroke Logging false[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mEnable Session Cleanup false โ[27m[39m
[32m- โ โ[39m
[32m- โ Output Format Text โ[39m
[32m- โ โ[39m
[32m- [7mโ Hide Window Title false[27m โ[39m
[31m+ โ [7mf [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m โ[39m
[31m+ โ โ [7m [27m โ[39m
[32m- โ [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ System Settings[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[38/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27mโ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m โ[27m[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ โ[39m
[32m- [7mโ [27m [7mV[27mim Mode [7mtrue*[27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ tl โ[39m
[31m+ โ rt โ[39m
[31m+ [7mโ[27m [7mu[27mim Mode [7m โ[27m[39m
[31m+ โ er โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Disable Auto Update true* โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ E[27mnable Prompt Completion [7mtrue*[27m โ[39m
[31m+ โ [7mt โ[27m[39m
[31m+ โ r โ[39m
[31m+ โ uisable Auto Update โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ [7mโ u[27mnable Prompt Completion [7m [27m[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Debug Keystroke Logging true*[27m โ[39m
[31m+ โ [7mt โ[27m[39m
[31m+ โ r โ[39m
[31m+ โ uebug Keystroke Logging โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mEnable Session Cleanup false โ[27m[39m
[32m- โ โ[39m
[32m- โ Output Format Text โ[39m
[32m- โ โ[39m
[32m- [7mโ Hide Window Title true*[27m โ[39m
[31m+ โ [7mf [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ t โ[39m
[31m+ โ r โ[39m
[31m+ โ uide Window Title โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m โ[39m
[31m+ โ โ [7m [27m โ[39m
[32m- โ [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ System Settings[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[39/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- [7mโ โ Search to filter[27m [7mโ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ [7mโ โ Sโ [27m โ[39m
[32m- โ โฐโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โฐโ[7meโฏ [27m โ[39m
[32m- โ [7m [27m โ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ [7mโ[27m[39m
[32m- [7mโ โ P[27mreview Features (e.g., models) [7mfalse โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ Vim Mode false*[27m โ[39m
[31m+ โ โฒ[7mr [27m [7mโ[27m[39m
[31m+ [7mโ fc [27m [7m โ[27m[39m
[31m+ โ ah โ[39m
[31m+ [7mโ l[27mreview Features (e.g., models) [7m [27m[7m โ[27m[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ โ le โ[39m
[31m+ โ sim Mode โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Disable Auto Update true* โ[27m[39m
[32m- โ โ[39m
[32m- โ Enable Prompt Completion false โ[39m
[32m- โ โ[39m
[32m- [7mโ D[27mebug Keystroke Logging [7mfalse[27m โ[39m
[31m+ โ [7mt โ[27m[39m
[31m+ โ r โ[39m
[31m+ โ uisable Auto Update โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lnable Prompt Completion โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mebug Keystroke Logging [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Enable Session Cleanup false[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m O[27mutput Format [7mText[27m โ[39m
[31m+ โ [7mT โ[27m[39m
[31m+ โ e โ[39m
[31m+ [7mโ x[27mutput Format [7m [27m[7m โ[27m[39m
[31m+ [7mโ t [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mHide Window Title false*[27m โ[39m
[31m+ โ [7mf[27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ side Window Title โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m[7m [27m [7m [27mโ[39m
[32m- โ โ [7mUser Settings[27m [7mโ[27m[39m
[32m- [7mโ Workspace Settings[27m โ[39m
[31m+ โ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[32m- โ [7mSystem Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[40/90]โฏ
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- โ [7mSettings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- [7mโ โ Search to filter[27m [7mโ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ [7mโ โ Sโ [27m [7m [27m โ[39m
[32m- โ โฐโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โฐโ[7meโฏ [27m โ[39m
[32m- โ [7m [27m โ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m [27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ [7mโ fc[27m [7m [27mโ[39m
[32m- โ [7m P[27mreview Features (e.g., models) [7mfalse โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ V[27mim Mode [7mfalse[27m โ[39m
[31m+ โ [7mah โ[27m[39m
[31m+ [7mโ l[27mreview Features (e.g., models) [7m [27m[7m โ[27m[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ [7mโ l[27mim Mode [7m [27m[7m โ[27m[39m
[31m+ โ sr โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m D[27misable Auto Update [7mfalse โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ E[27mnable Prompt Completion [7mfalse[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27misable Auto Update [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mnable Prompt Completion [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mDebug Keystroke Logging false โ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- โ Enable Session Cleanup false โ[39m
[32m- โ โ[39m
[32m- [7mโ O[27mutput Format [7mText[27m โ[39m
[31m+ โ[7m f[27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ [27m [7mโ[27m[39m
[31m+ [7mโ f [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ x[27mutput Format [7m [27m[7m โ[27m[39m
[31m+ [7mโ t [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m H[27mide Window Title [7mfalse[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mide Window Title [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m โ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7m> Apply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ [7mโ 1. User Settings[27m [7mโ[27m[39m
[32m- [7mโ 2. Workspace Settings[27m โ[39m
[31m+ โ [7m1. [27m [7m โ[27m[39m
[31m+ [7mโ 2. [27m โ[39m
[32m- โ [7m 3. System Settings[27m โ[39m
[31m+ โ [7m3. [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[41/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27mโ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m โ[27m[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ โ[39m
[32m- [7mโ [27m [7mV[27mim Mode [7mtrue*[27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ tl โ[39m
[31m+ โ rt โ[39m
[31m+ [7mโ[27m [7mu[27mim Mode [7m โ[27m[39m
[31m+ โ er โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Disable Auto Update false โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ E[27mnable Prompt Completion [7mfalse[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mnable Prompt Completion [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Debug Keystroke Logging false[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mEnable Session Cleanup false โ[27m[39m
[32m- โ โ[39m
[32m- โ Output Format Text โ[39m
[32m- โ โ[39m
[32m- [7mโ Hide Window Title false[27m โ[39m
[31m+ โ [7mf [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m โ[39m
[31m+ โ โ [7m [27m โ[39m
[32m- โ [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ System Settings[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[42/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27mโ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m โ[27m[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ โ[39m
[32m- [7mโ [27m [7mV[27mim Mode [7mfalse[27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ [7mโ[27m [7ml[27mim Mode [7m โ[27m[39m
[31m+ โ sr โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Disable Auto Update false โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ E[27mnable Prompt Completion [7mfalse[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mnable Prompt Completion [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Debug Keystroke Logging false[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mEnable Session Cleanup false โ[27m[39m
[32m- โ โ[39m
[32m- โ Output Format Text โ[39m
[32m- โ โ[39m
[32m- [7mโ Hide Window Title false[27m โ[39m
[31m+ โ [7mf [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m โ[39m
[31m+ โ โ [7m [27m โ[39m
[32m- โ [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ System Settings[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[43/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27mโ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m โ[27m[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- โ โ[39m
[32m- [7mโ [27m [7mV[27mim Mode [7mfalse[27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ โ i โ[39m
[31m+ โ fl โ[39m
[31m+ โ at โ[39m
[31m+ [7mโ[27m [7ml[27mim Mode [7m โ[27m[39m
[31m+ โ sr โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Disable Auto Update false โ[27m[39m
[32m- โ โ[39m
[32m- [7mโ E[27mnable Prompt Completion [7mfalse[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lisable Auto Update โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ [7mโ l[27mnable Prompt Completion [7m [27m[7m โ[27m[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Debug Keystroke Logging false[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lebug Keystroke Logging โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7mEnable Session Cleanup false โ[27m[39m
[32m- โ โ[39m
[32m- โ Output Format Text โ[39m
[32m- โ โ[39m
[32m- [7mโ Hide Window Title false[27m โ[39m
[31m+ โ [7mf [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ โ e โ[39m
[31m+ โ โ[39m
[31m+ โ T โ[39m
[31m+ โ e โ[39m
[31m+ โ xutput Format โ[39m
[31m+ โ t โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ lide Window Title โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m โ[39m
[31m+ โ โ [7m [27m โ[39m
[32m- โ [7mWorkspace Settings[27m [7mโ[27m[39m
[32m- [7mโ System Settings[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[44/90]โฏ
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- โ [7m> Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[2m โ โ[22m
[32m- โ โญโโ[7mโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ[27m[39m
[32m- โ โ Search to filter โ โ[39m
[32m- [7mโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ[27m โ[39m
[31m+ โ โญโโ[7mโฎ โ[27m[39m
[31m+ โ โ Sโ โ[39m
[31m+ [7mโ โฐโeโฏ [27m โ[39m
[32m- โ [7m [27m โ[39m
[31m+ โ [7ma[27m โ[39m
[32m- โ โฒ[7m โ[27m[39m
[32m- โ โ Preview Features (e.g., models) false โ[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- โ Vim Mode false* โ[39m
[32m- โ โ[39m
[32m- [7mโ D[27misable Auto Update [7mfalse*[27m โ[39m
[31m+ โ โฒ[7mr โ[27m[39m
[31m+ โ fc โ[39m
[31m+ โ ah โ[39m
[31m+ โ lreview Features (e.g., models) โ[39m
[31m+ โ so โ[39m
[31m+ โ ef โ[39m
[31m+ [7mโ i [27m [7mโ[27m[39m
[31m+ [7mโ fl [27m [7m โ[27m[39m
[31m+ โ at โ[39m
[31m+ โ le โ[39m
[31m+ โ sim Mode โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ [7mโ s[27misable Auto Update [7m [27m[7m โ[27m[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Enable Prompt Completion false* โ[27m[39m
[32m- โ โ[39m
[32m- โ Debug Keystroke Logging false* โ[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ Enable Session Cleanup false[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ snable Prompt Completion โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ โ โ[39m
[31m+ โ f โ[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ sebug Keystroke Logging โ[39m
[31m+ โ e โ[39m
[31m+ โ * โ[39m
[31m+ [7mโ [27m [7mโ[27m[39m
[31m+ [7mโ f [27m [7m โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ lnable Session Cleanup โ[39m
[31m+ โ s โ[39m
[31m+ [7mโ e [27m [7m [27mโ[39m
[2m โ โ[22m
[32m- โ [7m Output Format[27m [7mText[27m โ[39m
[31m+ โ [7mT โ[27m[39m
[31m+ โ e โ[39m
[31m+ [7mโ xutput Format [27m [7m โ[27m[39m
[31m+ [7mโ t [27m โ[39m
[2m โ โ[22m
[32m- โ [7m Hide Window Title false*[27m โ[39m
[31m+ โ [7mf โ[27m[39m
[31m+ โ a โ[39m
[31m+ โ l โ[39m
[31m+ โ side Window Title โ[39m
[31m+ โ e โ[39m
[31m+ [7mโ * [27m [7m [27mโ[39m
[2m โ โ[22m
[2m โ โผ โ[22m
[2m โ โ[22m
[32m- โ [7mApply To[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ โ [7mUser Settings[27m โ[39m
[31m+ โ โ [7m [27m [7m [27mโ[39m
[32m- โ [7mWorkspace Settings[27m โ[39m
[31m+ โ [7m [27m โ[39m
[32m- โ [7mSystem Settings[27m โ[39m
[31m+ โ [7m [27m[7m [27m โ[39m
[2m โ โ[22m
[32m- โ ([7mUse Enter to select, Tab to change focus, Esc to close)[27m โ[39m
[31m+ โ ([7m โ[27m[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+ โ 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+ [7mโ ) [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/SettingsDialog.test.tsx:1447:29
1445| }
1446|
1447| expect(lastFrame()).toMatchSnapshot();
| ^
1448| },
1449| );
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[45/90]โฏ
FAIL src/ui/components/ShellConfirmationDialog.test.tsx > ShellConfirmationDialog > calls onConfirm with ProceedOnce when "Yes, allow once" is selected
AssertionError: expected ' โญโโโฎ\n โ โ\n โ Sโ\n โ hโ\n โ eโ\n โโฆ' to contain 'Yes, allow once'
[32m- Expected[39m
[31m+ Received[39m
[32m- Yes, allow once[39m
[31m+ โญโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Sโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ Cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ Eโ[39m
[31m+ โ xโ[39m
[31m+ โ eโ[39m
[31m+ โ cโ[39m
[31m+ โ uโ[39m
[31m+ โ tโ[39m
[31m+ โ iโ[39m
[31m+ โ oโ[39m
[31m+ โ nโ[39m
[31m+ โ Aโ[39m
[31m+ โ cโ[39m
[31m+ โ uโ[39m
[31m+ โ sโ[39m
[31m+ โ tโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ wโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ tโ[39m
[31m+ โ sโ[39m
[31m+ โ tโ[39m
[31m+ โ oโ[39m
[31m+ โ rโ[39m
[31m+ โ uโ[39m
[31m+ โ nโ[39m
[31m+ โ tโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ fโ[39m
[31m+ โ oโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ oโ[39m
[31m+ โ wโ[39m
[31m+ โ iโ[39m
[31m+ โ nโ[39m
[31m+ โ gโ[39m
[31m+ โ sโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ sโ[39m
[31m+ โ :โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโsโ[39m
[31m+ โ โโ-โ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโaโ[39m
[31m+ โ โโeโ[39m
[31m+ โ โโcโ[39m
[31m+ โ โโhโ[39m
[31m+ โ โโoโ[39m
[31m+ โ โโ"โ[39m
[31m+ โ โโhโ[39m
[31m+ โ โโeโ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโoโ[39m
[31m+ โ โโ"โ[39m
[31m+ โ โฐโโโฏ[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+ โ pโ[39m
[31m+ โ rโ[39m
[31m+ โ oโ[39m
[31m+ โ cโ[39m
[31m+ โ eโ[39m
[31m+ โ eโ[39m
[31m+ โ dโ[39m
[31m+ โ ?โ[39m
[31m+ โ โ[39m
[31m+ โ โโ1.[39m
[31m+ โ โ2.[39m
[31m+ โ โ3.[39m
[31m+ โ โ[39m
[31m+ โฐโโโฏ[39m
โฏ src/ui/components/ShellConfirmationDialog.test.tsx:34:20
32| // Simulate selecting the first option
33| // This is a simplified way to test the selection
34| expect(select).toContain('Yes, allow once');
| ^
35| });
36|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[46/90]โฏ
FAIL src/ui/components/ShellConfirmationDialog.test.tsx > ShellConfirmationDialog > calls onConfirm with ProceedAlways when "Yes, allow always for this session" is selected
AssertionError: expected ' โญโโโฎ\n โ โ\n โ Sโ\n โ hโ\n โ eโ\n โโฆ' to contain 'Yes, allow always for this session'
[32m- Expected[39m
[31m+ Received[39m
[32m- Yes, allow always for this session[39m
[31m+ โญโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Sโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ Cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ Eโ[39m
[31m+ โ xโ[39m
[31m+ โ eโ[39m
[31m+ โ cโ[39m
[31m+ โ uโ[39m
[31m+ โ tโ[39m
[31m+ โ iโ[39m
[31m+ โ oโ[39m
[31m+ โ nโ[39m
[31m+ โ Aโ[39m
[31m+ โ cโ[39m
[31m+ โ uโ[39m
[31m+ โ sโ[39m
[31m+ โ tโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ wโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ tโ[39m
[31m+ โ sโ[39m
[31m+ โ tโ[39m
[31m+ โ oโ[39m
[31m+ โ rโ[39m
[31m+ โ uโ[39m
[31m+ โ nโ[39m
[31m+ โ tโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ fโ[39m
[31m+ โ oโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ oโ[39m
[31m+ โ wโ[39m
[31m+ โ iโ[39m
[31m+ โ nโ[39m
[31m+ โ gโ[39m
[31m+ โ sโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ sโ[39m
[31m+ โ :โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโsโ[39m
[31m+ โ โโ-โ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโaโ[39m
[31m+ โ โโeโ[39m
[31m+ โ โโcโ[39m
[31m+ โ โโhโ[39m
[31m+ โ โโoโ[39m
[31m+ โ โโ"โ[39m
[31m+ โ โโhโ[39m
[31m+ โ โโeโ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโoโ[39m
[31m+ โ โโ"โ[39m
[31m+ โ โฐโโโฏ[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+ โ pโ[39m
[31m+ โ rโ[39m
[31m+ โ oโ[39m
[31m+ โ cโ[39m
[31m+ โ eโ[39m
[31m+ โ eโ[39m
[31m+ โ dโ[39m
[31m+ โ ?โ[39m
[31m+ โ โ[39m
[31m+ โ โโ1.[39m
[31m+ โ โ2.[39m
[31m+ โ โ3.[39m
[31m+ โ โ[39m
[31m+ โฐโโโฏ[39m
โฏ src/ui/components/ShellConfirmationDialog.test.tsx:43:20
41| const select = lastFrame()!.toString();
42| // Simulate selecting the second option
43| expect(select).toContain('Yes, allow always for this session');
| ^
44| });
45|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[47/90]โฏ
FAIL src/ui/components/ShellConfirmationDialog.test.tsx > ShellConfirmationDialog > calls onConfirm with Cancel when "No (esc)" is selected
AssertionError: expected ' โญโโโฎ\n โ โ\n โ Sโ\n โ hโ\n โ eโ\n โโฆ' to contain 'No (esc)'
[32m- Expected[39m
[31m+ Received[39m
[32m- No (esc)[39m
[31m+ โญโโโฎ[39m
[31m+ โ โ[39m
[31m+ โ Sโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ Cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ Eโ[39m
[31m+ โ xโ[39m
[31m+ โ eโ[39m
[31m+ โ cโ[39m
[31m+ โ uโ[39m
[31m+ โ tโ[39m
[31m+ โ iโ[39m
[31m+ โ oโ[39m
[31m+ โ nโ[39m
[31m+ โ Aโ[39m
[31m+ โ cโ[39m
[31m+ โ uโ[39m
[31m+ โ sโ[39m
[31m+ โ tโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ wโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ tโ[39m
[31m+ โ sโ[39m
[31m+ โ tโ[39m
[31m+ โ oโ[39m
[31m+ โ rโ[39m
[31m+ โ uโ[39m
[31m+ โ nโ[39m
[31m+ โ tโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ fโ[39m
[31m+ โ oโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ oโ[39m
[31m+ โ wโ[39m
[31m+ โ iโ[39m
[31m+ โ nโ[39m
[31m+ โ gโ[39m
[31m+ โ sโ[39m
[31m+ โ hโ[39m
[31m+ โ eโ[39m
[31m+ โ lโ[39m
[31m+ โ lโ[39m
[31m+ โ cโ[39m
[31m+ โ oโ[39m
[31m+ โ mโ[39m
[31m+ โ mโ[39m
[31m+ โ aโ[39m
[31m+ โ nโ[39m
[31m+ โ dโ[39m
[31m+ โ sโ[39m
[31m+ โ :โ[39m
[31m+ โ โ[39m
[31m+ โ โญโโโฎ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโsโ[39m
[31m+ โ โโ-โ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโaโ[39m
[31m+ โ โโeโ[39m
[31m+ โ โโcโ[39m
[31m+ โ โโhโ[39m
[31m+ โ โโoโ[39m
[31m+ โ โโ"โ[39m
[31m+ โ โโhโ[39m
[31m+ โ โโeโ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโlโ[39m
[31m+ โ โโoโ[39m
[31m+ โ โโ"โ[39m
[31m+ โ โฐโโโฏ[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+ โ pโ[39m
[31m+ โ rโ[39m
[31m+ โ oโ[39m
[31m+ โ cโ[39m
[31m+ โ eโ[39m
[31m+ โ eโ[39m
[31m+ โ dโ[39m
[31m+ โ ?โ[39m
[31m+ โ โ[39m
[31m+ โ โโ1.[39m
[31m+ โ โ2.[39m
[31m+ โ โ3.[39m
[31m+ โ โ[39m
[31m+ โฐโโโฏ[39m
โฏ src/ui/components/ShellConfirmationDialog.test.tsx:53:20
51| const select = lastFrame()!.toString();
52| // Simulate selecting the third option
53| expect(select).toContain('No (esc)');
| ^
54| });
55| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[48/90]โฏ
FAIL src/ui/components/StatsDisplay.test.tsx > > renders a table with two models correctly
Error: Snapshot ` > renders a table with two models correctly 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,13 +12,13 @@[39m
[2m โ Agent Active: 19.5s โ[22m
[2m โ ยป API Time: 19.5s (100.0%) โ[22m
[2m โ ยป Tool Time: 0s (0.0%) โ[22m
[2m โ โ[22m
[2m โ โ[22m
[32m- โ[7m Model Usage [27m Reqs Input Tokens Cache Reads Output Tokens โ[39m
[31m+ โ Reqs Input Tokens Cache Reads Output Tokens [7m [27mโ[39m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ gemini-2.5-pro [7m3[27m [7m500[27m [7m500[27m [7m2,000[27m โ[39m
[31m+ โ gemini-2.5-pro [7m3[27m [7m500[27m [7m500[27m [7m2,000[27m โ[39m
[32m- โ gemini-2.5-flash [7m [27m [7m5[27m 15,000 [7m10,000[27m [7m15,000[27m โ[39m
[31m+ โ gemini-2.5-flash [7m5[27m [7m15,000[27m [7m10,000[27m 15,000 [7m [27m โ[39m
[2m โ โ[22m
[2m โ Savings Highlight: 10,500 (40.4%) of input tokens were served from the cache, reducing costs. โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/StatsDisplay.test.tsx:117:20
115| expect(output).toContain('15,000');
116| expect(output).toContain('10,000');
117| expect(output).toMatchSnapshot();
| ^
118| });
119|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[49/90]โฏ
FAIL src/ui/components/StatsDisplay.test.tsx > > renders all sections when all data is present
Error: Snapshot ` > renders all sections when all data is present 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -13,12 +13,12 @@[39m
[2m โ Agent Active: 223ms โ[22m
[2m โ ยป API Time: 100ms (44.8%) โ[22m
[2m โ ยป Tool Time: 123ms (55.2%) โ[22m
[2m โ โ[22m
[2m โ โ[22m
[32m- โ[7m Model Usage [27m Reqs Input Tokens Cache Reads Output Tokens โ[39m
[31m+ โ Reqs Input Tokens Cache Reads Output Tokens [7m [27mโ[39m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ gemini-2.5-pro [7m1[27m [7m50[27m [7m50[27m [7m100[27m โ[39m
[31m+ โ gemini-2.5-pro [7m1[27m [7m50[27m [7m50[27m [7m100[27m โ[39m
[2m โ โ[22m
[2m โ Savings Highlight: 50 (50.0%) of input tokens were served from the cache, reducing costs. โ[22m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/StatsDisplay.test.tsx:170:20
168| expect(output).toContain('User Agreement');
169| expect(output).toContain('gemini-2.5-pro');
170| expect(output).toMatchSnapshot();
| ^
171| });
172|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[50/90]โฏ
FAIL src/ui/components/StatsDisplay.test.tsx > > Conditional Rendering Tests > hides Efficiency section when cache is not used
Error: Snapshot ` > Conditional Rendering Tests > hides Efficiency section when cache is not used 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,10 +12,10 @@[39m
[2m โ Agent Active: 100ms โ[22m
[2m โ ยป API Time: 100ms (100.0%) โ[22m
[2m โ ยป Tool Time: 0s (0.0%) โ[22m
[2m โ โ[22m
[2m โ โ[22m
[32m- โ[7m Model Usage [27m Reqs Input Tokens Cache Reads Output Tokens โ[39m
[31m+ โ Reqs Input Tokens Cache Reads Output Tokens [7m [27mโ[39m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ gemini-2.5-pro [7m1[27m [7m100[27m [7m0[27m [7m100[27m โ[39m
[31m+ โ gemini-2.5-pro [7m1[27m [7m100[27m [7m0[27m [7m100[27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/StatsDisplay.test.tsx:233:22
231| const output = lastFrame();
232|
233| expect(output).toMatchSnapshot();
| ^
234| });
235| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[51/90]โฏ
FAIL src/ui/components/StatsDisplay.test.tsx > > Quota Display > renders quota information when quotas are provided
Error: Snapshot ` > Quota Display > renders quota information when quotas are provided 1` mismatched
[32m- Expected[39m
[31m+ Received[39m
[33m@@ -12,13 +12,13 @@[39m
[2m โ Agent Active: 100ms โ[22m
[2m โ ยป API Time: 100ms (100.0%) โ[22m
[2m โ ยป Tool Time: 0s (0.0%) โ[22m
[2m โ โ[22m
[2m โ โ[22m
[32m- โ Model Usage [7m [27m [7mReqs[27m [7mUsage left[27m โ[39m
[31m+ โ Model Usage [7mReqs[27m [7mUsage left[27m [7m [27m โ[39m
[2m โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ[22m
[32m- โ gemini-2.5-pro [7m [27m [7m1[27m [7m75.0% (Resets in 1h 30m)[27m โ[39m
[31m+ โ gemini-2.5-pro [7m1[27m [7m75.0% (Resets in 1h 30m)[27m [7m [27m โ[39m
[2m โ โ[22m
[2m โ Usage limits span all sessions and reset daily. โ[22m
[2m โ /auth to upgrade or switch to API key. โ[22m
[2m โ โ[22m
[2m โ โ[22m
โฏ src/ui/components/StatsDisplay.test.tsx:445:22
443| expect(output).toContain('75.0%');
444| expect(output).toContain('(Resets in 1h 30m)');
445| expect(output).toMatchSnapshot();
| ^
446|
447| vi.useRealTimers();
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[52/90]โฏ
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:100:25
98| await new Promise((resolve) => setTimeout(resolve, 100));
99|
100| expect(lastFrame()).toMatchSnapshot();
| ^
101| });
102|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[53/90]โฏ
FAIL src/ui/hooks/useAtCompletion.test.ts > useAtCompletion > MCP resource suggestions > should include MCP resources in the suggestion list using fuzzy matching
AssertionError: expected false to be true // Object.is equality
[32m- Expected[39m
[31m+ Received[39m
[32m- true[39m
[31m+ false[39m
โฏ src/ui/hooks/useAtCompletion.test.ts:203:11
201| suggestion.value === 'server-1:file:///tmp/server-1/logsโฆ
202| ),
203| ).toBe(true);
| ^
204| });
205| });
โฏ waitFor src/test-utils/async.ts:22:7
โฏ src/ui/hooks/useAtCompletion.test.ts:197:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[54/90]โฏ
FAIL src/ui/hooks/useAtCompletion.test.ts > useAtCompletion > MCP resource suggestions > should include MCP resources in the suggestion list using fuzzy matching
Error: Failing test due to "act(...)" warnings:
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
at Timeout._onTimeout (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:252:9)
at listOnTimeout (node:internal/timers:605:17)
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
at search (/build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:290:9)
โฏ Timeout._onTimeout src/ui/hooks/useAtCompletion.ts:252:9
250|
251| slowSearchTimer.current = setTimeout(() => {
252| dispatch({ type: 'SET_LOADING', payload: true });
| ^
253| }, 200);
254|
โฏ search src/ui/hooks/useAtCompletion.ts:290:9
โฏ test-setup.ts:62:11
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[55/90]โฏ
FAIL src/ui/hooks/useAtCompletion.test.ts > useAtCompletion > UI State and Loading Behavior > should be in a loading state during initial file system crawl
Error: Failing test due to "act(...)" warnings:
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
at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:171:5
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
at /build/gemini-cli/src/gemini-cli/packages/cli/src/ui/hooks/useAtCompletion.ts:175:5
โฏ src/ui/hooks/useAtCompletion.ts:171:5
169|
170| useEffect(() => {
171| setSuggestions(state.suggestions);
| ^
172| }, [state.suggestions, setSuggestions]);
173|
โฏ src/ui/hooks/useAtCompletion.ts:175:5
โฏ test-setup.ts:62:11
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[56/90]โฏ
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:314:22
312| const output = lastFrame();
313|
314| expect(output).toContain('Item 1');
| ^
315| expect(output).toContain('Item 3');
316| expect(output).not.toContain('Item 4');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[57/90]โฏ
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:329:24
327| const output = lastFrame();
328| expect(output).not.toContain('Item 1');
329| expect(output).toContain('Item 2');
| ^
330| expect(output).toContain('Item 4');
331| expect(output).not.toContain('Item 5');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:326:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[58/90]โฏ
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:342:24
340| await waitFor(() => {
341| const output = lastFrame();
342| expect(output).toContain('Item 3'); // Should see items 3, 4, 5
| ^
343| expect(output).toContain('Item 5');
344| expect(output).not.toContain('Item 2');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:340:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[59/90]โฏ
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:367:24
365| await waitFor(() => {
366| const output = lastFrame();
367| expect(output).toContain('Item 10');
| ^
368| expect(output).toContain('Item 8');
369| expect(output).not.toContain('Item 7');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:365:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[60/90]โฏ
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:376:27
374| const { updateActiveIndex, lastFrame } = renderScrollableList(0);
375|
376| expect(lastFrame()).toContain('Item 1');
| ^
377| expect(lastFrame()).toContain('Item 3');
378|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[61/90]โฏ
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:441:22
439|
440| // Should show all available items (10 items)
441| expect(output).toContain('Item 1');
| ^
442| expect(output).toContain('Item 10');
443| expect(mockRenderItem).toHaveBeenCalledTimes(10);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[62/90]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows with correct colors when enabled (at the top)
AssertionError: expected 'โฒ\nโ 1. I\n t\n e\n mโฆ' to contain 'Item 1'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 1[39m
[31m+ โฒ[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+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:479:24
477| const output = lastFrame();
478| // At the top, should show first 3 items
479| expect(output).toContain('Item 1');
| ^
480| expect(output).toContain('Item 3');
481| expect(output).not.toContain('Item 4');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:476:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[63/90]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the middle
AssertionError: expected 'โฒ\n 4. I\n t\n e\n mโฆ' to contain 'Item 4'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 4[39m
[31m+ โฒ[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+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:497:24
495| const output = lastFrame();
496| // After scrolling to middle, should see items around index 5
497| expect(output).toContain('Item 4');
| ^
498| expect(output).toContain('Item 6');
499| expect(output).not.toContain('Item 3');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:494:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[64/90]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show arrows and correct items when scrolled to the end
AssertionError: expected 'โฒ\n 8. I\n t\n e\n mโฆ' to contain 'Item 8'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item 8[39m
[31m+ โฒ[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
[31m+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:516:24
514| const output = lastFrame();
515| // At the end, should show last 3 items
516| expect(output).toContain('Item 8');
| ^
517| expect(output).toContain('Item 10');
518| expect(output).not.toContain('Item 7');
โฏ Module.waitFor src/test-utils/async.ts:22:7
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:513:7
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[65/90]โฏ
FAIL src/ui/components/shared/BaseSelectionList.test.tsx > BaseSelectionList > Scroll Arrows (showScrollArrows) > should show both arrows dimmed when list fits entirely
AssertionError: expected 'โฒ\nโ 1. I\n t\n e\n m\n โฆ' to contain 'Item A'
[32m- Expected[39m
[31m+ Received[39m
[32m- Item A[39m
[31m+ โฒ[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+ C[39m
[31m+ โผ[39m
โฏ src/ui/components/shared/BaseSelectionList.test.tsx:534:22
532| const output = lastFrame();
533| // Should show all items since maxItemsToShow > items.length
534| expect(output).toContain('Item A');
| ^
535| expect(output).toContain('Item B');
536| expect(output).toContain('Item C');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[66/90]โฏ
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|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[67/90]โฏ
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
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[68/90]โฏ
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);
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[69/90]โฏ
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|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[70/90]โฏ
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|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[71/90]โฏ
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|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[72/90]โฏ
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-[39m
[32m- Do you want to proceed?[39m
[32m-[39m
[32m- โ 1. Yes, allow once[39m
[32m- 2. Yes, allow always[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ "[39m
[31m+ Do you want to proceed?[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:63:25
61| );
62|
63| expect(lastFrame()).toMatchSnapshot();
| ^
64| });
65|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[73/90]โฏ
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-[39m
[32m- Apply this change?[39m
[32m-[39m
[32m- โ 1. Yes, allow once[39m
[32m- 2. Yes, allow always[39m
[32m- 3. Modify with external editor[39m
[32m- 4. No, suggest changes (esc)[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+[39m
[2m "[22m
โฏ src/ui/components/messages/ToolConfirmationMessage.test.tsx:140:29
138| );
139|
140| expect(lastFrame()).toMatchSnapshot();
| ^
141| });
142|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[74/90]โฏ
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-[39m
[32m- Apply this change?[39m
[32m-[39m
[32m- โ 1. Yes, allow once[39m
[32m- 2. Modify with external editor[39m
[32m- 3. No, suggest changes (esc)[39m
[31m+ "[39m
[31m+ Apply this change?[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:158:29
156| );
157|
158| expect(lastFrame()).toMatchSnapshot();
| ^
159| });
160| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[75/90]โฏ
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-[39m
[31m+ "[39m
[2m Allow execution of: 'echo'?[22m
[32m- โ 1.[7m Yes, allow once[27m[39m
[32m- 2. Yes, allow always ...[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:140:29
138| );
139|
140| expect(lastFrame()).toMatchSnapshot();
| ^
141| });
142|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[76/90]โฏ
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-[39m
[31m+ "[39m
[2m Allow execution of: 'echo'?[22m
[32m- โ 1.[7m Yes, 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:158:29
156| );
157|
158| expect(lastFrame()).toMatchSnapshot();
| ^
159| });
160| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[77/90]โฏ
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-[39m
[31m+ "[39m
[2m Do you want to proceed?[22m
[32m- โ 1.[7m Yes, allow once[27m[39m
[32m- 2. Yes, allow always[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:140:29
138| );
139|
140| expect(lastFrame()).toMatchSnapshot();
| ^
141| });
142|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[78/90]โฏ
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-[39m
[31m+ "[39m
[2m Do you want to proceed?[22m
[32m- โ 1.[7m Yes, 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:158:29
156| );
157|
158| expect(lastFrame()).toMatchSnapshot();
| ^
159| });
160| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[79/90]โฏ
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-[39m
[31m+ "[39m
[2m Allow execution of MCP tool "test-tool" from server "test-server"?[22m
[32m- โ 1.[7m Yes, allow once[27m[39m
[32m- 2. Yes, always allow tool "test-tool" from server "test-server"[39m
[32m- 3. Yes, always allow all tools from server "test-server"[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:140:29
138| );
139|
140| expect(lastFrame()).toMatchSnapshot();
| ^
141| });
142|
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[80/90]โฏ
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-[39m
[31m+ "[39m
[2m Allow execution of MCP tool "test-tool" from server "test-server"?[22m
[32m- โ 1.[7m Yes, 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:158:29
156| );
157|
158| expect(lastFrame()).toMatchSnapshot();
| ^
159| });
160| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[81/90]โฏ
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? [7mโ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ Do you want to proceed? [27m [7mโ[27m[39m
[32m- [7mโ[27m [7mโ[27m[39m
[32m- [7mโ โ 1. Yes, allow once[27m [7mโ[27m[39m
[32m- [7mโ 2. Yes, allow always[27m [7mโ[27m[39m
[32m- [7mโ 3. No, suggest changes (esc)[27m โ[39m
[31m+ โ [7m โ[27m[39m
[31m+ [7mโ Do[27m you want to proceed? [7mโ[27m[39m
[31m+ [7mโ[27m [7m โ[27m[39m
[31m+ [7mโ โ 1.[27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m2.[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m3.[27m [7m [27m [7mโ[27m[39m
[31m+ [7mโ[27m [7m [27m โ[39m
[2m โ โ[22m
[2m โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ"[22m
โฏ src/ui/components/messages/ToolGroupMessage.test.tsx:90:27
88| ,
89| );
90| expect(lastFrame()).toMatchSnapshot();
| ^
91| unmount();
92| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[82/90]โฏ
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,16 +1,16 @@[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โ[27m [7mโ[27m[39m
[32m- [7mโ Do you want to proceed?[27m โ[39m
[31m+ โ [7m [27m [7m โ[27m[39m
[31m+ [7mโ Do 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. Yes, allow once[27m โ[39m
[31m+ โ [7m 2. [27m [7m [27mโ[39m
[32m- โ [7m2[27m. [7mYes, allow always[27m โ[39m
[31m+ โ [7m3[27m. [7m [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:376:27
374| );
375| // Should only show confirmation for the first tool
376| expect(lastFrame()).toMatchSnapshot();
| ^
377| unmount();
378| });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[83/90]โฏ
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:200:33
198| );
199| // Check for trailing indicator or specific color if applicable (Cโฆ
200| expect(highEmphasisFrame()).toMatchSnapshot();
| ^
201|
202| const { lastFrame: lowEmphasisFrame } = renderWithContext(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[84/90]โฏ
โฏโฏโฏโฏโฏโฏ 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 33 failed
1 obsolete
โณ src/ui/components/messages/ToolMessage.test.tsx
ยท > renders emphasis correctly 2
Test Files 20 failed | 266 passed (286)
Tests 89 failed | 3733 passed | 1 skipped (3823)
Errors 1 error
Start at 21:20:44
Duration 474.61s (transform 1111.64s, setup 571.65s, collect 33563.75s, tests 835.66s, environment 1.84s, prepare 1021.98s)
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.21.3
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.21.3 test
> vitest run
RUN v3.2.4 /build/gemini-cli/src/gemini-cli/packages/core
Coverage enabled with v8
โ src/services/modelConfigService.test.ts (23 tests) 270ms
โ src/utils/paths.test.ts (88 tests | 17 skipped) 385ms
โ src/utils/memoryImportProcessor.test.ts (25 tests) 801ms
โ memoryImportProcessor > processImports > should process basic md file imports 324ms
โ src/utils/googleErrors.test.ts (13 tests) 255ms
โ src/services/modelConfig.integration.test.ts (10 tests) 182ms
โ src/utils/partUtils.test.ts (37 tests) 241ms
โ src/hooks/types.test.ts (35 tests) 368ms
โ src/utils/ignorePatterns.test.ts (28 tests) 351ms
โ src/telemetry/high-water-mark-tracker.test.ts (18 tests) 278ms
โ src/telemetry/rate-limiter.test.ts (24 tests) 341ms
โ src/utils/secure-browser-launcher.test.ts (14 tests) 392ms
โ src/output/json-formatter.test.ts (17 tests) 184ms
โ src/utils/editor.test.ts (110 tests) 997ms
โ src/code_assist/converter.test.ts (24 tests) 160ms
โ src/utils/channel.test.ts (22 tests) 223ms
โ src/utils/events.test.ts (15 tests) 1094ms
โ CoreEventEmitter > should respect the backlog size limit and maintain FIFO order 374ms
โ src/utils/errorReporting.test.ts (6 tests) 527ms
โ src/mcp/oauth-utils.test.ts (29 tests) 308ms
โ src/utils/workspaceContext.test.ts (34 tests) 478ms
โ src/ide/process-utils.test.ts (8 tests) 150ms
โ src/utils/googleQuotaErrors.test.ts (20 tests) 353ms
โ src/routing/strategies/compositeStrategy.test.ts (6 tests) 534ms
โ src/services/gitService.test.ts (17 tests) 1014ms
โ src/ide/ide-installer.test.ts (15 tests) 480ms
โ src/utils/generateContentResponseUtilities.test.ts (29 tests) 336ms
โ src/telemetry/semantic.test.ts (21 tests) 247ms
โ src/utils/checkpointUtils.test.ts (15 tests) 459ms
โ src/utils/userAccountManager.test.ts (23 tests) 665ms
โ src/commands/restore.test.ts (6 tests) 186ms
โ src/utils/systemEncoding.test.ts (38 tests) 855ms
โ src/mcp/oauth-provider.test.ts (34 tests) 2533ms
โ MCPOAuthProvider > authenticate > should handle invalid callback request 1147ms
โ src/utils/terminalSerializer.test.ts (17 tests) 862ms
โ src/utils/gitIgnoreParser.test.ts (25 tests) 1198ms
โ src/services/sessionSummaryService.test.ts (33 tests) 712ms
โ src/safety/built-in.test.ts (14 tests) 912ms
โ src/code_assist/oauth-credential-storage.test.ts (16 tests) 431ms
โ src/telemetry/activity-monitor.test.ts (22 tests) 308ms
โ src/mcp/google-auth-provider.test.ts (15 tests) 425ms
โ src/policy/policy-engine.test.ts (60 tests) 1420ms
โ src/hooks/hookTranslator.test.ts (10 tests) 178ms
โ src/hooks/hookAggregator.test.ts (10 tests) 389ms
โ src/availability/policyHelpers.test.ts (13 tests) 397ms
โ src/mcp/token-storage/hybrid-token-storage.test.ts (11 tests) 639ms
โ src/code_assist/setup.test.ts (7 tests) 400ms
โ src/hooks/hookPlanner.test.ts (9 tests) 203ms
โ src/hooks/hookRegistry.test.ts (17 tests) 770ms
โ src/ide/ideContext.test.ts (23 tests) 366ms
โ src/policy/toml-loader.test.ts (25 tests) 997ms
โ src/mcp/oauth-token-storage.test.ts (28 tests) 373ms
โ src/code_assist/server.test.ts (14 tests) 963ms
โ CodeAssistServer > should call the generateContentStream endpoint and parse SSE 310ms
โ src/telemetry/memory-monitor.test.ts (31 tests) 818ms
โ src/confirmation-bus/message-bus.test.ts (10 tests) 222ms
โ src/tools/modifiable-tool.test.ts (12 tests) 490ms
โ src/hooks/hookRunner.test.ts (17 tests) 1537ms
โ src/telemetry/gcp-exporters.test.ts (18 tests) 383ms
โ src/mcp/token-storage/file-token-storage.test.ts (16 tests) 5717ms
โ FileTokenStorage > getCredentials > should return null when file does not exist 565ms
โ FileTokenStorage > getCredentials > should return null for expired tokens 395ms
โ FileTokenStorage > getCredentials > should return credentials for valid tokens 334ms
โ FileTokenStorage > getCredentials > should throw error for corrupted files 331ms
โ FileTokenStorage > setCredentials > should save credentials with encryption 575ms
โ FileTokenStorage > setCredentials > should update existing credentials 318ms
โ FileTokenStorage > deleteCredentials > should delete file when last credential is removed 313ms
โ FileTokenStorage > deleteCredentials > should update file when other credentials remain 314ms
โ FileTokenStorage > listServers > should return empty list when file does not exist 389ms
โ FileTokenStorage > listServers > should return list of server names 390ms
โ FileTokenStorage > clearAll > should delete the token file 391ms
โ src/routing/strategies/classifierStrategy.test.ts (8 tests) 368ms
โ src/tools/tools.test.ts (11 tests) 196ms
โ src/services/fileDiscoveryService.test.ts (20 tests) 1809ms
โ src/safety/checker-runner.test.ts (9 tests) 1634ms
โ CheckerRunner > should run in-process checker successfully 920ms
โ src/config/models.test.ts (20 tests) 649ms
โ isGemini2Model > should return true for gemini-2.5-pro 386ms
โ src/utils/getFolderStructure.test.ts (15 tests) 2930ms
โ getFolderStructure > should return basic folder structure 473ms
โ getFolderStructure > with gitignore > should ignore files and folders specified in .gitignore 959ms
โ src/mcp/token-storage/keychain-token-storage.test.ts (29 tests) 19372ms
โ KeychainTokenStorage > checkKeychainAvailability > should return true if keytar is available and functional 8561ms
โ KeychainTokenStorage > checkKeychainAvailability > should return false if keytar fails to set password 813ms
โ KeychainTokenStorage > checkKeychainAvailability > should return false if retrieved password does not match 722ms
โ KeychainTokenStorage > checkKeychainAvailability > should cache the availability result 603ms
โ KeychainTokenStorage > with keychain unavailable > getCredentials should throw 583ms
โ KeychainTokenStorage > with keychain unavailable > setCredentials should throw 878ms
โ KeychainTokenStorage > with keychain unavailable > deleteCredentials should throw 667ms
โ KeychainTokenStorage > with keychain unavailable > listServers should throw 614ms
โ KeychainTokenStorage > with keychain unavailable > getAllCredentials should throw 716ms
โ KeychainTokenStorage > with keychain available > getCredentials > should return null if no credentials are found 884ms
โ KeychainTokenStorage > with keychain available > getCredentials > should return credentials if found and not expired 502ms
โ KeychainTokenStorage > with keychain available > getCredentials > should return null if credentials have expired 618ms
โ KeychainTokenStorage > with keychain available > setCredentials > should save credentials to keychain 1977ms
โ src/output/stream-json-formatter.test.ts (19 tests) 1431ms
โ StreamJsonFormatter > formatEvent > should format init event as JSONL 304ms
โ StreamJsonFormatter > emitEvent > should write formatted event to stdout 698ms
โ src/utils/bfsFileSearch.test.ts (11 tests) 4633ms
โ bfsFileSearch > with FileDiscoveryService > should ignore geminiignored files 1387ms
โ bfsFileSearch > with FileDiscoveryService > should not ignore files if respect flags are false 1654ms
โ bfsFileSearch > should find all files in a complex directory structure 578ms
โ src/tools/message-bus-integration.test.ts (9 tests) 1720ms
โ Message Bus Integration > BaseToolInvocation with MessageBus > should use message bus for confirmation when available 1265ms
โ src/tools/memoryTool.test.ts (19 tests) 2333ms
โ MemoryTool > execute (instance method) > should call performAddMemoryEntry with correct parameters and return success 1377ms
โ src/tools/grep.test.ts (24 tests) 3353ms
โ GrepTool > validateToolParams > should return null for valid params (pattern only) 720ms
โ GrepTool > validateToolParams > should return error if path does not exist 531ms
โ GrepTool > execute > should find matches for a simple pattern in all files 481ms
โ src/tools/web-fetch.test.ts (32 tests) 1912ms
โ WebFetchTool > validateToolParamValues > should throw if 'empty prompt' 914ms
โ src/core/prompts.test.ts (41 tests) 1073ms
โ Core System Prompt (prompts.ts) > should use chatty system prompt for preview model 348ms
โ src/tools/mcp-tool.test.ts (42 tests) 3039ms
โ DiscoveredMCPTool > constructor > should set properties correctly 2123ms
โ src/utils/filesearch/crawler.test.ts (18 tests) 5187ms
โ crawler > should use .geminiignore rules 856ms
โ crawler > should combine .gitignore and .geminiignore rules 1335ms
โ crawler > should handle negated directories 470ms
โ crawler > with maxDepth > should crawl one level deep when maxDepth is 1 580ms
โ src/utils/filesearch/fileSearch.test.ts (27 tests) 5896ms
โ FileSearch > should use .geminiignore rules 419ms
โ FileSearch > should combine .gitignore and .geminiignore rules 804ms
โ FileSearch > should use ignoreDirs option 1950ms
โ FileSearch > should be cancellable via AbortSignal 532ms
โ FileSearch > should leverage ResultCache for bestBaseQuery optimization 332ms
โ src/core/fakeContentGenerator.test.ts (7 tests) 145ms
โ src/utils/editCorrector.test.ts (40 tests) 958ms
โ src/tools/ls.test.ts (21 tests) 5458ms
โ LSTool > parameter validation > should accept valid absolute paths within workspace 1418ms
โ LSTool > execute > should list files in a directory 777ms
โ LSTool > execute > should respect gitignore patterns 327ms
โ LSTool > execute > should respect geminiignore patterns 470ms
โ LSTool > workspace boundary validation > should list files from secondary workspace directory 407ms
โ src/utils/pathReader.test.ts (18 tests) 2582ms
โ readPathFromWorkspace > should read a text file from the CWD 921ms
โ readPathFromWorkspace > File Ignoring > should return an empty array for an ignored file 594ms
โ readPathFromWorkspace > should return an error string for files exceeding the size limit 337ms
โ src/tools/ripGrep.test.ts (51 tests | 1 skipped) 11557ms
โ RipGrepTool > validateToolParams > should return null for valid params ('pattern only') 999ms
โ RipGrepTool > validateToolParams > should return error if path does not exist 688ms
โ RipGrepTool > validateToolParams > should allow path to be a file 327ms
โ RipGrepTool > abort signal handling > should handle AbortSignal during search 342ms
โ RipGrepTool > regex pattern validation > should handle case sensitivity correctly in JS fallback 421ms
โ RipGrepTool > regex pattern validation > should handle escaped regex special characters 355ms
โ RipGrepTool > include pattern filtering > should handle multiple file extensions in include pattern 495ms
โ RipGrepTool > include pattern filtering > should handle directory patterns in include 1056ms
โ RipGrepTool > getDescription > should generate correct description with 'pattern only' 1267ms
โ src/core/loggingContentGenerator.test.ts (7 tests) 1636ms
โ LoggingContentGenerator > generateContent > should log request and response on success 1307ms
โ src/telemetry/startupProfiler.test.ts (22 tests) 525ms
โ src/ide/ide-client.test.ts (36 tests) 1183ms
โ IdeClient > connect > should connect using HTTP when port is provided in config file 311ms
โ src/utils/environmentContext.test.ts (6 tests) 633ms
โ getEnvironmentContext > should return basic environment context for a single directory 407ms
โ src/utils/fileUtils.test.ts (72 tests) 9783ms
โ fileUtils > readWasmBinaryFromDisk > loads a WASM binary from disk as a Uint8Array 401ms
โ fileUtils > fileExists > should return true if the file exists 599ms
โ fileUtils > fileExists > should return false if the file does not exist 536ms
โ fileUtils > isBinaryFile > should return false for an empty file 390ms
โ fileUtils > isBinaryFile > should return true for a file with many null bytes 408ms
โ fileUtils > isBinaryFile > should return true for a file with high percentage of non-printable ASCII 483ms
โ fileUtils > isBinaryFile > should return false if file access fails (e.g., ENOENT) 496ms
โ fileUtils > BOM detection and encoding > detectBOM > should detect UTF-8 BOM 2448ms
โ fileUtils > BOM detection and encoding > detectBOM > should detect UTF-16 LE BOM 1050ms
โ fileUtils > BOM detection and encoding > detectBOM > should detect UTF-16 BE BOM 691ms
โ src/tools/diffOptions.test.ts (9 tests) 538ms
โ src/mcp/sa-impersonation-provider.test.ts (8 tests) 2220ms
โ ServiceAccountImpersonationProvider > should correctly get tokens for a valid config 657ms
โ ServiceAccountImpersonationProvider > should make a request with the correct parameters 503ms
โ ServiceAccountImpersonationProvider > should return a cached token if it is not expired 329ms
โฏ src/policy/config.test.ts (19 tests | 3 failed) 34254ms
ร createPolicyEngineConfig > should return ASK_USER for write tools and ALLOW for read-only tools by default 5302ms
โ 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 allow tools in tools.allowed 4535ms
โ createPolicyEngineConfig > should deny tools in tools.exclude 2651ms
โ createPolicyEngineConfig > should allow tools from allowed MCP servers 296ms
โ createPolicyEngineConfig > should deny tools from excluded MCP servers 114ms
โ createPolicyEngineConfig > should allow tools from trusted MCP servers 32ms
โ createPolicyEngineConfig > should handle multiple MCP server configurations together 31ms
โ createPolicyEngineConfig > should allow all tools in YOLO mode 411ms
โ createPolicyEngineConfig > should allow edit tool in AUTO_EDIT mode 112ms
โ createPolicyEngineConfig > should prioritize exclude over allow 15ms
โ createPolicyEngineConfig > should prioritize specific tool allows over MCP server excludes 23ms
โ createPolicyEngineConfig > should handle MCP server allows and tool excludes 13ms
โ createPolicyEngineConfig > should handle complex priority scenarios correctly 3355ms
โ createPolicyEngineConfig > should handle MCP servers with undefined trust property 28ms
ร createPolicyEngineConfig > should have YOLO allow-all rule beat write tool rules in YOLO mode 5467ms
โ 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 support argsPattern in policy rules 5363ms
โ 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 load safety_checker configuration from TOML 3206ms
โ createPolicyEngineConfig > should reject invalid in-process checker names 704ms
โ createPolicyEngineConfig > should have default ASK_USER rule for discovered tools 2546ms
โ src/tools/read-file.test.ts (29 tests) 10415ms
โ ReadFileTool > build > should return an invocation for valid params (absolute path within root) 2457ms
โ ReadFileTool > build > should throw error if path is outside root 469ms
โ ReadFileTool > build > should allow access to files in project temp directory 584ms
โ ReadFileTool > getDescription > should return shortened path when file path is deep 540ms
โ ReadFileTool > getDescription > should handle non-normalized file paths correctly 980ms
โ ReadFileTool > execute > should successfully read a file with a relative path 2503ms
โ ReadFileTool > execute > should return error for a file that is too large 887ms
โ src/utils/filesearch/ignore.test.ts (12 tests) 2153ms
โ loadIgnoreRules > should load rules from .geminiignore 737ms
โ loadIgnoreRules > should combine rules from .gitignore and .geminiignore 611ms
โ src/utils/errors.test.ts (15 tests) 127ms
โ src/tools/edit.test.ts (56 tests) 7418ms
โ EditTool > validateToolParams > should return null for valid params 2841ms
โ EditTool > shouldConfirmExecute > should resolve relative path and request confirmation 308ms
โ EditTool > execute > should resolve relative path and execute successfully 301ms
โ EditTool > multiple file edits > should perform multiple removals and report correct diff stats 327ms
โ src/agents/schema-utils.test.ts (6 tests) 130ms
โ src/telemetry/activity-detector.test.ts (13 tests) 173ms
โ src/mcp/token-storage/base-token-storage.test.ts (12 tests) 182ms
โ src/core/contentGenerator.test.ts (16 tests) 403ms
โ src/services/contextManager.test.ts (5 tests) 1599ms
โ ContextManager > loadGlobalMemory > should load and format global memory 838ms
โ src/ide/detect-ide.test.ts (15 tests) 205ms
โ src/code_assist/experiments/client_metadata.test.ts (13 tests) 1318ms
โ client_metadata > getPlatform > should return DARWIN_AMD64 for platform darwin and arch x64 808ms
โ src/routing/strategies/fallbackStrategy.test.ts (5 tests) 200ms
โ src/telemetry/uiTelemetry.test.ts (19 tests) 1911ms
โ UiTelemetryService > should emit an update event when an event is added 401ms
โ UiTelemetryService > Tool Call Event Processing > should process a single successful ToolCallEvent 559ms
โ src/utils/llm-edit-fixer.test.ts (8 tests) 282ms
โ src/availability/modelAvailabilityService.test.ts (9 tests) 184ms
โ src/code_assist/oauth2.test.ts (28 tests) 5381ms
โ oauth2 > with encrypted flag false > should perform a web login 1211ms
โ oauth2 > with encrypted flag false > should emit post_auth event when loading cached credentials 1364ms
โ oauth2 > with encrypted flag false > should perform login with user code 480ms
โ oauth2 > with encrypted flag false > credential loading order > should fall back to GOOGLE_APPLICATION_CREDENTIALS if default cache is missing 619ms
โ src/utils/retry.test.ts (30 tests) 1070ms
โ src/telemetry/sanitize.test.ts (18 tests) 1354ms
โ Telemetry Sanitization > HookCallEvent > constructor > should create an event with all fields 1075ms
โ src/core/logger.test.ts (39 tests) 8161ms
โ Logger > initialize > should create .gemini directory and an empty log file if none exist 316ms
โ Logger > initialize > should load existing logs and set correct messageId for the current session 2367ms
โ Logger > logMessage > should correctly increment messageId for subsequent messages in the same session 998ms
โ Logger > deleteCheckpoint > should re-throw an error if file deletion fails for reasons other than not existing 1558ms
โ Logger > checkpointExists > should return true if the checkpoint file exists 615ms
โ src/core/baseLlmClient.test.ts (30 tests) 1696ms
โ BaseLlmClient > generateJson - Success Scenarios > should call generateContent with correct parameters, defaults, and utilize retry mechanism 426ms
โ src/core/recordingContentGenerator.test.ts (4 tests) 133ms
โ src/hooks/hookEventHandler.test.ts (9 tests) 333ms
โ src/agents/utils.test.ts (12 tests) 233ms
โ src/tools/write-todos.test.ts (9 tests) 655ms
โ WriteTodosTool > validation > should not throw for valid parameters 556ms
โ src/fallback/handler.test.ts (14 tests) 891ms
โ src/prompts/prompt-registry.test.ts (7 tests) 238ms
โ src/tools/base-tool-invocation.test.ts (2 tests) 124ms
โ src/utils/debugLogger.test.ts (6 tests) 211ms
โ src/resources/resource-registry.test.ts (4 tests) 89ms
โ src/utils/textUtils.test.ts (12 tests) 127ms
โ src/utils/tokenCalculation.test.ts (7 tests) 85ms
โ src/utils/customHeaderUtils.test.ts (11 tests) 124ms
โ src/utils/safeJsonStringify.test.ts (8 tests) 96ms
โ src/utils/filesearch/crawlCache.test.ts (9 tests) 311ms
โ src/availability/policyCatalog.test.ts (10 tests) 222ms
โ src/utils/filesearch/result-cache.test.ts (3 tests) 154ms
โ src/utils/installationManager.test.ts (4 tests) 225ms
โ src/routing/strategies/overrideStrategy.test.ts (3 tests) 66ms
โ src/safety/context-builder.test.ts (3 tests) 226ms
โ src/utils/delay.test.ts (7 tests) 635ms
โ src/config/storage.test.ts (6 tests) 71ms
โ src/core/apiKeyCredentialStorage.test.ts (7 tests) 412ms
โ src/index.test.ts (1 test) 72ms
โ src/utils/geminiIgnoreParser.test.ts (2 tests) 293ms
โ src/routing/strategies/defaultStrategy.test.ts (1 test) 68ms
โ src/services/modelConfig.golden.test.ts (1 test) 97ms
โ src/utils/thoughtUtils.test.ts (11 tests) 279ms
โ src/utils/stdio.test.ts (2 tests) 222ms
working stdoutworking stderr โ src/telemetry/telemetry-utils.test.ts (6 tests) 71ms
โ src/utils/pathCorrector.test.ts (4 tests) 506ms
โ pathCorrector > should correct a partial relative path if it is unambiguous in another workspace dir 347ms
โ src/agents/codebase-investigator.test.ts (2 tests) 75ms
โ src/safety/registry.test.ts (4 tests) 126ms
โ src/services/fileSystemService.test.ts (3 tests) 163ms
โ src/core/tokenLimits.test.ts (5 tests) 113ms
โ src/utils/formatters.test.ts (4 tests) 88ms
โ src/commands/extensions.test.ts (1 test) 169ms
โ src/utils/schemaValidator.test.ts (7 tests) 664ms
โ SchemaValidator > allows schema with extra properties 506ms
โ src/code_assist/experiments/experiments.test.ts (4 tests) 2596ms
โ experiments > should fetch and parse experiments from the server 2121ms
โ src/prompts/mcp-prompts.test.ts (2 tests) 183ms
โ src/telemetry/sdk.test.ts (16 tests) 1889ms
โ Telemetry SDK > should parse HTTP endpoint correctly 883ms
(node:13264) 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:13264) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
โ src/telemetry/config.test.ts (14 tests) 465ms
โ src/code_assist/codeAssist.test.ts (7 tests) 660ms
โ codeAssist > createCodeAssistContentGenerator > should create a server for LOGIN_WITH_GOOGLE 459ms
โ src/services/chatCompressionService.test.ts (17 tests) 478ms
โ src/services/sessionSummaryUtils.test.ts (10 tests) 475ms
โ src/tools/tool-registry.test.ts (14 tests) 1060ms
โ ToolRegistry > discoverTools > should return a DISCOVERED_TOOL_EXECUTION_ERROR on tool failure 555ms
โ src/utils/memoryDiscovery.test.ts (29 tests) 2593ms
โ src/agents/invocation.test.ts (11 tests) 502ms
โ src/core/turn.test.ts (21 tests) 495ms
โ src/utils/extensionLoader.test.ts (9 tests | 1 skipped) 420ms
โ src/tools/mcp-client.test.ts (55 tests) 4743ms
โ mcp-client > McpClient > should discover tools 375ms
โ connectToMcpServer with OAuth > should discover oauth config if not in www-authenticate header 1180ms
โ src/utils/errorParsing.test.ts (10 tests) 199ms
โ src/core/client.test.ts (57 tests | 1 skipped) 6519ms
โ Gemini Client (client.ts) > addHistory > should call chat.addHistory with the provided content 579ms
โ Gemini Client (client.ts) > sendMessageStream > should stop infinite loop after MAX_TURNS when nextSpeaker always returns model 397ms
โ Gemini Client (client.ts) > sendMessageStream > should respect MAX_TURNS limit even when turns parameter is set to a large value 400ms
โ Gemini Client (client.ts) > generateContent > should use current model from config for content generation 891ms
โ src/utils/summarizer.test.ts (8 tests) 1618ms
โ summarizers > summarizeToolOutput > should return original text if generateContent throws an error 457ms
โ summarizers > summarizeToolOutput > should construct the correct prompt for summarization 492ms
โ src/utils/nextSpeakerChecker.test.ts (10 tests) 999ms
โ checkNextSpeaker > should return null if history is empty 473ms
โ src/tools/mcp-client-manager.test.ts (11 tests) 743ms
โ src/telemetry/loggers.test.ts (35 tests) 2290ms
โ loggers > logChatCompression > logs the chat compression event to Clearcut 358ms
โ loggers > logCliConfiguration > should log the cli configuration 488ms
โ src/tools/smart-edit.test.ts (24 tests) 2349ms
โ SmartEditTool > calculateReplacement > should 'perform an exact replacement' 327ms
โ SmartEditTool > validateToolParams > should return null for valid params 592ms
โ src/utils/shell-utils.test.ts (77 tests | 2 skipped) 2095ms
โ isCommandAllowed > should allow a command if no restrictions are provided 336ms
โ src/services/chatRecordingService.test.ts (10 tests) 518ms
โ src/tools/web-search.test.ts (9 tests) 1446ms
โ WebSearchTool > build > should return an invocation for a valid query 820ms
โ src/services/loopDetectionService.test.ts (47 tests) 5099ms
โ LoopDetectionService > Content Loop Detection > should not detect a loop for random content 2919ms
โ LoopDetectionService > Content Loop Detection > should not detect a loop if repetitions are very far apart 321ms
โฏ src/core/coreToolScheduler.test.ts (34 tests | 1 failed) 3220ms
โ CoreToolScheduler > should cancel a tool call if the signal is aborted before confirmation 138ms
โ CoreToolScheduler > should cancel all tools when cancelAll is called 300ms
โ CoreToolScheduler > should cancel all tools in a batch when one is cancelled via confirmation 60ms
โ CoreToolScheduler > should mark tool call as cancelled when abort happens during confirmation error 809ms
โ CoreToolScheduler > getToolSuggestion > should suggest the top N closest tool names for a typo 14ms
โ CoreToolScheduler with payload > should update args and diff and execute tool when payload is provided 135ms
โ convertToFunctionResponse > should handle simple string llmContent 8ms
โ convertToFunctionResponse > should handle llmContent as a single Part with text 7ms
โ convertToFunctionResponse > should handle llmContent as a PartListUnion array with a single text Part 6ms
โ convertToFunctionResponse > should handle llmContent with inlineData 7ms
โ convertToFunctionResponse > should handle llmContent with fileData 6ms
โ convertToFunctionResponse > should handle llmContent as an array of multiple Parts (text and inlineData) 7ms
โ convertToFunctionResponse > should handle llmContent as an array with a single inlineData Part 6ms
โ convertToFunctionResponse > should handle llmContent as a generic Part (not text, inlineData, or fileData) 6ms
โ convertToFunctionResponse > should handle empty string llmContent 5ms
โ convertToFunctionResponse > should handle llmContent as an empty array 5ms
โ convertToFunctionResponse > should handle llmContent as a Part with undefined inlineData/fileData/text 5ms
โ CoreToolScheduler edit cancellation > should preserve diff when an edit is cancelled 39ms
โ CoreToolScheduler YOLO mode > should execute tool requiring confirmation directly without waiting 44ms
โ CoreToolScheduler request queueing > should queue a request if another is running 151ms
โ CoreToolScheduler request queueing > should auto-approve a tool call if it is on the allowedTools list 32ms
โ CoreToolScheduler request queueing > should require approval for a chained shell command even when prefix is allowlisted 32ms
โ CoreToolScheduler request queueing > should handle two synchronous calls to schedule 30ms
โ CoreToolScheduler request queueing > should auto-approve remaining tool calls when first tool call is approved with ProceedAlways 112ms
โ CoreToolScheduler Sequential Execution > should execute tool calls in a batch sequentially 85ms
ร CoreToolScheduler Sequential Execution > should cancel subsequent tools when the signal is aborted. 814ms
โ expected "spy" to be called 2 times, but got 3 times
โ CoreToolScheduler Sequential Execution > should pass confirmation diff data into modifyWithEditor overrides 55ms
โ truncateAndSaveToFile > should return content unchanged if below threshold 21ms
โ truncateAndSaveToFile > should truncate content by lines when content has many lines 23ms
โ truncateAndSaveToFile > should wrap and truncate content when content has few but long lines 33ms
โ truncateAndSaveToFile > should handle file write errors gracefully 49ms
โ truncateAndSaveToFile > should save to correct file path with call ID 23ms
โ truncateAndSaveToFile > should include helpful instructions in truncated message 47ms
โ truncateAndSaveToFile > should sanitize callId to prevent path traversal 25ms
โ src/config/config.test.ts (115 tests) 8378ms
โ Server Config (config.ts) > initialize > should not throw an error if checkpointing is disabled and GitService fails 387ms
โ Server Config (config.ts) > ContinueOnFailedApiCall Configuration > should set continueOnFailedApiCall to true when provided as true 1108ms
โ Server Config (config.ts) > createToolRegistry > should register a tool if coreTools contains an argument-specific pattern 2023ms
โ Server Config (config.ts) > createToolRegistry > should register subagents as tools when codebaseInvestigatorSettings.enabled is true 580ms
โ Server Config (config.ts) > createToolRegistry > should not register subagents as tools when codebaseInvestigatorSettings.enabled is false 302ms
โ src/tools/write-file.test.ts (31 tests) 1871ms
โ WriteFileTool > build > should return an invocation for a valid absolute path within root 672ms
โ src/core/nonInteractiveToolExecutor.test.ts (8 tests) 945ms
โ executeToolCall > should execute a tool successfully 609ms
โ src/agents/executor.test.ts (32 tests) 1699ms
โ src/core/geminiChat_network_retry.test.ts (3 tests) 1479ms
โ GeminiChat Network Retries > should retry when a 503 ApiError occurs during stream iteration 800ms
โ GeminiChat Network Retries > should retry on generic network error if retryFetchErrors is true 560ms
โ src/telemetry/clearcut-logger/clearcut-logger.test.ts (45 tests) 5457ms
โ ClearcutLogger > getInstance > returns an instance if usage statistics are enabled 328ms
โ ClearcutLogger > enqueueLogEvent > should evict the oldest event when the queue is full 848ms
โ ClearcutLogger > flushToClearcut > allows for usage with a configured proxy agent 715ms
โ ClearcutLogger > requeueFailedEvents logic > should not requeue more events than available space in the queue 509ms
โ src/agents/registry.test.ts (15 tests) 275ms
โ src/core/geminiChat.test.ts (47 tests) 11445ms
โ GeminiChat > sendMessageStream > should fail if the stream ends with an empty part and has no finishReason 544ms
โ GeminiChat > sendMessageStream > should throw an error when a tool call is followed by an empty stream response 821ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when no tool call and no finish reason 528ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when no tool call and empty response text 541ms
โ GeminiChat > sendMessageStream > should throw InvalidStreamError when finishReason is MALFORMED_FUNCTION_CALL 533ms
โ GeminiChat > sendMessageStream > should retry when finishReason is MALFORMED_FUNCTION_CALL 546ms
โ GeminiChat > sendMessageStream with retries > should yield a RETRY event when an invalid stream is encountered 907ms
โ GeminiChat > sendMessageStream with retries > should retry on invalid content, succeed, and report metrics 607ms
โ GeminiChat > sendMessageStream with retries > should set temperature to 1 on retry 604ms
โ GeminiChat > sendMessageStream with retries > should fail after all retries on persistent invalid content and report metrics 556ms
โ GeminiChat > should correctly retry and append to an existing history mid-conversation 1176ms
โ GeminiChat > should retry if the model returns a completely empty stream (no chunks) 1638ms
โ GeminiChat > should discard valid partial content from a failed attempt upon retry 574ms
โ src/utils/flashFallback.test.ts (4 tests) 187ms
โ src/tools/read-many-files.test.ts (31 tests) 8249ms
โ ReadManyFilesTool > build > should return an invocation for valid relative paths within root 1332ms
โ ReadManyFilesTool > build > should return an invocation for paths trying to escape the root (e.g., ../) as execute handles this 1188ms
โ ReadManyFilesTool > execute > should read a single specified file 1189ms
โ ReadManyFilesTool > execute > should read files with special characters like [] and () in the path 415ms
โ ReadManyFilesTool > execute > should read files with special characters in the name 318ms
โ src/hooks/hookSystem.test.ts (11 tests) 690ms
โ src/telemetry/telemetry.test.ts (2 tests) 319ms
โ src/utils/tool-utils.test.ts (8 tests) 120ms
โ src/agents/subagent-tool-wrapper.test.ts (7 tests) 985ms
โ SubagentToolWrapper > createInvocation > should create a SubagentInvocation with the correct parameters 673ms
โ src/tools/shell.test.ts (27 tests | 1 skipped) 3042ms
โ ShellTool > isCommandAllowed > should allow a command if no restrictions are provided 357ms
โ ShellTool > build > should return an invocation for a valid command 595ms
โ src/config/flashFallback.test.ts (6 tests) 128ms
โ src/routing/modelRouterService.test.ts (5 tests) 769ms
โ src/tools/glob.test.ts (37 tests) 7137ms
โ GlobTool > execute > should find files matching a simple pattern in the root 1240ms
โ GlobTool > execute > should find files using a pattern that includes a subdirectory 575ms
โฏ src/services/shellExecutionService.test.ts (50 tests | 2 failed | 1 skipped) 16960ms
โ ShellExecutionService > Successful Execution > should execute a command and capture output 753ms
โ ShellExecutionService > Successful Execution > should strip ANSI color codes from output 341ms
โ ShellExecutionService > Successful Execution > should correctly decode multi-byte characters split across chunks 297ms
โ ShellExecutionService > Successful Execution > should handle commands with no output 267ms
โ ShellExecutionService > Successful Execution > should capture large output (10000 lines) 2449ms
โ ShellExecutionService > Successful Execution > should not wrap long lines in the final output 62ms
โ ShellExecutionService > Successful Execution > should not add extra padding but preserve explicit trailing whitespace 66ms
โ ShellExecutionService > Successful Execution > should truncate output exceeding the scrollback limit 96ms
โ ShellExecutionService > Successful Execution > should call onPid with the process id 56ms
โ ShellExecutionService > pty interaction > should write to the pty and trigger a render 106ms
โ ShellExecutionService > pty interaction > should resize the pty and the headless terminal 50ms
โ ShellExecutionService > pty interaction > should not resize the pty if it is not active 43ms
โ ShellExecutionService > pty interaction > should ignore errors when resizing an exited pty 71ms
โ ShellExecutionService > pty interaction > should re-throw other errors during resize 68ms
โ ShellExecutionService > pty interaction > should scroll the headless terminal 53ms
โ ShellExecutionService > pty interaction > should not throw when resizing a pty that has already exited (Windows) 26ms
โ ShellExecutionService > Failed Execution > should capture a non-zero exit code 44ms
โ ShellExecutionService > Failed Execution > should capture a termination signal 36ms
โ ShellExecutionService > Failed Execution > should handle a synchronous spawn error 30ms
โ ShellExecutionService > Aborting Commands > should abort a running process and set the aborted flag 43ms
โ ShellExecutionService > Aborting Commands > should send SIGTERM and then SIGKILL on abort 247ms
โ ShellExecutionService > Aborting Commands > should resolve without waiting for the processing chain on abort 71ms
โ ShellExecutionService > Binary Output > should detect binary output and switch to progress events 84ms
โ ShellExecutionService > Binary Output > should not emit data events after binary is detected 90ms
โ ShellExecutionService > Platform-Specific Behavior > should use powershell.exe on Windows 37ms
โ ShellExecutionService > Platform-Specific Behavior > should use bash on Linux 41ms
โ ShellExecutionService > AnsiOutput rendering > should call onOutputEvent with AnsiOutput when showColor is true 57ms
โ ShellExecutionService > AnsiOutput rendering > should call onOutputEvent with AnsiOutput when showColor is false 56ms
โ ShellExecutionService > AnsiOutput rendering > should handle multi-line output correctly when showColor is false 53ms
โ ShellExecutionService child_process fallback > Successful Execution > should execute a command and capture stdout and stderr 45ms
โ ShellExecutionService child_process fallback > Successful Execution > should strip ANSI color codes from output 20ms
โ ShellExecutionService child_process fallback > Successful Execution > should correctly decode multi-byte characters split across chunks 19ms
โ ShellExecutionService child_process fallback > Successful Execution > should handle commands with no output 15ms
โ ShellExecutionService child_process fallback > Successful Execution > should truncate stdout using a sliding window and show a warning
โ ShellExecutionService child_process fallback > Failed Execution > should capture a non-zero exit code and format output correctly 18ms
โ ShellExecutionService child_process fallback > Failed Execution > should capture a termination signal 15ms
โ ShellExecutionService child_process fallback > Failed Execution > should handle a spawn error 16ms
โ ShellExecutionService child_process fallback > Failed Execution > handles errors that do not fire the exit event 15ms
โ ShellExecutionService child_process fallback > Aborting Commands > on 'linux' > should abort a running process and set the aborted flag 22ms
โ ShellExecutionService child_process fallback > Aborting Commands > on 'win32' > should abort a running process and set the aborted flag 17ms
โ ShellExecutionService child_process fallback > Aborting Commands > should gracefully attempt SIGKILL on linux if SIGTERM fails 98ms
โ ShellExecutionService child_process fallback > Binary Output > should detect binary output and switch to progress events 22ms
โ ShellExecutionService child_process fallback > Binary Output > should not emit data events after binary is detected 22ms
โ ShellExecutionService child_process fallback > Platform-Specific Behavior > should use powershell.exe on Windows 19ms
โ ShellExecutionService child_process fallback > Platform-Specific Behavior > should use bash and detached process group on Linux 22ms
โ ShellExecutionService execution method selection > should use node-pty when shouldUseNodePty is true and pty is available 47ms
โ ShellExecutionService execution method selection > should use child_process when shouldUseNodePty is false 23ms
โ ShellExecutionService execution method selection > should fall back to child_process if pty is not available even if shouldUseNodePty is true 19ms
ร ShellExecutionService environment variables > should use a sanitized environment when in a GitHub run 5181ms
โ 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".
ร ShellExecutionService environment variables > should include the full process.env when not in a GitHub run 5463ms
โ 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/telemetry/metrics.test.ts (68 tests | 1 failed) 79991ms
ร Telemetry Metrics > recordFlickerFrame > does not record metrics if not initialized 10291ms
โ 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".
โ Telemetry Metrics > recordFlickerFrame > records a flicker frame event when initialized 4772ms
โ Telemetry Metrics > recordExitFail > does not record metrics if not initialized 3621ms
โ Telemetry Metrics > recordExitFail > records a exit fail event when initialized 6123ms
โ Telemetry Metrics > recordSlowRender > does not record metrics if not initialized 2458ms
โ Telemetry Metrics > recordSlowRender > records a slow render event when initialized 1682ms
โ Telemetry Metrics > initializeMetrics > should apply common attributes including email 1508ms
โ Telemetry Metrics > recordChatCompressionMetrics > does not record metrics if not initialized 1398ms
โ Telemetry Metrics > recordChatCompressionMetrics > records token compression with the correct attributes 1765ms
โ Telemetry Metrics > recordTokenUsageMetrics > should not record metrics if not initialized 1338ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'input' type with 100 tokens for model 'gemini-pro' 1104ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'output' type with 50 tokens for model 'gemini-pro' 935ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'thought' type with 25 tokens for model 'gemini-pro' 888ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'cache' type with 75 tokens for model 'gemini-pro' 886ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'tool' type with 125 tokens for model 'gemini-pro' 884ms
โ Telemetry Metrics > recordTokenUsageMetrics > should record token usage for 'input' type with 200 tokens for model 'gemini-different-model' 836ms
โ Telemetry Metrics > recordLinesChanged metric > should not record lines added/removed if not initialized 868ms
โ Telemetry Metrics > recordLinesChanged metric > should record lines added with function_name after initialization 913ms
โ Telemetry Metrics > recordLinesChanged metric > should record lines removed with function_name after initialization 803ms
โ Telemetry Metrics > recordFileOperationMetric > 'should not record metrics if not initโฆ' 921ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file creation with all โฆ' 1094ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file read with minimal โฆ' 733ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file update with some aโฆ' 735ms
โ Telemetry Metrics > recordFileOperationMetric > 'should record file update with no optโฆ' 728ms
โ Telemetry Metrics > recordModelRoutingMetrics > should not record metrics if not initialized 1142ms
โ Telemetry Metrics > recordModelRoutingMetrics > should record latency for a successful routing decision 722ms
โ Telemetry Metrics > recordModelRoutingMetrics > should record latency and failure for a failed routing decision 709ms
โ Telemetry Metrics > recordAgentRunMetrics > should not record metrics if not initialized 765ms
โ Telemetry Metrics > recordAgentRunMetrics > should record agent run metrics 737ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should not record metrics when not initialized 700ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record input token usage with correct attributes 747ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record output token usage with correct attributes 707ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientTokenUsage > should record token usage with optional attributes 709ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should not record metrics when not initialized 708ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record successful operation duration with correct attributes 760ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record failed operation duration with error type 714ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should record operation duration with server details 706ms
โ Telemetry Metrics > OpenTelemetry GenAI Semantic Convention Metrics > recordGenAiClientOperationDuration > should handle minimal required attributes 764ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should not record metrics when performance monitoring is disabled 724ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should record startup performance with phase and details 689ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should record startup performance without details 739ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordStartupPerformance > should handle floating-point duration values from performance.now() 728ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_used' 703ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_total' 704ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'external' 873ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'rss' 938ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordMemoryUsage > should record memory usage for 'heap_used' 835ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordCpuUsage > should record CPU usage percentage 879ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordCpuUsage > should record CPU usage without component 764ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolQueueDepth > should record tool queue depth 738ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolQueueDepth > should record zero queue depth 860ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolExecutionBreakdown > should record tool execution breakdown for all phases 828ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordToolExecutionBreakdown > should record execution breakdown for different phases 756ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordTokenEfficiency > should record token efficiency metrics 678ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordTokenEfficiency > should record token efficiency without context 759ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordApiRequestBreakdown > should record API request breakdown for all phases 627ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordApiRequestBreakdown > should record API request breakdown for different phases 711ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceScore > should record performance score with category and baseline 610ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceScore > should record performance score without baseline 607ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should record performance regression with baseline comparison 605ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should handle zero baseline value gracefully 602ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordPerformanceRegression > should record different severity levels 676ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should record baseline comparison with percentage change 634ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should handle negative percentage change (improvement) 819ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordBaselineComparison > should skip recording when baseline is zero 934ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should record hook call metrics with counter and histogram 685ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should always sanitize hook names regardless of content 620ms
โ Telemetry Metrics > Performance Monitoring Metrics > recordHookCallMetrics > should track both success and failure 692ms
โฏโฏโฏโฏโฏโฏโฏ Failed Tests 7 โฏโฏโฏโฏโฏโฏโฏ
FAIL src/core/coreToolScheduler.test.ts > CoreToolScheduler Sequential Execution > should cancel subsequent tools when the signal is aborted.
AssertionError: expected "spy" to be called 2 times, but got 3 times
โฏ src/core/coreToolScheduler.test.ts:1829:23
1827|
1828| // Check that execute was called for the first two tools only
1829| expect(executeFn).toHaveBeenCalledTimes(2);
| ^
1830| expect(executeFn).toHaveBeenCalledWith({ call: 1 });
1831| expect(executeFn).toHaveBeenCalledWith({ call: 2 });
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[1/7]โฏ
FAIL src/policy/config.test.ts > createPolicyEngineConfig > should return ASK_USER for write tools and ALLOW for read-only tools by default
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:32:3
30| );
31| });
32| it('should return ASK_USER for write tools and ALLOW for read-only tโฆ
| ^
33| const actualFs =
34| await vi.importActual(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[2/7]โฏ
FAIL src/policy/config.test.ts > createPolicyEngineConfig > should have YOLO allow-all rule beat write tool rules in YOLO 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/policy/config.test.ts:503:3
501| });
502|
503| it('should have YOLO allow-all rule beat write tool rules in YOLO moโฆ
| ^
504| vi.resetModules();
505| vi.doUnmock('node:fs/promises');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[3/7]โฏ
FAIL src/policy/config.test.ts > createPolicyEngineConfig > should support argsPattern in policy rules
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:555:3
553| });
554|
555| it('should support argsPattern in policy rules', async () => {
| ^
556| const actualFs =
557| await vi.importActual(
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[4/7]โฏ
FAIL src/services/shellExecutionService.test.ts > ShellExecutionService environment variables > should use a sanitized environment when in a GitHub run
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/services/shellExecutionService.test.ts:1361:3
1359| });
1360|
1361| it('should use a sanitized environment when in a GitHub run', async โฆ
| ^
1362| // Mock the environment to simulate a GitHub Actions run
1363| vi.stubEnv('GITHUB_SHA', 'test-sha');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[5/7]โฏ
FAIL src/services/shellExecutionService.test.ts > ShellExecutionService environment variables > should include the full process.env when not in a GitHub run
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/services/shellExecutionService.test.ts:1414:3
1412| });
1413|
1414| it('should include the full process.env when not in a GitHub run', aโฆ
| ^
1415| vi.stubEnv('MY_TEST_VAR', 'test-value');
1416| vi.stubEnv('GITHUB_SHA', '');
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[6/7]โฏ
FAIL src/telemetry/metrics.test.ts > Telemetry Metrics > recordFlickerFrame > does not record metrics if not initialized
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/telemetry/metrics.test.ts:100:3
98| let recordSlowRenderModule: typeof import('./metrics.js').recordSlowโฆ
99|
100| beforeEach(async () => {
| ^
101| vi.resetModules();
102| vi.doMock('@opentelemetry/api', () => {
โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ[7/7]โฏ
Test Files 4 failed | 184 passed (188)
Tests 7 failed | 3598 passed | 24 skipped (3629)
Start at 21:28:59
Duration 277.94s (transform 1358.86s, setup 426.98s, collect 7088.13s, tests 412.57s, environment 978ms, prepare 773.31s)
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.21.3
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.21.3 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) 722ms
โ src/ide-server.test.ts (13 tests | 1 skipped) 3133ms
โ IDEServer > should set environment variables and workspace path on start with multiple folders 315ms
โ IDEServer > auth token > should reject request without auth token 1426ms
โ IDEServer > auth token > should reject request with malformed auth token 359ms
โ src/extension.test.ts (11 tests) 816ms
โ activate > should show the info message on first activation 431ms
Test Files 3 passed (3)
Tests 40 passed | 1 skipped (41)
Start at 21:33:56
Duration 77.04s (transform 20.19s, setup 0ms, collect 57.77s, tests 4.67s, environment 9ms, prepare 25.09s)
[1m[31m==> ERROR:[m[1m A failure occurred in check().[m
[1m Aborting...[m
[0m[J[23;2t]3008;end=aba36cda831d41bfa776d8ce418a16c5\[1m[31m==> ERROR:[m[1m Build failed, check /var/lib/archbuild/extra-riscv64/felix-14/build[m
[34h[?25h[34h[?25h[34h[?25hreceiving incremental file list
gemini-cli-1:0.21.3-1-riscv64-build.log
gemini-cli-1:0.21.3-1-riscv64-check.log
gemini-cli-1:0.21.3-1-riscv64-prepare.log
sent 81 bytes received 113,160 bytes 32,354.57 bytes/sec
total size is 1,231,511 speedup is 10.88