spec/util_ringbuffer_spec.lua
author Kim Alvefur <zash@zash.se>
Thu, 04 Jun 2020 16:11:08 +0200
changeset 10903 8048255ae61e
parent 10902 c6465fb3c839
child 10905 5e33926f4b43
permissions -rw-r--r--
util.ringbuffer: Prevent creation of buffer with negative size Previously this would have been (unsigned)-1 which is a large positive integer.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10901
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
local rb = require "util.ringbuffer";
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
describe("util.ringbuffer", function ()
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
	describe("#new", function ()
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
		it("has a constructor", function ()
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
			assert.Function(rb.new);
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
		end);
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
		it("can be created", function ()
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
			assert.truthy(rb.new());
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
		end);
10902
c6465fb3c839 util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents: 10901
diff changeset
    10
		it("won't create an empty buffer", function ()
c6465fb3c839 util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents: 10901
diff changeset
    11
			assert.has_error(function ()
c6465fb3c839 util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents: 10901
diff changeset
    12
				rb.new(0);
c6465fb3c839 util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents: 10901
diff changeset
    13
			end);
c6465fb3c839 util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents: 10901
diff changeset
    14
		end);
10903
8048255ae61e util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents: 10902
diff changeset
    15
		it("won't create a negatively sized buffer", function ()
8048255ae61e util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents: 10902
diff changeset
    16
			assert.has_error(function ()
8048255ae61e util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents: 10902
diff changeset
    17
				rb.new(-1);
8048255ae61e util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents: 10902
diff changeset
    18
			end);
8048255ae61e util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents: 10902
diff changeset
    19
		end);
10901
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
	end);
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
	describe(":write", function ()
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
		local b = rb.new();
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
		it("works", function ()
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    24
			assert.truthy(b:write("hi"));
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    25
		end);
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    26
	end);
37df1e757f02 util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
end);