5 #include "flutter/testing/testing.h"
11 TEST(HostBufferTest, TestInitialization) {
18 TEST(HostBufferTest, CanEmplace) {
22 static_assert(
sizeof(Length2) == 2u);
26 for (
size_t i = 0; i < 12500; i++) {
27 auto view = buffer->Emplace(Length2{});
29 ASSERT_EQ(buffer->GetLength(), (i + 1) *
sizeof(Length2));
30 ASSERT_EQ(view.range,
Range(i *
sizeof(Length2), 2u));
34 TEST(HostBufferTest, CanEmplaceWithAlignment) {
38 static_assert(
sizeof(Length2) == 2);
39 struct alignas(16) Align16 {
42 static_assert(
alignof(Align16) == 16);
43 static_assert(
sizeof(Align16) == 16);
49 auto view = buffer->Emplace(Length2{});
51 ASSERT_EQ(buffer->GetLength(), 2u);
52 ASSERT_EQ(view.range,
Range(0u, 2u));
56 auto view = buffer->Emplace(Align16{});
58 ASSERT_EQ(view.range.offset, 16u);
59 ASSERT_EQ(view.range.length, 16u);
60 ASSERT_EQ(buffer->GetLength(), 32u);
63 auto view = buffer->Emplace(Length2{});
65 ASSERT_EQ(buffer->GetLength(), 34u);
66 ASSERT_EQ(view.range,
Range(32u, 2u));
70 auto view = buffer->Emplace(Align16{});
72 ASSERT_EQ(view.range.offset, 48u);
73 ASSERT_EQ(view.range.length, 16u);
74 ASSERT_EQ(buffer->GetLength(), 64u);