统一 Rust 与 TypeScript 格式化门禁
纳入 AGC Cargo workspace 的统一 rustfmt 检查与格式化入口 完成项目 TypeScript/Prettier 与 Rust 全量格式化 修复 Pingora expected executable 门禁的空白敏感误报 同步开发运维文档与 AGC skill pack 格式化忽略规则
This commit is contained in:
@@ -505,7 +505,9 @@ test('quest completion notice reuses dark PlatformSubpanel chrome', async () =>
|
||||
|
||||
const noticeText = await screen.findByText('可前往任务日志领取奖励。');
|
||||
const noticeClassName = findNearestClassName(noticeText, 'bg-black/25');
|
||||
const openQuestLogButton = screen.getByRole('button', { name: '打开任务日志' });
|
||||
const openQuestLogButton = screen.getByRole('button', {
|
||||
name: '打开任务日志',
|
||||
});
|
||||
|
||||
expect(screen.getByText('奖励已准备')).toBeTruthy();
|
||||
expect(noticeClassName).toContain('border-emerald-400/15');
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
import { renderToStaticMarkup } from 'react-dom/server';
|
||||
import { expect, test } from 'vitest';
|
||||
|
||||
import { AnimationState, type Character, type StoryMoment, type StoryOption, WorldType } from '../../types';
|
||||
import {
|
||||
AnimationState,
|
||||
type Character,
|
||||
type StoryMoment,
|
||||
type StoryOption,
|
||||
WorldType,
|
||||
} from '../../types';
|
||||
import { RpgAdventurePanel } from './RpgAdventurePanel';
|
||||
|
||||
function createCharacter(): Character {
|
||||
@@ -210,11 +216,17 @@ test('adventure panel hides custom input and shows quest offer actions during np
|
||||
viewOption.runtimePayload = {
|
||||
npcChatQuestOfferAction: 'view',
|
||||
};
|
||||
const replaceOption = createOption('npc_chat_quest_offer_replace', '更换任务');
|
||||
const replaceOption = createOption(
|
||||
'npc_chat_quest_offer_replace',
|
||||
'更换任务',
|
||||
);
|
||||
replaceOption.runtimePayload = {
|
||||
npcChatQuestOfferAction: 'replace',
|
||||
};
|
||||
const abandonOption = createOption('npc_chat_quest_offer_abandon', '放弃任务');
|
||||
const abandonOption = createOption(
|
||||
'npc_chat_quest_offer_abandon',
|
||||
'放弃任务',
|
||||
);
|
||||
abandonOption.runtimePayload = {
|
||||
npcChatQuestOfferAction: 'abandon',
|
||||
};
|
||||
@@ -223,7 +235,11 @@ test('adventure panel hides custom input and shows quest offer actions during np
|
||||
displayMode: 'dialogue',
|
||||
dialogue: [
|
||||
{ speaker: 'player', text: '你像是还有别的话想说。' },
|
||||
{ speaker: 'npc', speakerName: '柳无声', text: '确实有一件事想正式托付给你。' },
|
||||
{
|
||||
speaker: 'npc',
|
||||
speakerName: '柳无声',
|
||||
text: '确实有一件事想正式托付给你。',
|
||||
},
|
||||
],
|
||||
options: [viewOption, replaceOption, abandonOption],
|
||||
npcChatState: {
|
||||
@@ -257,10 +273,14 @@ test('adventure panel hides custom input and shows quest offer actions during np
|
||||
},
|
||||
};
|
||||
|
||||
const html = renderPanel(currentStory, [viewOption, replaceOption, abandonOption], {
|
||||
onSubmitNpcChatInput: () => true,
|
||||
onExitNpcChat: () => true,
|
||||
});
|
||||
const html = renderPanel(
|
||||
currentStory,
|
||||
[viewOption, replaceOption, abandonOption],
|
||||
{
|
||||
onSubmitNpcChatInput: () => true,
|
||||
onExitNpcChat: () => true,
|
||||
},
|
||||
);
|
||||
|
||||
expect(html).toContain('查看任务');
|
||||
expect(html).toContain('更换任务');
|
||||
|
||||
Reference in New Issue
Block a user