summaryrefslogtreecommitdiff
path: root/asl/tests/buffer_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'asl/tests/buffer_tests.cpp')
-rw-r--r--asl/tests/buffer_tests.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/asl/tests/buffer_tests.cpp b/asl/tests/buffer_tests.cpp
index 133a549..2d23b2f 100644
--- a/asl/tests/buffer_tests.cpp
+++ b/asl/tests/buffer_tests.cpp
@@ -2,7 +2,25 @@
#include <asl/testing/testing.hpp>
+struct Big
+{
+ uint64_t data[8];
+};
+
static_assert(asl::buffer<int32_t>::kInlineCapacity == 5);
static_assert(asl::buffer<int64_t>::kInlineCapacity == 2);
static_assert(asl::buffer<char>::kInlineCapacity == 23);
+static_assert(asl::buffer<Big>::kInlineCapacity == 0);
+
+ASL_TEST(default_size)
+{
+ asl::buffer<int32_t> b1;
+ ASL_TEST_EXPECT(b1.size() == 0);
+ ASL_TEST_EXPECT(b1.capacity() == 5);
+ ASL_TEST_EXPECT(static_cast<const void*>(b1.data()) == &b1);
+ asl::buffer<Big> b2;
+ ASL_TEST_EXPECT(b2.size() == 0);
+ ASL_TEST_EXPECT(b2.capacity() == 0);
+ ASL_TEST_EXPECT(b2.data() == nullptr);
+}