From 9222f59da33150629f8d42cefde46b15d430936f Mon Sep 17 00:00:00 2001 From: Drew Galbraith Date: Wed, 17 Jan 2024 14:31:52 -0800 Subject: [PATCH] [Yunq] Add tests for capability serialization. --- lib/yunq/test/yunq_test.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/lib/yunq/test/yunq_test.cpp b/lib/yunq/test/yunq_test.cpp index ade34d9..675a7f2 100644 --- a/lib/yunq/test/yunq_test.cpp +++ b/lib/yunq/test/yunq_test.cpp @@ -50,3 +50,39 @@ TEST_CASE("Types Serialization", "[yunq]") { REQUIRE(b.signed_int() == -1); REQUIRE(b.str() == "test"); } + +TEST_CASE("Cap Setter/Getter", "[yunq]") { + ex::Cap c; + c.set_cap(1234); + + REQUIRE(c.cap() == 1234); +} + +TEST_CASE("Cap Serialization Inline", "[yunq]") { + ex::Cap a; + a.set_cap(1234); + + glcr::ByteBuffer buf(1024); + a.SerializeToBytes(buf, 0); + + ex::Cap b; + yunq::MessageView v(buf, 0); + REQUIRE(b.ParseFromBytes(v).ok() == true); + + REQUIRE(b.cap() == 1234); +} + +TEST_CASE("Cap Serialization Sidebuffer", "[yunq]") { + ex::Cap a; + a.set_cap(1234); + + glcr::ByteBuffer buf(1024); + glcr::CapBuffer caps(1); + a.SerializeToBytes(buf, 0, caps); + + ex::Cap b; + yunq::MessageView v(buf, 0); + REQUIRE(b.ParseFromBytes(v, caps).ok() == true); + + REQUIRE(b.cap() == 1234); +}