mirror of
https://github.com/nicolargo/glances.git
synced 2026-09-15 14:50:17 -04:00
33 lines
1.4 KiB
JavaScript
33 lines
1.4 KiB
JavaScript
import { test } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import { displayName, byText } from "../../glances/outputs/static/js/v5/rows.js";
|
|
|
|
test("displayName shows the configured alias", () => {
|
|
assert.equal(displayName({ interface_name: "lo", alias: "Loopback" }, "interface_name"), "Loopback");
|
|
});
|
|
|
|
test("displayName falls back to the raw key when there is no usable alias", () => {
|
|
assert.equal(displayName({ disk_name: "sda" }, "disk_name"), "sda");
|
|
assert.equal(displayName({ disk_name: "sda", alias: "" }, "disk_name"), "sda");
|
|
assert.equal(displayName({ disk_name: "sda", alias: null }, "disk_name"), "sda");
|
|
});
|
|
|
|
test("displayName never renders undefined", () => {
|
|
assert.equal(displayName({}, "disk_name"), "");
|
|
assert.equal(displayName({ disk_name: null }, "disk_name"), "");
|
|
});
|
|
|
|
test("byText sorts like Python's sorted(key=str): code units, not locale", () => {
|
|
// Python: sorted(["a", "B"]) == ["B", "a"]; localeCompare would give ["a", "B"].
|
|
const rows = [{ ssid: "a" }, { ssid: "B" }, { ssid: "wlp0s20f3" }, { ssid: "wlan0" }];
|
|
assert.deepEqual(rows.slice().sort(byText("ssid")).map((r) => r.ssid), ["B", "a", "wlan0", "wlp0s20f3"]);
|
|
});
|
|
|
|
test("byText keeps equal keys in their original order, like sorted()", () => {
|
|
const rows = [
|
|
{ mnt_point: "/", n: 1 },
|
|
{ mnt_point: "/", n: 2 },
|
|
];
|
|
assert.deepEqual(rows.slice().sort(byText("mnt_point")).map((r) => r.n), [1, 2]);
|
|
});
|