fix(tests): restore green contract suite
Drop the legacy credits_added message label per the hard-cut rule, switch
three remaining Font Awesome 4 icons to FA5 solid, and align two widget
contracts with the badge rule grouping and renderer list from fc04bf65.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b32b56f8bc
commit
48e54dc115
7 files changed
+10
-15
No files matched your search
@@ -279,13 +279,13 @@ if (!function_exists('aksrt_get_header_slider_markup')) {
|
||||
. ($background !== '' ? ' poster="' . esc_url($background) . '"' : '') . '></video><div class="absolute"></div>';
|
||||
} elseif ($video !== '') {
|
||||
$slide_class .= ' slide-dplayer';
|
||||
$background_html = '<div class="new-dplayer" video-url="' . esc_url($video) . '" video-type="auto"><div class="graphic" style="padding-bottom:50%;"><div class="abs-center text-center"><i class="fa fa-play-circle fa-4x muted-3-color opacity5" aria-hidden="true"></i></div></div></div>';
|
||||
$background_html = '<div class="new-dplayer" video-url="' . esc_url($video) . '" video-type="auto"><div class="graphic" style="padding-bottom:50%;"><div class="abs-center text-center"><i class="fas fa-play-circle fa-4x muted-3-color opacity5" aria-hidden="true"></i></div></div></div>';
|
||||
if ($background !== '') {
|
||||
$poster_class = 'absolute dplayer-poster' . (!empty($options['gradient_bg']) ? ' gradient-bg' : '');
|
||||
$poster_attrs = !empty($options['gradient_bg']) ? ' data-opacity="0.2"' : '';
|
||||
$background_html .= '<div class="' . esc_attr($poster_class) . '"' . $poster_attrs . '>'
|
||||
. aksrt_header_slider_image($background, 'no-imgbox radius8', $alt)
|
||||
. '<div class="absolute flex jc play-icon"><span class="toggle-radius"><i class="fa fa-play" aria-hidden="true"></i></span></div></div>';
|
||||
. '<div class="absolute flex jc play-icon"><span class="toggle-radius"><i class="fas fa-play" aria-hidden="true"></i></span></div></div>';
|
||||
}
|
||||
} elseif ($background !== '') {
|
||||
$background_html = aksrt_header_slider_image($background, 'radius8', $alt);
|
||||
|
||||
@@ -34,7 +34,6 @@ final class MessageTypes {
|
||||
'ban_appeal' => __('禁封申诉', 'aksrt'),
|
||||
'report' => __('举报', 'aksrt'),
|
||||
'withdraw' => __('提现', 'aksrt'),
|
||||
'credits_added' => __('积分增加', 'aksrt'),
|
||||
'ticket_new' => __('新工单', 'aksrt'),
|
||||
'ticket_reply' => __('工单回复', 'aksrt'),
|
||||
'ticket_urge' => __('工单催单', 'aksrt'),
|
||||
@@ -58,7 +57,7 @@ final class MessageTypes {
|
||||
if (in_array($type, ['report', 'ban_appeal', 'asset_balance_decrease', 'asset_points_decrease'], true)) {
|
||||
return 'danger';
|
||||
}
|
||||
if (in_array($type, ['withdraw', 'level_up', 'medal', 'auth_apply_reply', 'download_ready', 'credits_added', 'asset_balance_increase', 'asset_points_increase'], true)) {
|
||||
if (in_array($type, ['withdraw', 'level_up', 'medal', 'auth_apply_reply', 'download_ready', 'asset_balance_increase', 'asset_points_increase'], true)) {
|
||||
return 'success';
|
||||
}
|
||||
if (in_array($type, ['system', 'notice'], true)) {
|
||||
|
||||
@@ -103,7 +103,7 @@ final class WidgetDefinition {
|
||||
'sidebar' => __('此模块只适合添加到侧边栏', 'aksrt'),
|
||||
];
|
||||
if (isset($reminders[$this->size])) {
|
||||
$header[] = ['type' => 'submessage', 'style' => 'warning', 'content' => '<i class="fa fa-fw fa-info-circle"></i>' . esc_html($reminders[$this->size])];
|
||||
$header[] = ['type' => 'submessage', 'style' => 'warning', 'content' => '<i class="fas fa-fw fa-info-circle"></i>' . esc_html($reminders[$this->size])];
|
||||
}
|
||||
$common = CommonFields::for_definition($this->common);
|
||||
if ($common && $this->fields) {
|
||||
|
||||
@@ -165,22 +165,19 @@ test('role broadcasts require confirmation of the current role and count on the
|
||||
assert.equal(nonce_checked.length, 8);
|
||||
});
|
||||
|
||||
test('asset and credit types use Chinese labels in filters, row badges and details', () => {
|
||||
const { asset_types, filter_form, asset_table, credits_table } = harness();
|
||||
test('asset types use Chinese labels in filters, row badges and details', () => {
|
||||
const { asset_types, filter_form, asset_table } = harness();
|
||||
assert.deepEqual(asset_types, {
|
||||
asset_balance_increase: ['余额增加', 'success'],
|
||||
asset_balance_decrease: ['余额减少', 'danger'],
|
||||
asset_points_increase: ['积分增加', 'success'],
|
||||
asset_points_decrease: ['积分减少', 'danger'],
|
||||
credits_added: ['积分增加', 'success'],
|
||||
});
|
||||
for (const [type, [label]] of Object.entries(asset_types)) {
|
||||
assert.ok(filter_form.includes(`<option value="${type}">${label}</option>`));
|
||||
}
|
||||
assert.match(asset_table, /class="aksrt-msg-badge is-success"[^>]*>余额增加<\/a>/);
|
||||
assert.match(asset_table, /<dt>消息类型<\/dt><dd>余额增加<\/dd>/);
|
||||
assert.match(credits_table, /class="aksrt-msg-badge is-success"[^>]*>积分增加<\/a>/);
|
||||
assert.match(credits_table, /<dt>消息类型<\/dt><dd>积分增加<\/dd>/);
|
||||
});
|
||||
|
||||
test('single row actions cannot accidentally operate on the checked bulk selection', () => {
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace {
|
||||
public function get_var($sql) { return 2; }
|
||||
public function get_results($sql, $format) { return []; }
|
||||
public function get_row($sql, $format) { return ['total' => 2, 'unread' => 1, 'today' => 1, 'recipients' => 2]; }
|
||||
public function get_col($sql) { return ['system', 'asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease', 'credits_added']; }
|
||||
public function get_col($sql) { return ['system', 'asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease']; }
|
||||
public function query($sql) { $this->queries[] = $sql; return 1; }
|
||||
public function esc_like($text) { return addcslashes($text, '_%\\'); }
|
||||
}
|
||||
@@ -121,8 +121,7 @@ namespace {
|
||||
$out['empty'] = $probe->html('render_message_table', [], $filters, 1, false);
|
||||
$out['cache_calls'] = $GLOBALS['cache_calls'];
|
||||
$out['asset_table'] = $probe->html('render_message_table', [array_merge($row, ['type' => 'asset_balance_increase'])], $filters, 1, false);
|
||||
$out['credits_table'] = $probe->html('render_message_table', [array_merge($row, ['type' => 'credits_added'])], $filters, 1, false);
|
||||
foreach (['asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease', 'credits_added'] as $type) {
|
||||
foreach (['asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease'] as $type) {
|
||||
$out['asset_types'][$type] = [\AKSRT\Messages\MessageTypes::label($type), \AKSRT\Messages\MessageTypes::tone($type)];
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ test('mini badges stay on the correct meta side, disappear with meta and ignore
|
||||
|
||||
test('mini badge styles preserve reference padding and VIP aspect ratio across page bundles', () => {
|
||||
const widgetCss = read('assets/widgets/frontend.css');
|
||||
const rule = widgetCss.match(/\.widget-tab-post \.item-meta \.meta-pay\s*\{([^}]+)\}/)[1];
|
||||
const rule = widgetCss.match(/\.widget-tab-post \.item-meta \.meta-pay, \.widget-main-post \.item-meta \.meta-pay\s*\{([^}]+)\}/)[1];
|
||||
assert.match(rule, /padding:\s*0 4px/);
|
||||
assert.match(rule, /cursor:\s*auto/);
|
||||
for (const file of ['assets/css/frontend/post-card.css', 'assets/css/build/homepage.css']) {
|
||||
|
||||
@@ -46,7 +46,7 @@ test('paid article and sidebar widget use the Zibll purchase-card DOM', () => {
|
||||
assert.match(pay, /支付金额/);
|
||||
assert.match(pay, /hidden-box show/);
|
||||
assert.match(widget, /'layout' => 'widget'/);
|
||||
assert.match(shell, /'post_pay', 'posts', 'oneline_posts'/);
|
||||
assert.match(shell, /'post_pay', 'oneline_posts', 'hot_posts'/);
|
||||
assert.doesNotMatch(single, /aksrt-panel pay-box pay-type-download/);
|
||||
assert.doesNotMatch(single, /get_template_part\('templates\/parts\/resource-download-box'\)/);
|
||||
assert.match(single, /aksrt_get_paid_box_html\(\$post\)/);
|
||||
|
||||
Reference in new issue
Block a user