Align homepage and category discovery, modern widgets, admin controls, quotes, and comments with the reference theme. Remove superseded paths and add rendering and behavior coverage. Update stale asset and finance contracts; all 760 Node tests and 139 widget assertions pass.
32 lines
1.7 KiB
JavaScript
32 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
const assert = require('node:assert/strict');
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
const test = require('node:test');
|
|
|
|
const root = path.resolve(__dirname, '..', '..');
|
|
const read = (file) => fs.readFileSync(path.join(root, file), 'utf8');
|
|
|
|
test('comment order matches the reference newest and hottest behavior', () => {
|
|
const php = read('inc/helpers/aksrt-comments.php');
|
|
|
|
assert.match(php, /\$args\['order'\] = 'DESC';\s*\$args\['orderby'\] = 'comment_date_gmt';/);
|
|
assert.match(php, /\$args\['aksrt_hottest_order'\] = true;/);
|
|
assert.match(php, /CAST\(COALESCE\(aksrt_cm_hot\.meta_value, 0\) AS UNSIGNED\) DESC/);
|
|
assert.match(php, /\$query->query_vars\['aksrt_hottest_order'\]/);
|
|
assert.equal(php.includes("$args['order'] = 'ASC'"), false, 'the reference always orders newest comments first');
|
|
assert.equal(php.includes("$order === 'oldest'"), false, 'the unsupported oldest tab must not remain in the UI query path');
|
|
assert.equal(php.includes('aksrt_comments_apply_hottest_order'), false, 'unscoped global hot-order hook must be removed');
|
|
assert.equal(php.includes('reverse_top_level'), false, 'DESC results must not be reversed a second time');
|
|
});
|
|
|
|
test('empty comment state uses the reference illustration and caption', () => {
|
|
const php = read('inc/helpers/aksrt-comments.php');
|
|
|
|
assert.match(php, /aksrt_get_null\(\$text, 40, 'comment-null\.svg', 'comment comment-null', 280\)/);
|
|
assert.match(php, /\$text = __\('暂无评论内容', 'aksrt'\);/);
|
|
assert.ok(fs.existsSync(path.join(root, 'assets/img/comment-null.svg')), 'the reference empty-state illustration must ship with the theme');
|
|
assert.equal(php.includes('暂无作者评论'), false, 'empty filter state uses the reference caption');
|
|
});
|