From 3c82a1f8fa015b74c8e0b426c21189acb95368fa Mon Sep 17 00:00:00 2001 From: Mitya Selivanov <0x7fffff@guattari.ru> Date: Tue, 9 Aug 2022 21:18:21 +0400 Subject: Add tests --- source/test/unittests/input_buffer.test.c | 39 ++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'source/test/unittests/input_buffer.test.c') diff --git a/source/test/unittests/input_buffer.test.c b/source/test/unittests/input_buffer.test.c index a88b58b..175537c 100644 --- a/source/test/unittests/input_buffer.test.c +++ b/source/test/unittests/input_buffer.test.c @@ -3,7 +3,7 @@ #define KIT_TEST_FILE input_buffer #include "../../kit_test/test.h" -TEST("input buffer") { +TEST("input buffer read once") { str_t text = { .size = 3, .values = "foo" }; is_handle_t in = IS_WRAP_STRING(text); ib_handle_t first = IB_WRAP(in); @@ -18,3 +18,40 @@ TEST("input buffer") { ib_destroy(first); is_destroy(in); } + +TEST("input buffer read again") { + str_t text = { .size = 6, .values = "foobar" }; + str_t foo = { .size = 3, .values = "foo" }; + is_handle_t in = IS_WRAP_STRING(text); + ib_handle_t first = IB_WRAP(in); + + ib_handle_t second = ib_read(first, 3); + ib_handle_t third = ib_read(first, 3); + + REQUIRE(AR_EQUAL(foo, second.data)); + REQUIRE(AR_EQUAL(foo, third.data)); + + ib_destroy(third); + ib_destroy(second); + ib_destroy(first); + is_destroy(in); +} + +TEST("input buffer read twice") { + str_t text = { .size = 6, .values = "foobar" }; + str_t foo = { .size = 3, .values = "foo" }; + str_t bar = { .size = 3, .values = "bar" }; + is_handle_t in = IS_WRAP_STRING(text); + ib_handle_t first = IB_WRAP(in); + + ib_handle_t second = ib_read(first, 3); + ib_handle_t third = ib_read(second, 3); + + REQUIRE(AR_EQUAL(foo, second.data)); + REQUIRE(AR_EQUAL(bar, third.data)); + + ib_destroy(third); + ib_destroy(second); + ib_destroy(first); + is_destroy(in); +} -- cgit v1.2.3