返回 DeepSeek-Reasonix
text-size.test.ts
根目录 / desktop / frontend / src / __tests__ / text-size.test.ts
1 // Run: tsx src/__tests__/text-size.test.ts
2
3 import { DEFAULT_TEXT_SIZE, nextTextSize } from "../lib/textSize";
4
5 let passed = 0;
6 let failed = 0;
7
8 function eq(a: unknown, b: unknown, label: string) {
9 if (a === b) {
10 process.stdout.write(` PASS ${label}\n`);
11 passed += 1;
12 } else {
13 process.stdout.write(` FAIL ${label}: expected ${JSON.stringify(b)}, got ${JSON.stringify(a)}\n`);
14 failed += 1;
15 }
16 }
17
18 console.log("\ntext size shortcuts");
19 eq(nextTextSize("small", 1), DEFAULT_TEXT_SIZE, "increase from small");
20 eq(nextTextSize("default", 1), "large", "increase from default");
21 eq(nextTextSize("large", 1), "xlarge", "increase from large");
22 eq(nextTextSize("xlarge", 1), "xxlarge", "increase from xlarge");
23 eq(nextTextSize("xxlarge", 1), "xxlarge", "increase clamps at largest");
24 eq(nextTextSize("xxlarge", -1), "xlarge", "decrease from xxlarge");
25 eq(nextTextSize("xlarge", -1), "large", "decrease from xlarge");
26 eq(nextTextSize("large", -1), DEFAULT_TEXT_SIZE, "decrease from large");
27 eq(nextTextSize("default", -1), "small", "decrease from default");
28 eq(nextTextSize("small", -1), "small", "decrease clamps at smallest");
29
30 console.log(`\n${passed} passed, ${failed} failed, ${passed + failed} total`);
31 if (failed > 0) process.exit(1);
32
32 lines TYPESCRIPT