sync up with master
diff --git a/test/qcbor_decode_tests.c b/test/qcbor_decode_tests.c
index 18e283e..1fdc7d9 100644
--- a/test/qcbor_decode_tests.c
+++ b/test/qcbor_decode_tests.c
@@ -4599,3 +4599,196 @@
return 0;
}
+
+
+
+int32_t IntToTests()
+{
+ int nErrCode;
+ int32_t n32;
+ int16_t n16;
+ int8_t n8;
+ uint32_t u32;
+ uint16_t u16;
+ uint8_t u8;
+ uint64_t u64;
+
+ nErrCode = QCBOR_Int64ToInt32(1, &n32);
+ if(nErrCode == -1 || n32 != 1) {
+ return 1;
+ }
+
+ nErrCode = QCBOR_Int64ToInt32((int64_t)INT32_MAX, &n32);
+ if(nErrCode == -1 || n32 != INT32_MAX) {
+ return 2;
+ }
+
+ nErrCode = QCBOR_Int64ToInt32((int64_t)INT32_MIN, &n32);
+ if(nErrCode == -1 || n32 != INT32_MIN) {
+ return 3;
+ }
+
+ nErrCode = QCBOR_Int64ToInt32(((int64_t)INT32_MAX)+1, &n32);
+ if(nErrCode != -1) {
+ return 4;
+ }
+
+ nErrCode = QCBOR_Int64ToInt32(((int64_t)INT32_MIN)-1, &n32);
+ if(nErrCode != -1) {
+ return 5;
+ }
+
+
+ nErrCode = QCBOR_Int64ToInt16((int64_t)INT16_MAX, &n16);
+ if(nErrCode == -1 || n16 != INT16_MAX) {
+ return 6;
+ }
+
+ nErrCode = QCBOR_Int64ToInt16((int64_t)INT16_MIN, &n16);
+ if(nErrCode == -1 || n16 != INT16_MIN) {
+ return 7;
+ }
+
+ nErrCode = QCBOR_Int64ToInt16(1, &n16);
+ if(nErrCode == -1 || n16 != 1) {
+ return 8;
+ }
+
+ nErrCode = QCBOR_Int64ToInt16(((int64_t)INT16_MAX)+1, &n16);
+ if(nErrCode != -1) {
+ return 9;
+ }
+
+ nErrCode = QCBOR_Int64ToInt16(((int64_t)INT16_MIN)-1, &n16);
+ if(nErrCode != -1) {
+ return 10;
+ }
+
+
+ nErrCode = QCBOR_Int64ToInt8(1, &n8);
+ if(nErrCode == -1 || n8 != 1) {
+ return 11;
+ }
+
+ nErrCode = QCBOR_Int64ToInt8((int64_t)INT8_MAX, &n8);
+ if(nErrCode == -1 || n8 != INT8_MAX) {
+ return 12;
+ }
+
+ nErrCode = QCBOR_Int64ToInt8((int64_t)INT8_MIN, &n8);
+ if(nErrCode == -1 || n8 != INT8_MIN) {
+ return 13;
+ }
+
+ nErrCode = QCBOR_Int64ToInt8(((int64_t)INT8_MAX)+1, &n8);
+ if(nErrCode != -1) {
+ return 14;
+ }
+
+ nErrCode = QCBOR_Int64ToInt8(((int64_t)INT8_MIN)-1, &n8);
+ if(nErrCode != -1) {
+ return 15;
+ }
+
+
+ nErrCode = QCBOR_Int64ToUInt32(1, &u32);
+ if(nErrCode == -1 || u32 != 1) {
+ return 16;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt32((int64_t)UINT32_MAX, &u32);
+ if(nErrCode == -1 || u32 != UINT32_MAX) {
+ return 17;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt32((int64_t)0, &u32);
+ if(nErrCode == -1 || u32 != 0) {
+ return 18;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt32(((int64_t)UINT32_MAX)+1, &u32);
+ if(nErrCode != -1) {
+ return 19;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt32((int64_t)-1, &u32);
+ if(nErrCode != -1) {
+ return 20;
+ }
+
+
+ nErrCode = QCBOR_Int64UToInt16((int64_t)UINT16_MAX, &u16);
+ if(nErrCode == -1 || u16 != UINT16_MAX) {
+ return 21;
+ }
+
+ nErrCode = QCBOR_Int64UToInt16((int64_t)0, &u16);
+ if(nErrCode == -1 || u16 != 0) {
+ return 22;
+ }
+
+ nErrCode = QCBOR_Int64UToInt16(1, &u16);
+ if(nErrCode == -1 || u16 != 1) {
+ return 23;
+ }
+
+ nErrCode = QCBOR_Int64UToInt16(((int64_t)UINT16_MAX)+1, &u16);
+ if(nErrCode != -1) {
+ return 24;
+ }
+
+ nErrCode = QCBOR_Int64UToInt16((int64_t)-1, &u16);
+ if(nErrCode != -1) {
+ return 25;
+ }
+
+
+ nErrCode = QCBOR_Int64ToUInt8((int64_t)UINT8_MAX, &u8);
+ if(nErrCode == -1 || u8 != UINT8_MAX) {
+ return 26;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt8((int64_t)0, &u8);
+ if(nErrCode == -1 || u8 != 0) {
+ return 27;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt8(1, &u8);
+ if(nErrCode == -1 || u8 != 1) {
+ return 28;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt8(((int64_t)UINT16_MAX)+1, &u8);
+ if(nErrCode != -1) {
+ return 29;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt8((int64_t)-1, &u8);
+ if(nErrCode != -1) {
+ return 30;
+ }
+
+
+ nErrCode = QCBOR_Int64ToUInt64(1, &u64);
+ if(nErrCode == -1 || u64 != 1) {
+ return 31;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt64(INT64_MAX, &u64);
+ if(nErrCode == -1 || u64 != INT64_MAX) {
+ return 32;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt64((int64_t)0, &u64);
+ if(nErrCode == -1 || u64 != 0) {
+ return 33;
+ }
+
+ nErrCode = QCBOR_Int64ToUInt64((int64_t)-1, &u64);
+ if(nErrCode != -1) {
+ return 34;
+ }
+
+ return 0;
+}
+