Mercurial > prosody-hg
annotate spec/util_ringbuffer_spec.lua @ 14176:2bcabbeac9b0 13.0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
And add a test for :find()
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 25 May 2026 14:41:06 +0100 |
| parents | f84e0e2faae2 |
| children | 67b68147ed1d |
| rev | line source |
|---|---|
|
10897
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); |
|
10898
c6465fb3c839
util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents:
10897
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:
10897
diff
changeset
|
11 assert.has_error(function () |
|
c6465fb3c839
util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents:
10897
diff
changeset
|
12 rb.new(0); |
|
c6465fb3c839
util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents:
10897
diff
changeset
|
13 end); |
|
c6465fb3c839
util.ringbuffer: Prevent creation of zero-size buffer
Kim Alvefur <zash@zash.se>
parents:
10897
diff
changeset
|
14 end); |
|
10899
8048255ae61e
util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents:
10898
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:
10898
diff
changeset
|
16 assert.has_error(function () |
|
8048255ae61e
util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents:
10898
diff
changeset
|
17 rb.new(-1); |
|
8048255ae61e
util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents:
10898
diff
changeset
|
18 end); |
|
8048255ae61e
util.ringbuffer: Prevent creation of buffer with negative size
Kim Alvefur <zash@zash.se>
parents:
10898
diff
changeset
|
19 end); |
|
10897
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); |
|
10949
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
27 |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
28 describe(":discard", function () |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
29 local b = rb.new(); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
30 it("works", function () |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
31 assert.truthy(b:write("hello world")); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
32 assert.truthy(b:discard(6)); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
33 assert.equal(5, #b); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
34 assert.equal("world", b:read(5)); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
35 end); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
36 end); |
|
8b5b35baf370
util.ringbuffer: Add test for :discard()
Matthew Wild <mwild1@gmail.com>
parents:
10901
diff
changeset
|
37 |
|
14176
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
38 describe(":find", function () |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
39 local function test_find(b, str, expected) |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
40 if expected ~= nil then |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
41 assert.equal(expected, b:find(str)); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
42 else |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
43 assert.is_nil(b:find(str)); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
44 end |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
45 end |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
46 |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
47 it("works", function () |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
48 local b = rb.new(); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
49 assert.truthy(b:write("hello world")); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
50 test_find(b, "world", 7); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
51 end); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
52 end); |
|
2bcabbeac9b0
util.ringbuffer: Fix incorrect returned position from :find() for #needle~=1
Matthew Wild <mwild1@gmail.com>
parents:
10960
diff
changeset
|
53 |
|
10901
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
54 describe(":sub", function () |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
55 -- Helper function to compare buffer:sub() with string:sub() |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
56 local function test_sub(b, x, y) |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
57 local s = b:read(#b, true); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
58 local string_result, buffer_result = s:sub(x, y), b:sub(x, y); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
59 assert.equals(string_result, buffer_result, ("buffer:sub(%d, %s) does not match string:sub()"):format(x, y and ("%d"):format(y) or "nil")); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
60 end |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
61 |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
62 it("works", function () |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
63 local b = rb.new(); |
|
10954
fc310727adfb
util.ringbuffer: Add some additional asserts to tests
Matthew Wild <mwild1@gmail.com>
parents:
10953
diff
changeset
|
64 assert.truthy(b:write("hello world")); |
|
10901
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
65 assert.equals("hello", b:sub(1, 5)); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
66 end); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
67 |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
68 it("supports optional end parameter", function () |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
69 local b = rb.new(); |
|
10954
fc310727adfb
util.ringbuffer: Add some additional asserts to tests
Matthew Wild <mwild1@gmail.com>
parents:
10953
diff
changeset
|
70 assert.truthy(b:write("hello world")); |
|
10901
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
71 assert.equals("hello world", b:sub(1)); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
72 assert.equals("world", b:sub(-5)); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
73 end); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
74 |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
75 it("is equivalent to string:sub", function () |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
76 local b = rb.new(6); |
|
10954
fc310727adfb
util.ringbuffer: Add some additional asserts to tests
Matthew Wild <mwild1@gmail.com>
parents:
10953
diff
changeset
|
77 assert.truthy(b:write("foobar")); |
|
10901
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
78 b:read(3); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
79 b:write("foo"); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
80 for i = -13, 13 do |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
81 for j = -13, 13 do |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
82 test_sub(b, i, j); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
83 end |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
84 end |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
85 end); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
86 end); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
87 |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
88 describe(":byte", function () |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
89 -- Helper function to compare buffer:byte() with string:byte() |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
90 local function test_byte(b, x, y) |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
91 local s = b:read(#b, true); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
92 local string_result, buffer_result = {s:byte(x, y)}, {b:byte(x, y)}; |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
93 assert.same(string_result, buffer_result, ("buffer:byte(%d, %s) does not match string:byte()"):format(x, y and ("%d"):format(y) or "nil")); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
94 end |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
95 |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
96 it("is equivalent to string:byte", function () |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
97 local b = rb.new(6); |
|
10960
f84e0e2faae2
util.ringbuffer: Fix accidentally committed test change (thanks buildbot)
Matthew Wild <mwild1@gmail.com>
parents:
10954
diff
changeset
|
98 assert.truthy(b:write("foobar")); |
|
10901
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
99 b:read(3); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
100 b:write("foo"); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
101 test_byte(b, 1); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
102 test_byte(b, 3); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
103 test_byte(b, -1); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
104 test_byte(b, -3); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
105 for i = -13, 13 do |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
106 for j = -13, 13 do |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
107 test_byte(b, i, j); |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
108 end |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
109 end |
|
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
110 end); |
|
10953
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
111 |
|
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
112 it("works with characters > 127", function () |
|
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
113 local b = rb.new(); |
|
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
114 b:write(string.char(0, 140)); |
|
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
115 local r = { b:byte(1, 2) }; |
|
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
116 assert.same({ 0, 140 }, r); |
|
c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
Matthew Wild <mwild1@gmail.com>
parents:
10949
diff
changeset
|
117 end); |
|
10901
5e33926f4b43
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods
Matthew Wild <mwild1@gmail.com>
parents:
10899
diff
changeset
|
118 end); |
|
10897
37df1e757f02
util.ringbuffer: Add some initial tests
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
119 end); |
