{ "schemaVersion": 1, "task": "PKG-CHAPTER-05", "baseCommit": "d18c5456", "status": "incomplete", "scope": "Real desktop engines, element/web fullscreen, mobile branch with emulated touch; not physical iPhone/Safari/Android or final installed package acceptance. Earlier WebKit quality timing remains unexplained.", "inputs": [ { "file": "packages/artplayer-plugin-chapter/src/style.less", "sha256": "17572a96b62ba5588549edd948b879d119b97c670b40dac428839dd1160db7a8", "bytes": 1766 }, { "file": "packages/artplayer-plugin-chapter/src/progress.ts", "sha256": "4a18d19ed703772d73622ea3fa9d433dbc2c6092ba244c9bb1ec727368996951", "bytes": 2777 }, { "file": "test/browser/chapter-combinations.spec.js", "sha256": "308596abf9156942f462ac050fa49c36d65ab443917b9a4bb4c352d90e470f41", "bytes": 12425 }, { "file": "test/browser/chapter.spec.js", "sha256": "d1332c5264bea179d4fd4ec3274eb0db28340bffbda3ffd37d80fc6fb636dca2", "bytes": 14420 } ], "artifacts": [ { "file": "packages/artplayer-plugin-chapter/dist/artplayer-plugin-chapter.js", "sha256": "179c3ea90ddc85da27b46f000110e32d464dfa5c8c394e98316dc1b75d6f2a72", "bytes": 5197 }, { "file": "packages/artplayer-plugin-chapter/dist/artplayer-plugin-chapter.legacy.js", "sha256": "dade919ed044cbf46ac16e505f538f86a86edccf177da2e14d79d111559d4bef", "bytes": 5229 }, { "file": "packages/artplayer-plugin-chapter/dist/artplayer-plugin-chapter.mjs", "sha256": "754fbcfc60add74d6b6ad3bc8db253df3eb14ace13ac8a5439be0592bd5512d0", "bytes": 8032 } ], "reports": [ { "file": "refactor/.cache/chapter05-first.json", "sha256": "4f5c8f1bc944cb6e72d58589e1bde2fd50374264587aaf35659f945816e06fbe", "resultDir": "refactor/.cache/chapter05-first-results", "stats": { "startTime": "2026-09-11T20:02:47.633Z", "duration": 72031.62800000001, "expected": 36, "skipped": 0, "unexpected": 12, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040 }, "/compiled/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"Middle\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 18 × locator resolved to
Middle
\n - unexpected value \"Middle\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
\n - unexpected value \"\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"Middle\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
Middle
\n - unexpected value \"Middle\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
\n - unexpected value \"\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"Middle\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 18 × locator resolved to
Middle
\n - unexpected value \"Middle\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
\n - unexpected value \"\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"Middle\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 18 × locator resolved to
Middle
\n - unexpected value \"Middle\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
\n - unexpected value \"\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toBeCloseTo(expected, precision)\n\nExpected: 3.0090506\nReceived: 0.0014054\n\nExpected precision: 1\nExpected difference: < 0.05\nReceived difference: 3.0076452000000002\n\n 88 | await expect.poll(() => page.evaluate(() => window.chapterEvents.filter(event => event.name === 'restart').map(event => event.value))).toEqual(['/test/pattern.mp4?quality=A'])\n 89 | await expect.poll(() => page.evaluate(() => !window.art.video.seeking && window.art.video.readyState >= 2)).toBe(true)\n> 90 | expect(await page.evaluate(() => window.art.currentTime)).toBeCloseTo(time, 1)\n | ^\n 91 | expect(await page.evaluate(() => window.art.video.paused)).toBe(true)\n 92 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 93 | await hoverChapter(page, 0.85, 'Ending')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:90:65" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 0.0014054, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toBeCloseTo(expected, precision)\n\nExpected: 3.0085156\nReceived: 0.0012485\n\nExpected precision: 1\nExpected difference: < 0.05\nReceived difference: 3.0072671\n\n 88 | await expect.poll(() => page.evaluate(() => window.chapterEvents.filter(event => event.name === 'restart').map(event => event.value))).toEqual(['/test/pattern.mp4?quality=A'])\n 89 | await expect.poll(() => page.evaluate(() => !window.art.video.seeking && window.art.video.readyState >= 2)).toBe(true)\n> 90 | expect(await page.evaluate(() => window.art.currentTime)).toBeCloseTo(time, 1)\n | ^\n 91 | expect(await page.evaluate(() => window.art.video.paused)).toBe(true)\n 92 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 93 | await hoverChapter(page, 0.85, 'Ending')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:90:65" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 0.0012485, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"Middle\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
Middle
\n - unexpected value \"Middle\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0102866, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toHaveText(expected) failed\n\nLocator: locator('.art-chapter-title')\nExpected: \"Ending\"\nReceived: \"\"\nTimeout: 7000ms\n\nCall log:\n - Expect \"toHaveText\" locator('.art-chapter-title') with timeout 7000ms\n - waiting for locator('.art-chapter-title')\n 17 × locator resolved to
\n - unexpected value \"\"\n\n\n 35 | const x = Math.round(box.x + box.width * percentage)\n 36 | await page.mouse.move(x, box.y + box.height / 2)\n> 37 | await expect(page.locator('.art-chapter-title')).toHaveText(text)\n | ^\n 38 | await expect(page.locator('.art-chapter-title')).toHaveCSS('opacity', '1')\n 39 | await expect(page.locator('.art-control-thumbnails')).toBeVisible()\n 40 | await expect.poll(() => page.evaluate(() => window.art.controls.thumbnails.style.backgroundImage)).not.toBe('')\n at hoverChapter (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:37:52)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:93:7" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0076268, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] } ] }, { "file": "refactor/.cache/chapter05-quality-corrected.json", "sha256": "3ec6666beca780467f70c5b9ed395fe4a8452f87d09fce9feeaae04a9cb28603", "resultDir": "refactor/.cache/chapter05-quality-corrected-results", "stats": { "startTime": "2026-09-11T20:05:16.339Z", "duration": 56382.548, "expected": 0, "skipped": 0, "unexpected": 12, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040 }, "/compiled/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0076677, "restoredTime": 0.0004156, "historicalReset": true }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 0.0004156, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 103 | await page.locator('video').hover({ position: { x: 10, y: 10 } })\n> 104 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 105 | await hoverChapter(page, 0.85, 'Ending')\n 106 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 107 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0070677, "restoredTime": 0.0017557, "historicalReset": true }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 0.0017557, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n> 104 | await openChapter(page, core, chapter)\n | ^\n 105 | await page.locator('#play').click()\n 106 | await expect.poll(() => page.evaluate(() => window.art.currentTime)).toBeGreaterThan(0.2)\n 107 | await page.locator('#pause').click()\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:104:77" ], "quality-position": { "before": 3.0071428, "restoredTime": 3.007844, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.007844, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 1\n\n- Array [\n- \"/test/pattern.mp4?quality=A\",\n- ]\n+ Array []\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 90 | return { left: title.left, right: title.right, width: title.width, progressLeft: progress.left, progressRight: progress.right, text: element.textContent, dataset: element.parentElement.querySelector('.art-chapter').dataset.title }\n 91 | })\n> 92 | await testInfo.attach('long-chapter-layout', { contentType: 'application/json', body: JSON.stringify(layout) })\n | ^\n 93 | await testInfo.attach('long-chapter-title', { contentType: 'image/png', body: await page.screenshot() })\n 94 | expect(layout.text).toBe(fullTitle.trim())\n 95 | expect(layout.dataset).toBe(fullTitle.trim())\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:92:142" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0159574, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } } ] }, { "file": "refactor/.cache/chapter05-long-before.json", "sha256": "af957daeada40829c6fffbc1afccf64b546bdbd2996977d5cb8b9be03ff71822", "resultDir": "refactor/.cache/chapter05-long-before-results", "stats": { "startTime": "2026-09-11T20:06:47.188Z", "duration": 11232.953, "expected": 6, "skipped": 0, "unexpected": 6, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040 }, "/compiled/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", "bytes": 8433, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 42.04638671875, "right": 1853.42236328125, "width": 1811.3759765625, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 373\nReceived: 1877.46875\n\n 98 | expect(layout.right).toBeGreaterThan(layout.progressRight)\n 99 | else\n> 100 | expect(layout.right).toBeLessThanOrEqual(layout.progressRight + 1)\n | ^\n 101 | })\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:100:30" ], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." }, "failureState": { "events": [], "time": 0, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "8", "duration": "8", "title": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } ] } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 42.0548095703125, "right": 1853.4139404296875, "width": 1811.359130859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 373\nReceived: 1876.4349975585938\n\n 98 | expect(layout.right).toBeGreaterThan(layout.progressRight)\n 99 | else\n> 100 | expect(layout.right).toBeLessThanOrEqual(layout.progressRight + 1)\n | ^\n 101 | })\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:100:30" ], "long-chapter-layout": { "left": 19.03363037109375, "right": 1876.4349975585938, "width": 1857.4013671875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." }, "failureState": { "events": [], "time": 0, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "8", "duration": "8", "title": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } ] } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 373\nReceived: 1877.8499755859375\n\n 98 | expect(layout.right).toBeGreaterThan(layout.progressRight)\n 99 | else\n> 100 | expect(layout.right).toBeLessThanOrEqual(layout.progressRight + 1)\n | ^\n 101 | })\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:100:30" ], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." }, "failureState": { "events": [], "time": 0, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "8", "duration": "8", "title": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } ] } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 373\nReceived: 1877.8499755859375\n\n 98 | expect(layout.right).toBeGreaterThan(layout.progressRight)\n 99 | else\n> 100 | expect(layout.right).toBeLessThanOrEqual(layout.progressRight + 1)\n | ^\n 101 | })\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:100:30" ], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." }, "failureState": { "events": [], "time": 0, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "8", "duration": "8", "title": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } ] } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 373\nReceived: 1877.46875\n\n 98 | expect(layout.right).toBeGreaterThan(layout.progressRight)\n 99 | else\n> 100 | expect(layout.right).toBeLessThanOrEqual(layout.progressRight + 1)\n | ^\n 101 | })\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:100:30" ], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." }, "failureState": { "events": [], "time": 0, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "8", "duration": "8", "title": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } ] } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 373\nReceived: 1877.46875\n\n 98 | expect(layout.right).toBeGreaterThan(layout.progressRight)\n 99 | else\n> 100 | expect(layout.right).toBeLessThanOrEqual(layout.progressRight + 1)\n | ^\n 101 | })\n 102 |\n 103 | test(`${core} core + ${chapter} chapter: quality switch preserves chapter/thumbnail interactions`, async ({ page, browserName }, testInfo) => {\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:100:30" ], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." }, "failureState": { "events": [], "time": 0, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "8", "duration": "8", "title": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } ] } } ] }, { "file": "refactor/.cache/chapter05-quality-long-fixed.json", "sha256": "889b28881ca8abb62e76c758b2c323f76054136740e098c9ead1de085c088b83", "resultDir": "refactor/.cache/chapter05-quality-long-fixed-results", "stats": { "startTime": "2026-09-11T20:07:31.156Z", "duration": 48410.413, "expected": 17, "skipped": 0, "unexpected": 7, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040 }, "/compiled/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "1a8eb891d3690e2526e78a2e53183a25367b1d02a5fd349d821548edb731ee3a", "bytes": 8529 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "1a8eb891d3690e2526e78a2e53183a25367b1d02a5fd349d821548edb731ee3a", "bytes": 8529, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "1a8eb891d3690e2526e78a2e53183a25367b1d02a5fd349d821548edb731ee3a", "bytes": 8529, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 127 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 128 | await page.locator('#pause').click()\n> 129 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 130 | await hoverChapter(page, 0.85, 'Ending')\n 131 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 132 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:129:77" ], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "failed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 127 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 128 | await page.locator('#pause').click()\n> 129 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 130 | await hoverChapter(page, 0.85, 'Ending')\n 131 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 132 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:129:77" ], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.006451 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.006451, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 55.527587890625, "right": 1839.941162109375, "width": 1784.41357421875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 127 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 128 | await page.locator('#pause').click()\n> 129 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 130 | await hoverChapter(page, 0.85, 'Ending')\n 131 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 132 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:129:77" ], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "failed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 18 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 127 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 128 | await page.locator('#pause').click()\n> 129 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 130 | await hoverChapter(page, 0.85, 'Ending')\n 131 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 132 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:129:77" ], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0064516129032257, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 20.183334350585938, "right": 369.81666564941406, "width": 349.6333312988281, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 127 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 128 | await page.locator('#pause').click()\n> 129 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 130 | await hoverChapter(page, 0.85, 'Ending')\n 131 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 132 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:129:77" ], "quality-position": { "before": 3.0079177, "restoredTime": 0.0023028, "historicalReset": true }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 0.0023028, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(locator).toBeHidden() failed\n\nLocator: locator('.art-control-quality .art-selector-list')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n - Expect \"toBeHidden\" locator('.art-control-quality .art-selector-list') with timeout 7000ms\n - waiting for locator('.art-control-quality .art-selector-list')\n 17 × locator resolved to
…
\n - unexpected value \"visible\"\n\n\n 127 | await expect(page.locator('.art-control-quality .art-selector-value')).toHaveText('Quality A')\n 128 | await page.locator('#pause').click()\n> 129 | await expect(page.locator('.art-control-quality .art-selector-list')).toBeHidden()\n | ^\n 130 | await hoverChapter(page, 0.85, 'Ending')\n 131 | await page.evaluate(() => window.art.plugins.artplayerPluginChapter.update({ chapters: [{ start: 0, end: Infinity, title: 'Updated after quality' }] }))\n 132 | await hoverChapter(page, 0.5, 'Updated after quality')\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:129:77" ], "quality-position": { "before": 3.0084229, "restoredTime": 0.0010478, "historicalReset": true }, "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 0.0010478, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 1\n\n- Array [\n- \"/test/pattern.mp4?quality=A\",\n- ]\n+ Array []\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 115 | await page.locator('.art-control-quality').hover()\n 116 | await page.locator('.art-control-quality .art-selector-item').filter({ hasText: 'Quality A' }).click()\n> 117 | await expect.poll(() => page.evaluate(() => window.chapterEvents.filter(event => event.name === 'restart').map(event => event.value))).toEqual(['/test/pattern.mp4?quality=A'])\n | ^\n 118 | await expect.poll(() => page.evaluate(() => !window.art.video.seeking && window.art.video.readyState >= 2)).toBe(true)\n 119 | const restoredTime = await page.evaluate(() => window.art.currentTime)\n 120 | const historicalReset = core === 'published' && browserName === 'webkit'\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:117:142" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "time": 3.0115191, "paused": true, "mediaError": null, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0093409, "restoredTime": 3.0135819, "historicalReset": false } } ] }, { "file": "refactor/.cache/chapter05-quality-ready.json", "sha256": "7e838f1809d5a6a37b78686521d5fe0066a6c6c82e1908f15b5b16b0b24ccf96", "resultDir": "refactor/.cache/chapter05-quality-ready-results", "stats": { "startTime": "2026-09-11T20:09:14.622Z", "duration": 34038.771, "expected": 11, "skipped": 0, "unexpected": 1, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040 }, "/compiled/artplayer.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer\\src\\index.ts" }, "sha256": "df495dd386d32ea96be5006e1bbfda1ea91cfeb32aa21758197b46a155ebe0dc", "bytes": 378040, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "1a8eb891d3690e2526e78a2e53183a25367b1d02a5fd349d821548edb731ee3a", "bytes": 8529 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "1a8eb891d3690e2526e78a2e53183a25367b1d02a5fd349d821548edb731ee3a", "bytes": 8529, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "workspace-build", "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" }, "sha256": "1a8eb891d3690e2526e78a2e53183a25367b1d02a5fd349d821548edb731ee3a", "bytes": 8529, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0071684, "restoredTime": 0.001508, "historicalReset": true } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0075852, "restoredTime": 0.0017081, "historicalReset": true } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0091097, "restoredTime": 3.0121734, "historicalReset": false } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "failed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [ "Error: expect(received).toEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 1\n\n- Array [\n- \"/test/pattern.mp4?quality=A\",\n- ]\n+ Array []\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 124 | await page.locator('.art-control-quality .art-selector-item').filter({ hasText: 'Quality A' }).click()\n 125 | await expect.poll(() => page.evaluate(() => window.art.url.includes('quality=A'))).toBe(true)\n> 126 | await expect.poll(() => page.evaluate(() => window.chapterEvents.filter(event => event.name === 'restart').map(event => event.value))).toEqual(['/test/pattern.mp4?quality=A'])\n | ^\n 127 | await expect.poll(() => page.evaluate(() => !window.art.video.seeking && window.art.video.readyState >= 2)).toBe(true)\n 128 | const restoredTime = await page.evaluate(() => window.art.currentTime)\n 129 | const historicalReset = core === 'published' && browserName === 'webkit'\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:126:142" ], "failureState": { "events": [ { "name": "seek", "value": 3.0064516129032257 }, { "name": "restart", "value": "/test/pattern.mp4?quality=A" } ], "nativeEvents": [ { "name": "loadedmetadata", "time": 0, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": true, "readyState": 4 }, { "name": "loadeddata", "time": 0, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": true, "readyState": 4 }, { "name": "canplay", "time": 0, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": true, "readyState": 4 }, { "name": "playing", "time": 0.0050301, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": false, "readyState": 4 }, { "name": "pause", "time": 0.6299045, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": true, "readyState": 4 }, { "name": "seeking", "time": 3.0064516129032257, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": true, "readyState": 4 }, { "name": "seeked", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", "paused": true, "readyState": 4 }, { "name": "loadedmetadata", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 3 }, { "name": "loadeddata", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 3 }, { "name": "canplay", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 3 }, { "name": "seeking", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 4 }, { "name": "seeked", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 4 }, { "name": "canplay", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 4 }, { "name": "seeking", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 2 }, { "name": "canplay", "time": 3.0086859, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 4 }, { "name": "seeked", "time": 3.0140197, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "paused": true, "readyState": 4 } ], "time": 3.0140197, "paused": true, "mediaError": null, "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", "readyState": 4, "mobileBranch": false, "maxTouchPoints": 0, "chapters": [ { "start": "0", "end": "2", "duration": "2", "title": "Opening" }, { "start": "2", "end": "6", "duration": "4", "title": "Middle" }, { "start": "6", "end": "8", "duration": "2", "title": "Ending" } ] } } ] }, { "file": "refactor/.cache/chapter05-main-artifacts-report.json", "sha256": "91181db968552e06b19b12e8f3b66c5011c7ea282dd880dfe804293e4049f890", "resultDir": "refactor/.cache/chapter05-main-artifacts-results", "stats": { "startTime": "2026-09-11T20:11:31.886Z", "duration": 70587.243, "expected": 102, "skipped": 0, "unexpected": 0, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" }, "sha256": "dc1460b77abdd401158e098b25a1abf280c53bb92d401fc387a4864dc7b18357", "bytes": 208555 }, "/compiled/artplayer.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" }, "sha256": "dc1460b77abdd401158e098b25a1abf280c53bb92d401fc387a4864dc7b18357", "bytes": 208555, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" }, "sha256": "dc1460b77abdd401158e098b25a1abf280c53bb92d401fc387a4864dc7b18357", "bytes": 208555, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.js" }, "sha256": "179c3ea90ddc85da27b46f000110e32d464dfa5c8c394e98316dc1b75d6f2a72", "bytes": 5197 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.js" }, "sha256": "179c3ea90ddc85da27b46f000110e32d464dfa5c8c394e98316dc1b75d6f2a72", "bytes": 5197, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.js" }, "sha256": "179c3ea90ddc85da27b46f000110e32d464dfa5c8c394e98316dc1b75d6f2a72", "bytes": 5197, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0086513, "restoredTime": 0.0010377, "historicalReset": true } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0070767, "restoredTime": 0.0017232, "historicalReset": true } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0076287, "restoredTime": 3.0083888, "historicalReset": false } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0076277, "restoredTime": 3.0096744, "historicalReset": false } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "published-only observations: blank title, NaN and once-only metadata are historical defects", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate clears titles on blank chapters, zero hover and replacement", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate rejects NaN and can recover after an invalid update", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate releases only its listeners and DOM across multiple instances and early destruction", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate ignores pending metadata initialization after immediate destroy", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate deduplicates stylesheet injection while the document is loading", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "published-only observations: blank title, NaN and once-only metadata are historical defects", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate clears titles on blank chapters, zero hover and replacement", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate rejects NaN and can recover after an invalid update", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate releases only its listeners and DOM across multiple instances and early destruction", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate ignores pending metadata initialization after immediate destroy", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate deduplicates stylesheet injection while the document is loading", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "published-only observations: blank title, NaN and once-only metadata are historical defects", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate clears titles on blank chapters, zero hover and replacement", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate rejects NaN and can recover after an invalid update", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate releases only its listeners and DOM across multiple instances and early destruction", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate ignores pending metadata initialization after immediate destroy", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate deduplicates stylesheet injection while the document is loading", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] } ] }, { "file": "refactor/.cache/chapter05-legacy-artifacts-report.json", "sha256": "4f7d172034fe174f6edd9d8f33447523c6e3d07e7a2c7b0a8f848990aa5ca818", "resultDir": "refactor/.cache/chapter05-legacy-artifacts-results", "stats": { "startTime": "2026-09-11T20:12:43.686Z", "duration": 84047.924, "expected": 102, "skipped": 0, "unexpected": 0, "flaky": 0 }, "manifest": { "kind": "artplayer-browser-test", "resources": { "/candidate/artplayer.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.legacy.js" }, "sha256": "49781a25f3d680c7964eec066b792966da71f03ccc3e7936cd5e0e9563e83008", "bytes": 212814 }, "/compiled/artplayer.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.legacy.js" }, "sha256": "49781a25f3d680c7964eec066b792966da71f03ccc3e7936cd5e0e9563e83008", "bytes": 212814, "aliasOf": "/candidate/artplayer.js" }, "/uncompiled/artplayer/index.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.legacy.js" }, "sha256": "49781a25f3d680c7964eec066b792966da71f03ccc3e7936cd5e0e9563e83008", "bytes": 212814, "aliasOf": "/candidate/artplayer.js" }, "/candidate/artplayer-plugin-chapter.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.legacy.js" }, "sha256": "dade919ed044cbf46ac16e505f538f86a86edccf177da2e14d79d111559d4bef", "bytes": 5229 }, "/compiled/artplayer-plugin-chapter.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.legacy.js" }, "sha256": "dade919ed044cbf46ac16e505f538f86a86edccf177da2e14d79d111559d4bef", "bytes": 5229, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/uncompiled/artplayer-plugin-chapter/index.js": { "source": { "kind": "artifact", "file": "D:\\github\\ArtPlayer\\packages\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.legacy.js" }, "sha256": "dade919ed044cbf46ac16e505f538f86a86edccf177da2e14d79d111559d4bef", "bytes": 5229, "aliasOf": "/candidate/artplayer-plugin-chapter.js" }, "/published/artplayer.js": { "source": { "kind": "npm-release", "version": "5.4.0", "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", "member": "package/dist/artplayer.js" }, "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", "bytes": 134037 }, "/published/artplayer-plugin-chapter.js": { "source": { "kind": "npm-release", "version": "1.1.0", "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", "member": "package/dist/artplayer-plugin-chapter.js" }, "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", "bytes": 4973 }, "/test/pattern.mp4": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.mp4" }, "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", "bytes": 251538 }, "/test/pattern.webm": { "source": { "kind": "generated-media", "file": "test/browser/media/pattern.webm" }, "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", "bytes": 162073 }, "/test/audio-tone.m4a": { "source": { "kind": "generated-media", "file": "test/browser/media/audio-tone.m4a" }, "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", "bytes": 132436 }, "/test/declaration-cues.vtt": { "source": { "kind": "test-subtitles", "file": "test/browser/media/declaration-cues.vtt" }, "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", "bytes": 54 }, "/test/thumbnail-grid.svg": { "source": { "kind": "test-thumbnail-grid", "file": "test/browser/media/thumbnail-grid.svg" }, "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", "bytes": 14969 }, "/test/legacy-safe-area.js": { "source": { "kind": "frozen-own-source", "file": "test/helpers/legacy-safe-area.js", "commit": "ccf77c4e" }, "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", "bytes": 795 }, "/assets/sample/video.mp4": { "source": { "kind": "docs-media", "file": "docs/assets/sample/video.mp4" }, "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", "bytes": 5818706 }, "/test/performance.js": { "source": { "kind": "adapted-baseline-fixture", "file": "refactor/fixtures/performance.js" }, "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", "bytes": 8994 } } }, "cases": [ { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 41.99896240234375, "right": 1853.4696655273438, "width": 1811.470703125, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "quality-position": { "before": 3.006451, "restoredTime": 3.006451, "historicalReset": false } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.8499755859375, "width": 1859.8499755859375, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "quality-position": { "before": 3.0064516129032257, "restoredTime": 3.0064516129032257, "historicalReset": false } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.5, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 654.5, "right": 711.5, "top": 645, "bottom": 665 }, "thumbnail": { "left": 633, "right": 733, "top": 579, "bottom": 639 }, "progress": { "left": 10, "right": 1356, "top": 695, "bottom": 703 } } }, { "title": "published core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0070732, "restoredTime": 0.0022925, "historicalReset": true } }, { "title": "published core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "published core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0174943, "restoredTime": 0.0019927, "historicalReset": true } }, { "title": "published core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "published core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 1877.46875, "width": 1859.46875, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0088498, "restoredTime": 3.0114388, "historicalReset": false } }, { "title": "candidate core + published chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + published chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: long titles retain text within a narrow player", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "long-chapter-layout": { "left": 18, "right": 372, "width": 354, "progressLeft": 18, "progressRight": 372, "text": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers.", "dataset": "A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers. A long chapter title with complete metadata retained for consumers." } }, { "title": "candidate core + candidate chapter: quality switch preserves chapter/thumbnail interactions", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "quality-position": { "before": 3.0075061, "restoredTime": 3.0087456, "historicalReset": false } }, { "title": "candidate core + candidate chapter: fullscreenWeb keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "candidate core + candidate chapter: fullscreen keeps hover geometry and exits cleanly", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [], "chapter-fullscreen-layout": { "title": { "left": 611.5, "right": 668.484375, "top": 597, "bottom": 617 }, "thumbnail": { "left": 590, "right": 690, "top": 531, "bottom": 591 }, "progress": { "left": 10, "right": 1270, "top": 647, "bottom": 655 } } }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "trusted taps seek through chapters before and after web fullscreen", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "published-only observations: blank title, NaN and once-only metadata are historical defects", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate clears titles on blank chapters, zero hover and replacement", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate rejects NaN and can recover after an invalid update", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate releases only its listeners and DOM across multiple instances and early destruction", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate ignores pending metadata initialization after immediate destroy", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "candidate deduplicates stylesheet injection while the document is loading", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "published-only observations: blank title, NaN and once-only metadata are historical defects", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate clears titles on blank chapters, zero hover and replacement", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate rejects NaN and can recover after an invalid update", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate releases only its listeners and DOM across multiple instances and early destruction", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate ignores pending metadata initialization after immediate destroy", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "candidate deduplicates stylesheet injection while the document is loading", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "published-only observations: blank title, NaN and once-only metadata are historical defects", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate clears titles on blank chapters, zero hover and replacement", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate rejects NaN and can recover after an invalid update", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate releases only its listeners and DOM across multiple instances and early destruction", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate ignores pending metadata initialization after immediate destroy", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "candidate deduplicates stylesheet injection while the document is loading", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "chromium", "status": "passed", "retry": 0, "browser": "153.0.8010.12", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "firefox", "status": "passed", "retry": 0, "browser": "155.0", "platform": "win32", "errors": [] }, { "title": "factory, registration, input normalization and safe title text", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "progress bars, real hover, title edges and boundary seek", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "sync update, Infinity, object identity, empty lists and invalid data", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] }, { "title": "explicit source update and core-owned destruction", "engine": "webkit", "status": "passed", "retry": 0, "browser": "26.6", "platform": "win32", "errors": [] } ] } ], "logs": [ { "file": "refactor/.cache/chapter05-build.log", "sha256": "b88f24d6f608e9ad9ff3c85fac8f47bc1073ecb4e1bf313b467f594e56b63e3a", "bytes": 1453 }, { "file": "refactor/.cache/chapter05-ci.log", "sha256": "667c058fdb944f7e9e5db74e4bfc84eed465fdf76b4c2d60741f5fd32506752b", "bytes": 63241 } ], "cacheNote": "Reports include inline screenshot bodies. Traces and failure screenshots are preserved in resultDir; raw report path attachments may still reference the shared output directory. Cache is local; rerun if missing.", "remaining": [ "CHAPTER-TIMING-01 native/driver/core timing attribution", "Physical device evidence for supported mobile/fullscreen behavior", "PKG-CHAPTER-06 installed distribution and 8082 example" ] }