52 lines
2.5 KiB
TypeScript
52 lines
2.5 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import { buildDefaultRolePromptBundle } from './customWorldRolePromptDefaults';
|
|
|
|
describe('buildDefaultRolePromptBundle', () => {
|
|
it('uses model-generated role descriptions directly', () => {
|
|
const result = buildDefaultRolePromptBundle({
|
|
name: '沈砺',
|
|
title: '灰炬向导',
|
|
role: '边路同行者',
|
|
visualDescription:
|
|
'灰黑短斗篷压着风痕,肩侧挂着旧路标与短弓,整个人像常年在裂潮边路里行走的人。',
|
|
actionDescription:
|
|
'起手先观察风向和站位,再用短弓牵制后迅速贴近补刀,动作克制但很准。',
|
|
sceneVisualDescription:
|
|
'他常出现的边路哨点铺着潮湿石板,旧灯火和风旗一直在晃,空气里带着将散未散的盐雾。',
|
|
description: '熟悉裂潮边路的灰炬向导。',
|
|
});
|
|
|
|
expect(result.visualPromptText).toBe(
|
|
'灰黑短斗篷压着风痕,肩侧挂着旧路标与短弓,整个人像常年在裂潮边路里行走的人。',
|
|
);
|
|
expect(result.animationPromptText).toBe(
|
|
'起手先观察风向和站位,再用短弓牵制后迅速贴近补刀,动作克制但很准。',
|
|
);
|
|
expect(result.scenePromptText).toBe(
|
|
'他常出现的边路哨点铺着潮湿石板,旧灯火和风旗一直在晃,空气里带着将散未散的盐雾。',
|
|
);
|
|
});
|
|
|
|
it('falls back to existing entity descriptions without assembling new rules', () => {
|
|
const result = buildDefaultRolePromptBundle({
|
|
name: '顾潮音',
|
|
title: '港口守望者',
|
|
role: '场景角色',
|
|
description: '总在潮雾港高处盯着来往船影的守望者。',
|
|
personality: '寡言、敏锐、先看人再开口。',
|
|
combatStyle: '长枪封线后借高差压制。',
|
|
motivation: '想在港口旧秩序彻底崩掉前找出新的站位。',
|
|
backstory: '他把许多没说出口的旧案痕迹留在港口高处。',
|
|
tags: ['潮雾港', '守望', '旧案'],
|
|
});
|
|
|
|
expect(result.visualPromptText).toBe('总在潮雾港高处盯着来往船影的守望者。');
|
|
expect(result.animationPromptText).toBe('长枪封线后借高差压制。');
|
|
expect(result.scenePromptText).toBe('他把许多没说出口的旧案痕迹留在港口高处。');
|
|
expect(result.visualPromptText).not.toContain('经典横版像素动作角色');
|
|
expect(result.visualPromptText).not.toContain('深色粗轮廓配合清晰大色块');
|
|
expect(result.visualPromptText).not.toContain('提示词');
|
|
});
|
|
});
|