#include #include #include using namespace wasmtime; TEST(Table, Smoke) { Engine engine; Store store(engine); Table::create(store, TableType(ValKind::FuncRef, 1), 3.0).err(); Val null = std::optional(); Table t = Table::create(store, TableType(ValKind::FuncRef, 1), null).unwrap(); EXPECT_FALSE(t.get(store, 1)); EXPECT_TRUE(t.get(store, 0)); Val val = *t.get(store, 0); EXPECT_EQ(val.kind(), ValKind::FuncRef); EXPECT_FALSE(val.funcref()); EXPECT_EQ(t.grow(store, 4, null).unwrap(), 1); t.set(store, 3, null).unwrap(); t.set(store, 3, 3).err(); EXPECT_EQ(t.size(store), 5); EXPECT_EQ(t.type(store)->element().kind(), ValKind::FuncRef); }