|
|
@@ -188,10 +188,16 @@ describe('web e2e: lifecycle & chrome (workspace flow / reload / dark mode)', ()
|
|
|
await input.press('Enter')
|
|
|
if (MODE !== 'record') {
|
|
|
const liveTail = page.locator('[data-variant="think"][data-state="running"] [data-follow-end]')
|
|
|
- await expect.poll(async () => await liveTail.evaluate(element => (
|
|
|
- element.scrollWidth > element.clientWidth
|
|
|
- && element.scrollLeft >= element.scrollWidth - element.clientWidth - 1
|
|
|
- )), { timeout: 10_000, interval: 10 }).toBe(true)
|
|
|
+ await expect.poll(async () => {
|
|
|
+ if (await liveTail.count() !== 1) return false
|
|
|
+ return await liveTail.evaluate((element) => {
|
|
|
+ const text = element.firstElementChild
|
|
|
+ if (!(text instanceof HTMLElement)) return false
|
|
|
+ const viewport = element.getBoundingClientRect()
|
|
|
+ const content = text.getBoundingClientRect()
|
|
|
+ return content.width > viewport.width && Math.abs(content.right - viewport.right) <= 1
|
|
|
+ })
|
|
|
+ }, { timeout: 10_000, interval: 10 }).toBe(true)
|
|
|
}
|
|
|
return await settled
|
|
|
} finally {
|