From b9c3bf625155f1dd89ab89793074a39c2abe32eb Mon Sep 17 00:00:00 2001 From: Ophelia Goldstein <159258143+opheliagoldstein@users.noreply.github.com> Date: Mon, 13 Oct 2025 23:56:07 +0300 Subject: [PATCH] refactor: move fmt related tests into separate file (#4569) Co-authored-by: Alexandr --- tests/fmt.test.js | 67 +++++++++++++++++++++++++++++++++++++++++++++ tests/utils.test.js | 64 ------------------------------------------- 2 files changed, 67 insertions(+), 64 deletions(-) create mode 100644 tests/fmt.test.js diff --git a/tests/fmt.test.js b/tests/fmt.test.js new file mode 100644 index 00000000..9aa4b59f --- /dev/null +++ b/tests/fmt.test.js @@ -0,0 +1,67 @@ +import { describe, expect, it } from "@jest/globals"; +import { formatBytes, kFormatter } from "../src/common/fmt.js"; + +describe("Test fmt.js", () => { + it("should test kFormatter default behavior", () => { + expect(kFormatter(1)).toBe(1); + expect(kFormatter(-1)).toBe(-1); + expect(kFormatter(500)).toBe(500); + expect(kFormatter(1000)).toBe("1k"); + expect(kFormatter(1200)).toBe("1.2k"); + expect(kFormatter(10000)).toBe("10k"); + expect(kFormatter(12345)).toBe("12.3k"); + expect(kFormatter(99900)).toBe("99.9k"); + expect(kFormatter(9900000)).toBe("9900k"); + }); + + it("should test kFormatter with 0 decimal precision", () => { + expect(kFormatter(1, 0)).toBe("0k"); + expect(kFormatter(-1, 0)).toBe("-0k"); + expect(kFormatter(500, 0)).toBe("1k"); + expect(kFormatter(1000, 0)).toBe("1k"); + expect(kFormatter(1200, 0)).toBe("1k"); + expect(kFormatter(10000, 0)).toBe("10k"); + expect(kFormatter(12345, 0)).toBe("12k"); + expect(kFormatter(99000, 0)).toBe("99k"); + expect(kFormatter(99900, 0)).toBe("100k"); + expect(kFormatter(9900000, 0)).toBe("9900k"); + }); + + it("should test kFormatter with 1 decimal precision", () => { + expect(kFormatter(1, 1)).toBe("0.0k"); + expect(kFormatter(-1, 1)).toBe("-0.0k"); + expect(kFormatter(500, 1)).toBe("0.5k"); + expect(kFormatter(1000, 1)).toBe("1.0k"); + expect(kFormatter(1200, 1)).toBe("1.2k"); + expect(kFormatter(10000, 1)).toBe("10.0k"); + expect(kFormatter(12345, 1)).toBe("12.3k"); + expect(kFormatter(99900, 1)).toBe("99.9k"); + expect(kFormatter(9900000, 1)).toBe("9900.0k"); + }); + + it("should test kFormatter with 2 decimal precision", () => { + expect(kFormatter(1, 2)).toBe("0.00k"); + expect(kFormatter(-1, 2)).toBe("-0.00k"); + expect(kFormatter(500, 2)).toBe("0.50k"); + expect(kFormatter(1000, 2)).toBe("1.00k"); + expect(kFormatter(1200, 2)).toBe("1.20k"); + expect(kFormatter(10000, 2)).toBe("10.00k"); + expect(kFormatter(12345, 2)).toBe("12.35k"); + expect(kFormatter(99900, 2)).toBe("99.90k"); + expect(kFormatter(9900000, 2)).toBe("9900.00k"); + }); + + it("formatBytes: should return expected values", () => { + expect(formatBytes(0)).toBe("0 B"); + expect(formatBytes(100)).toBe("100.0 B"); + expect(formatBytes(1024)).toBe("1.0 KB"); + expect(formatBytes(1024 * 1024)).toBe("1.0 MB"); + expect(formatBytes(1024 * 1024 * 1024)).toBe("1.0 GB"); + expect(formatBytes(1024 * 1024 * 1024 * 1024)).toBe("1.0 TB"); + expect(formatBytes(1024 * 1024 * 1024 * 1024 * 1024)).toBe("1.0 PB"); + expect(formatBytes(1024 * 1024 * 1024 * 1024 * 1024 * 1024)).toBe("1.0 EB"); + + expect(formatBytes(1234 * 1024)).toBe("1.2 MB"); + expect(formatBytes(123.4 * 1024)).toBe("123.4 KB"); + }); +}); diff --git a/tests/utils.test.js b/tests/utils.test.js index c4af90d9..9be0ae2f 100644 --- a/tests/utils.test.js +++ b/tests/utils.test.js @@ -9,58 +9,8 @@ import { renderError, wrapTextMultiline, } from "../src/common/utils.js"; -import { formatBytes, kFormatter } from "../src/common/fmt.js"; describe("Test utils.js", () => { - it("should test kFormatter default behavior", () => { - expect(kFormatter(1)).toBe(1); - expect(kFormatter(-1)).toBe(-1); - expect(kFormatter(500)).toBe(500); - expect(kFormatter(1000)).toBe("1k"); - expect(kFormatter(1200)).toBe("1.2k"); - expect(kFormatter(10000)).toBe("10k"); - expect(kFormatter(12345)).toBe("12.3k"); - expect(kFormatter(99900)).toBe("99.9k"); - expect(kFormatter(9900000)).toBe("9900k"); - }); - - it("should test kFormatter with 0 decimal precision", () => { - expect(kFormatter(1, 0)).toBe("0k"); - expect(kFormatter(-1, 0)).toBe("-0k"); - expect(kFormatter(500, 0)).toBe("1k"); - expect(kFormatter(1000, 0)).toBe("1k"); - expect(kFormatter(1200, 0)).toBe("1k"); - expect(kFormatter(10000, 0)).toBe("10k"); - expect(kFormatter(12345, 0)).toBe("12k"); - expect(kFormatter(99000, 0)).toBe("99k"); - expect(kFormatter(99900, 0)).toBe("100k"); - expect(kFormatter(9900000, 0)).toBe("9900k"); - }); - - it("should test kFormatter with 1 decimal precision", () => { - expect(kFormatter(1, 1)).toBe("0.0k"); - expect(kFormatter(-1, 1)).toBe("-0.0k"); - expect(kFormatter(500, 1)).toBe("0.5k"); - expect(kFormatter(1000, 1)).toBe("1.0k"); - expect(kFormatter(1200, 1)).toBe("1.2k"); - expect(kFormatter(10000, 1)).toBe("10.0k"); - expect(kFormatter(12345, 1)).toBe("12.3k"); - expect(kFormatter(99900, 1)).toBe("99.9k"); - expect(kFormatter(9900000, 1)).toBe("9900.0k"); - }); - - it("should test kFormatter with 2 decimal precision", () => { - expect(kFormatter(1, 2)).toBe("0.00k"); - expect(kFormatter(-1, 2)).toBe("-0.00k"); - expect(kFormatter(500, 2)).toBe("0.50k"); - expect(kFormatter(1000, 2)).toBe("1.00k"); - expect(kFormatter(1200, 2)).toBe("1.20k"); - expect(kFormatter(10000, 2)).toBe("10.00k"); - expect(kFormatter(12345, 2)).toBe("12.35k"); - expect(kFormatter(99900, 2)).toBe("99.90k"); - expect(kFormatter(9900000, 2)).toBe("9900.00k"); - }); - it("should test parseBoolean", () => { expect(parseBoolean(true)).toBe(true); expect(parseBoolean(false)).toBe(false); @@ -102,20 +52,6 @@ describe("Test utils.js", () => { queryByTestId(document.body, "message").children[1], ).toHaveTextContent(/Secondary Message/gim); }); - - it("formatBytes: should return expected values", () => { - expect(formatBytes(0)).toBe("0 B"); - expect(formatBytes(100)).toBe("100.0 B"); - expect(formatBytes(1024)).toBe("1.0 KB"); - expect(formatBytes(1024 * 1024)).toBe("1.0 MB"); - expect(formatBytes(1024 * 1024 * 1024)).toBe("1.0 GB"); - expect(formatBytes(1024 * 1024 * 1024 * 1024)).toBe("1.0 TB"); - expect(formatBytes(1024 * 1024 * 1024 * 1024 * 1024)).toBe("1.0 PB"); - expect(formatBytes(1024 * 1024 * 1024 * 1024 * 1024 * 1024)).toBe("1.0 EB"); - - expect(formatBytes(1234 * 1024)).toBe("1.2 MB"); - expect(formatBytes(123.4 * 1024)).toBe("123.4 KB"); - }); }); describe("wrapTextMultiline", () => {