@@ -1617,6 +1617,39 @@ void tst_Parser::strictValidation_data()
1617
1617
QTest::newRow (" tag-4294967296" ) << raw (" \xdb\0\0\0\1\0\0\0\0\x60 " ) << int (CborValidateCanonicalFormat) << CborNoError;
1618
1618
1619
1619
// strict mode
1620
+ QTest::newRow (" invalid-utf8-1char" ) << raw (" \x61\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1621
+ QTest::newRow (" invalid-utf8-2chars-1" ) << raw (" \x62\xc2\xc0 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1622
+ QTest::newRow (" invalid-utf8-2chars-2" ) << raw (" \x62\xc3\xdf " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1623
+ QTest::newRow (" invalid-utf8-2chars-3" ) << raw (" \x62\xc7\xf0 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1624
+ QTest::newRow (" invalid-utf8-3chars-1" ) << raw (" \x63\xe0\xa0\xc0 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1625
+ QTest::newRow (" invalid-utf8-3chars-2" ) << raw (" \x63\xe0\xc0\xa0 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1626
+ QTest::newRow (" invalid-utf8-4chars-1" ) << raw (" \x64\xf0\x90\x80\xc0 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1627
+ QTest::newRow (" invalid-utf8-4chars-2" ) << raw (" \x64\xf0\x90\xc0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1628
+ QTest::newRow (" invalid-utf8-4chars-3" ) << raw (" \x64\xf0\xc0\x80\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1629
+ QTest::newRow (" invalid-utf8-hi-surrogate" ) << raw (" \x63\xed\xa0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1630
+ QTest::newRow (" invalid-utf8-lo-surrogate" ) << raw (" \x63\xed\xb0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1631
+ QTest::newRow (" invalid-utf8-surrogate-pair" ) << raw (" \x66\xed\xa0\x80\xed\xb0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1632
+ QTest::newRow (" invalid-utf8-non-unicode-1" ) << raw (" \x64\xf4\x90\x80\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1633
+ QTest::newRow (" invalid-utf8-non-unicode-2" ) << raw (" \x65\xf8\x88\x80\x80\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1634
+ QTest::newRow (" invalid-utf8-non-unicode-3" ) << raw (" \x66\xfc\x84\x80\x80\x80\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1635
+ QTest::newRow (" invalid-utf8-non-unicode-4" ) << raw (" \x66\xfd\xbf\xbf\xbf\xbf\xbf " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1636
+ QTest::newRow (" invalid-utf8-fe" ) << raw (" \x61\xfe " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1637
+ QTest::newRow (" invalid-utf8-ff" ) << raw (" \x61\xff " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1638
+ QTest::newRow (" invalid-utf8-overlong-1-2" ) << raw (" \x62\xc1\x81 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1639
+ QTest::newRow (" invalid-utf8-overlong-1-3" ) << raw (" \x63\xe0\x81\x81 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1640
+ QTest::newRow (" invalid-utf8-overlong-1-4" ) << raw (" \x64\xf0\x80\x81\x81 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1641
+ QTest::newRow (" invalid-utf8-overlong-1-5" ) << raw (" \x65\xf8\x80\x80\x81\x81 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1642
+ QTest::newRow (" invalid-utf8-overlong-1-6" ) << raw (" \x66\xfc\x80\x80\x80\x81\x81 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1643
+ QTest::newRow (" invalid-utf8-overlong-2-3" ) << raw (" \x63\xe0\x82\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1644
+ QTest::newRow (" invalid-utf8-overlong-2-4" ) << raw (" \x64\xf0\x80\x82\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1645
+ QTest::newRow (" invalid-utf8-overlong-2-5" ) << raw (" \x65\xf8\x80\x80\x82\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1646
+ QTest::newRow (" invalid-utf8-overlong-2-6" ) << raw (" \x66\xfc\x80\x80\x80\x82\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1647
+ QTest::newRow (" invalid-utf8-overlong-3-4" ) << raw (" \x64\xf0\x80\xa0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1648
+ QTest::newRow (" invalid-utf8-overlong-3-5" ) << raw (" \x65\xf8\x80\x80\xa0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1649
+ QTest::newRow (" invalid-utf8-overlong-3-6" ) << raw (" \x66\xfc\x80\x80\x80\xa0\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1650
+ QTest::newRow (" invalid-utf8-overlong-4-5" ) << raw (" \x65\xf8\x80\x84\x80\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1651
+ QTest::newRow (" invalid-utf8-overlong-4-6" ) << raw (" \x66\xfc\x80\x80\x84\x80\x80 " ) << int (CborValidateStrictMode) << CborErrorInvalidUtf8TextString;
1652
+
1620
1653
QTest::newRow (" tag-0-unsigned" ) << raw (" \xc0\x00 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1621
1654
QTest::newRow (" tag-0-bytearray" ) << raw (" \xc0\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1622
1655
QTest::newRow (" tag-0-string" ) << raw (" \xc0\x60 " ) << int (CborValidateStrictMode) << CborNoError;
0 commit comments