diff options
Diffstat (limited to 'test/example/c-api-kitchen-sink.c')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 251aa3b90..f333da4a2 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -270,6 +270,13 @@ void test_types() { BinaryenTypeExpand(dataref, &valueType); assert(valueType == dataref); + BinaryenType arrayref = BinaryenTypeArrayref(); + printf("BinaryenTypeArrayref: (ptr)\n"); + assert(arrayref == BinaryenTypeArrayref()); + assert(BinaryenTypeArity(arrayref) == 1); + BinaryenTypeExpand(arrayref, &valueType); + assert(valueType == arrayref); + BinaryenType stringref = BinaryenTypeStringref(); printf("BinaryenTypeStringref: (ptr)\n"); assert(BinaryenTypeArity(stringref) == 1); @@ -294,6 +301,24 @@ void test_types() { BinaryenTypeExpand(stringview_iter_, &valueType); assert(valueType == stringview_iter_); + BinaryenType nullref = BinaryenTypeNullref(); + printf("BinaryenTypeNullref: (ptr)\n"); + assert(BinaryenTypeArity(nullref) == 1); + BinaryenTypeExpand(nullref, &valueType); + assert(valueType == nullref); + + BinaryenType nullexternref = BinaryenTypeNullExternref(); + printf("BinaryenTypeNullExternref: (ptr)\n"); + assert(BinaryenTypeArity(nullexternref) == 1); + BinaryenTypeExpand(nullexternref, &valueType); + assert(valueType == nullexternref); + + BinaryenType nullfuncref = BinaryenTypeNullFuncref(); + printf("BinaryenTypeNullFuncref: (ptr)\n"); + assert(BinaryenTypeArity(nullfuncref) == 1); + BinaryenTypeExpand(nullfuncref, &valueType); + assert(valueType == nullfuncref); + printf("BinaryenTypeAuto: %zd\n", BinaryenTypeAuto()); BinaryenType pair[] = {i32, i32}; @@ -324,6 +349,7 @@ void test_types() { printf("BinaryenHeapTypeEq: %zd\n", BinaryenHeapTypeEq()); printf("BinaryenHeapTypeI31: %zd\n", BinaryenHeapTypeI31()); printf("BinaryenHeapTypeData: %zd\n", BinaryenHeapTypeData()); + printf("BinaryenHeapTypeArray: %zd\n", BinaryenHeapTypeArray()); printf("BinaryenHeapTypeString: %zd\n", BinaryenHeapTypeString()); printf("BinaryenHeapTypeStringviewWTF8: %zd\n", BinaryenHeapTypeStringviewWTF8()); @@ -331,6 +357,14 @@ void test_types() { BinaryenHeapTypeStringviewWTF16()); printf("BinaryenHeapTypeStringviewIter: %zd\n", BinaryenHeapTypeStringviewIter()); + printf("BinaryenHeapTypeNone: %zd\n", BinaryenHeapTypeNone()); + printf("BinaryenHeapTypeNoext: %zd\n", BinaryenHeapTypeNoext()); + printf("BinaryenHeapTypeNofunc: %zd\n", BinaryenHeapTypeNofunc()); + + assert(!BinaryenHeapTypeIsBottom(BinaryenHeapTypeExt())); + assert(BinaryenHeapTypeIsBottom(BinaryenHeapTypeNoext())); + assert(BinaryenHeapTypeGetBottom(BinaryenHeapTypeExt()) == + BinaryenHeapTypeNoext()); BinaryenHeapType eq = BinaryenTypeGetHeapType(eqref); assert(eq == BinaryenHeapTypeEq()); |