feat: 初始化 miot_x TypeScript 工作流构建器项目
This commit is contained in:
27
tests/backup.test.ts
Normal file
27
tests/backup.test.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
import { BACKUP_HEADER, backupStats, packBackup, readBackupFile, unpackBackup } from "../src/index.ts";
|
||||
|
||||
const sampleBackupPath = "resources/备份2026_4_26 19_17_42.bak";
|
||||
|
||||
describe("备份文件处理", () => {
|
||||
test("真实备份可以解包并统计", () => {
|
||||
const backup = readBackupFile(sampleBackupPath);
|
||||
expect(backupStats(backup)).toEqual({
|
||||
version: 2,
|
||||
ruleCount: 15,
|
||||
globalVariableCount: 25,
|
||||
nodeCount: 267,
|
||||
});
|
||||
});
|
||||
|
||||
test("打包结果使用固定头并可往返解包", () => {
|
||||
const backup = readBackupFile(sampleBackupPath);
|
||||
const packed = packBackup(backup);
|
||||
expect([...packed.subarray(0, 4)]).toEqual([...BACKUP_HEADER]);
|
||||
expect(unpackBackup(packed)).toEqual(backup);
|
||||
});
|
||||
|
||||
test("非法文件头会报错", () => {
|
||||
expect(() => unpackBackup(new Uint8Array([0, 1, 2, 3, 4]))).toThrow("备份文件头不匹配");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user