15 lines
1.0 KiB
TypeScript
15 lines
1.0 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
||
import { loginLogDevice } from "../src/pages/admin/login-logs/login-log-display";
|
||
|
||
describe("登录日志设备识别", () => {
|
||
test("Edge 不误判为 Chrome,Android 不误判为 Linux", () => {
|
||
expect(loginLogDevice("Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0")).toEqual({ browser: "Edge 130", os: "Windows" });
|
||
expect(loginLogDevice("Mozilla/5.0 (Linux; Android 14) Chrome/130.0.0.0 Mobile Safari/537.36")).toEqual({ browser: "Chrome 130", os: "Android 14" });
|
||
});
|
||
test("iPhone 和未知 UA 明确展示识别边界", () => {
|
||
expect(loginLogDevice("Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X) Version/18.0 Mobile/15E148 Safari/604.1")).toEqual({ browser: "Safari 18", os: "iOS 18.0" });
|
||
expect(loginLogDevice("custom-client")).toEqual({ browser: "未识别浏览器", os: "未识别系统" });
|
||
expect(loginLogDevice("")).toEqual({ browser: "未记录", os: "未记录" });
|
||
});
|
||
});
|