spec/util_bitcompat_spec.lua
author Matthew Wild <mwild1@gmail.com>
Fri, 07 Oct 2022 16:58:08 +0100
changeset 12750 7eabf8d78978
parent 12370 c640717e01ca
child 13453 9912baa541c0
permissions -rw-r--r--
util.roles: Return nil if the role has no explicit policy (fixes inheritance) Previously, if the first inherited role had no opinion, it returned false and prevented further consultation of other inherited roles. This bug was found thanks to the implementation of missing test cases identified through mutation testing.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12370
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     1
describe("util.bitcompat", function ()
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
	-- bitcompat will pass through to an appropriate implementation. Our
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
	-- goal here is to check that whatever implementation is in use passes
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
	-- these basic sanity checks.
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     6
	local bit = require "util.bitcompat";
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     7
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     8
	it("bor works", function ()
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     9
		assert.equal(0xF0FF, bit.bor(0xF000, 0x00F0, 0x000F));
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    10
	end);
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12
	it("band works", function ()
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    13
		assert.equal(0x0F, bit.band(0xFF, 0x1F, 0x0F));
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    14
	end);
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    15
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    16
	it("bxor works", function ()
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    17
		assert.equal(0x13, bit.bxor(0x10, 0x0F, 0x0C));
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    18
	end);
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    19
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    20
	it("rshift works", function ()
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    21
		assert.equal(0x0F, bit.rshift(0xFF, 4));
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    22
	end);
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    23
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    24
	it("lshift works", function ()
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    25
		assert.equal(0xFF00, bit.lshift(0xFF, 8));
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    26
	end);
c640717e01ca util.bitcompat: Add some simple tests
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    27
end);