feat(theme): complete Zibll navigation hard replacement

This commit is contained in:
2026-08-18 21:07:34 +08:00
parent 893af71a0b
commit 09b1e8fd35
6 changed files with 301 additions and 11 deletions
@@ -259,6 +259,31 @@ test('VIP purchase and points exchange use direct fixed-id notyf flows', () => {
assert.match(scripts, /'aksrt-pay-vip',[\s\S]*?\/assets\/js\/pay-vip\.js',[\s\S]*?\[[^\]]*'aksrt-notyf'[^\]]*\]/);
});
test('payment entry points never load the removed Zibll pay runtime', () => {
const loader = read('assets/vendor/zibll/js/loader.js');
const zibllMain = [
read('assets/vendor/zibll/js/main.js'),
read('assets/vendor/zibll/js/main.min.js'),
].join('\n');
const vip = read('assets/js/pay-vip.js');
const content = read('assets/js/cms-download.js');
const scripts = [
read('src/Core/ScriptsPart1b.php'),
read('src/Core/ScriptsPart1c.php'),
].join('\n');
assert.doesNotMatch(loader, /['"]pay['"]\s*:/);
assert.doesNotMatch(zibllMain, /tbquire\(\[['"]pay['"]\]\)/);
assert.doesNotMatch(zibllMain, /indexOf\(['"]zippay['"]\)/);
assert.match(vip, /\.pay-vip/);
assert.match(content, /data-aksrt-pay-content/);
assert.match(scripts, /'aksrt-pay-vip'/);
assert.match(scripts, /'aksrt-cms-download'/);
assert.match(scripts, /\$zibll_loader_version = file_exists\(\$zibll_loader_path\)/);
assert.match(scripts, /\$zibll_runtime_version = file_exists\(\$zibll_main_path\)/);
assert.match(scripts, /'ver'\s*=> \$zibll_runtime_version/);
});
test('profile save uses AJAX rehydrate and a fixed-id notyf flow without query feedback', () => {
const profile = read('assets/js/routes/user-center.js');
const page = read('templates/pages/page-profile.php');