spec/util_human_units_spec.lua
author Jonas Schäfer <jonas@wielicki.name>
Mon, 03 Oct 2022 12:55:11 +0200
changeset 12743 0dc80024fdd2
parent 10890 994c4a333199
permissions -rw-r--r--
Backed out changeset 1bc2220cd6ec The use of the error helpers creates an `<error/>` child element containing the error condition. This is however not allowed as per XEP-0198, which specifies that the error condition is to be a direct child of the `<failed/>` stream management element. This has triggered a fun reconnect loop in aioxmpp where it was reported by a user [1]. [1]: https://github.com/horazont/aioxmpp/issues/382

local units = require "util.human.units";

describe("util.human.units", function ()
	describe("format", function ()
		it("formats numbers with SI units", function ()
			assert.equal("1 km", units.format(1000, "m"));
			assert.equal("1 GJ", units.format(1000000000, "J"));
			assert.equal("1 ms", units.format(1/1000, "s"));
			assert.equal("10 ms", units.format(10/1000, "s"));
			assert.equal("1 ns", units.format(1/1000000000, "s"));
			assert.equal("1 KiB", units.format(1024, "B", 'b'));
			assert.equal("1 MiB", units.format(1024*1024, "B", 'b'));
		end);
	end);
end);