From 3062e6c93c25df88638938c36da28f31a258d5f8 Mon Sep 17 00:00:00 2001 From: KoalaDev <6156589+Shik3i@users.noreply.github.com> Date: Sat, 1 Aug 2026 10:15:56 +0200 Subject: [PATCH] test: cover HTML parser regressions --- package-lock.json | 4 ++-- scripts/test-website-theme.mjs | 26 +++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f1252b9..6e10223 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "koalasync", - "version": "2.6.4", + "version": "3.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "koalasync", - "version": "2.6.4", + "version": "3.0.2", "devDependencies": { "@playwright/test": "^1.62.0", "@vitest/coverage-v8": "^4.1.10", diff --git a/scripts/test-website-theme.mjs b/scripts/test-website-theme.mjs index 9e8be5e..4650357 100644 --- a/scripts/test-website-theme.mjs +++ b/scripts/test-website-theme.mjs @@ -142,13 +142,37 @@ const helpStructuredData = JSON.parse(helpStructuredDataScripts.html()); const helpFaqPage = helpStructuredData['@graph'].find(item => ( Array.isArray(item['@type']) && item['@type'].includes('FAQPage') )); -const helpVisibleText = helpDocument('body') +const visibleTextFromDocument = document => document('body') .clone() .find('script, style, noscript') .remove() .end() .text() .replace(/\s+/g, ' '); +const parserRegressionCases = [ + [ + 'case-insensitive non-visible element filtering', + '
visible
', + 'visible' + ], + [ + 'single-pass HTML entity decoding', + 'A & B
', + 'A & B' + ], + [ + 'visible text does not include attributes', + '