@@ -1613,10 +1613,67 @@ void tst_Parser::strictValidation_data()
1613
1613
1614
1614
QTest::newRow (" tag-0" ) << raw (" \xc0\x60 " ) << int (CborValidateCanonicalFormat) << CborNoError;
1615
1615
QTest::newRow (" tag-24" ) << raw (" \xd8\x18\x40 " ) << int (CborValidateCanonicalFormat) << CborNoError;
1616
- QTest::newRow (" tag-55799" ) << raw (" \xd9\xd9\xf7\x60 " ) << int (CborValidateCanonicalFormat) << CborNoError;
1617
1616
QTest::newRow (" tag-65536" ) << raw (" \xda\0\1\0\0\x60 " ) << int (CborValidateCanonicalFormat) << CborNoError;
1618
1617
QTest::newRow (" tag-4294967296" ) << raw (" \xdb\0\0\0\1\0\0\0\0\x60 " ) << int (CborValidateCanonicalFormat) << CborNoError;
1619
1618
1619
+ // strict mode
1620
+ QTest::newRow (" tag-0-unsigned" ) << raw (" \xc0\x00 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1621
+ QTest::newRow (" tag-0-bytearray" ) << raw (" \xc0\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1622
+ QTest::newRow (" tag-0-string" ) << raw (" \xc0\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1623
+ QTest::newRow (" tag-0-tag-0-string" ) << raw (" \xc0\xc0\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1624
+ QTest::newRow (" tag-1-unsigned" ) << raw (" \xc1\x00 " ) << int (CborValidateStrictMode) << CborNoError;
1625
+ QTest::newRow (" tag-1-negative" ) << raw (" \xc1\x20 " ) << int (CborValidateStrictMode) << CborNoError;
1626
+ QTest::newRow (" tag-1-bytearray" ) << raw (" \xc1\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1627
+ QTest::newRow (" tag-2-bytearray" ) << raw (" \xc2\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1628
+ QTest::newRow (" tag-2-string" ) << raw (" \xc2\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1629
+ QTest::newRow (" tag-3-bytearray" ) << raw (" \xc3\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1630
+ QTest::newRow (" tag-3-string" ) << raw (" \xc3\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1631
+ QTest::newRow (" tag-4-string" ) << raw (" \xc4\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1632
+ QTest::newRow (" tag-4-array" ) << raw (" \xc4\x82\0\1 " ) << int (CborValidateStrictMode) << CborNoError;
1633
+ QTest::newRow (" tag-5-string" ) << raw (" \xc5\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1634
+ QTest::newRow (" tag-5-array" ) << raw (" \xc5\x82\0\1 " ) << int (CborValidateStrictMode) << CborNoError;
1635
+ QTest::newRow (" tag-21-bytearray" ) << raw (" \xd5\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1636
+ QTest::newRow (" tag-21-string" ) << raw (" \xd5\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1637
+ QTest::newRow (" tag-21-array" ) << raw (" \xd5\x80 " ) << int (CborValidateStrictMode) << CborNoError;
1638
+ QTest::newRow (" tag-21-map" ) << raw (" \xd5\xa0 " ) << int (CborValidateStrictMode) << CborNoError;
1639
+ QTest::newRow (" tag-22-bytearray" ) << raw (" \xd6\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1640
+ QTest::newRow (" tag-22-string" ) << raw (" \xd6\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1641
+ QTest::newRow (" tag-22-array" ) << raw (" \xd6\x80 " ) << int (CborValidateStrictMode) << CborNoError;
1642
+ QTest::newRow (" tag-22-map" ) << raw (" \xd6\xa0 " ) << int (CborValidateStrictMode) << CborNoError;
1643
+ QTest::newRow (" tag-23-bytearray" ) << raw (" \xd7\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1644
+ QTest::newRow (" tag-23-string" ) << raw (" \xd7\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1645
+ QTest::newRow (" tag-23-array" ) << raw (" \xd7\x80 " ) << int (CborValidateStrictMode) << CborNoError;
1646
+ QTest::newRow (" tag-23-map" ) << raw (" \xd7\xa0 " ) << int (CborValidateStrictMode) << CborNoError;
1647
+ QTest::newRow (" tag-24-bytearray" ) << raw (" \xd8\x18\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1648
+ QTest::newRow (" tag-24-string" ) << raw (" \xd8\x18\x60 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1649
+ QTest::newRow (" tag-32-bytearray" ) << raw (" \xd8\x20\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1650
+ QTest::newRow (" tag-32-string" ) << raw (" \xd8\x20\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1651
+ QTest::newRow (" tag-33-bytearray" ) << raw (" \xd8\x21\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1652
+ QTest::newRow (" tag-33-string" ) << raw (" \xd8\x21\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1653
+ QTest::newRow (" tag-34-bytearray" ) << raw (" \xd8\x22\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1654
+ QTest::newRow (" tag-34-string" ) << raw (" \xd8\x22\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1655
+ QTest::newRow (" tag-35-bytearray" ) << raw (" \xd8\x23\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1656
+ QTest::newRow (" tag-35-string" ) << raw (" \xd8\x23\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1657
+ QTest::newRow (" tag-36-bytearray" ) << raw (" \xd8\x24\x40 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1658
+ QTest::newRow (" tag-36-string" ) << raw (" \xd8\x24\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1659
+ QTest::newRow (" tag-55799-unsigned" ) << raw (" \xd9\xd9\xf7\x00 " ) << int (CborValidateStrictMode) << CborNoError;
1660
+ QTest::newRow (" tag-55799-negative" ) << raw (" \xd9\xd9\xf7\x20 " ) << int (CborValidateStrictMode) << CborNoError;
1661
+ QTest::newRow (" tag-55799-bytearray" ) << raw (" \xd9\xd9\xf7\x40 " ) << int (CborValidateStrictMode) << CborNoError;
1662
+ QTest::newRow (" tag-55799-string" ) << raw (" \xd9\xd9\xf7\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1663
+ QTest::newRow (" tag-55799-array" ) << raw (" \xd9\xd9\xf7\x80 " ) << int (CborValidateStrictMode) << CborNoError;
1664
+ QTest::newRow (" tag-55799-map" ) << raw (" \xd9\xd9\xf7\xa0 " ) << int (CborValidateStrictMode) << CborNoError;
1665
+ QTest::newRow (" tag-55799-tag-0-unsigned" ) << raw (" \xd9\xd9\xf7\xc0\x00 " ) << int (CborValidateStrictMode) << CborErrorInappropriateTagForType;
1666
+ QTest::newRow (" tag-55799-tag-0-string" ) << raw (" \xd9\xd9\xf7\xc0\x60 " ) << int (CborValidateStrictMode) << CborNoError;
1667
+ QTest::newRow (" tag-55799-simple0" ) << raw (" \xd9\xd9\xf7\xe0 " ) << int (CborValidateStrictMode) << CborNoError;
1668
+ QTest::newRow (" tag-55799-false" ) << raw (" \xd9\xd9\xf7\xf4 " ) << int (CborValidateStrictMode) << CborNoError;
1669
+ QTest::newRow (" tag-55799-true" ) << raw (" \xd9\xd9\xf7\xf5 " ) << int (CborValidateStrictMode) << CborNoError;
1670
+ QTest::newRow (" tag-55799-null" ) << raw (" \xd9\xd9\xf7\xf6 " ) << int (CborValidateStrictMode) << CborNoError;
1671
+ QTest::newRow (" tag-55799-undefined" ) << raw (" \xd9\xd9\xf7\xf7 " ) << int (CborValidateStrictMode) << CborNoError;
1672
+ QTest::newRow (" tag-55799-simple32" ) << raw (" \xd9\xd9\xf7\xf8\x20 " ) << int (CborValidateStrictMode) << CborNoError;
1673
+ QTest::newRow (" tag-55799-half" ) << raw (" \xd9\xd9\xf7\xf9\0\0 " ) << int (CborValidateStrictMode) << CborNoError;
1674
+ QTest::newRow (" tag-55799-float" ) << raw (" \xd9\xd9\xf7\xfa\0\0\0\0 " ) << int (CborValidateStrictMode) << CborNoError;
1675
+ QTest::newRow (" tag-55799-double" ) << raw (" \xd9\xd9\xf7\xfb\0\0\0\0\0\0\0\0 " ) << int (CborValidateStrictMode) << CborNoError;
1676
+
1620
1677
// excluded non-finite
1621
1678
QTest::newRow (" excluded-fp-nan" ) << raw (" \xfb\x7f\xf8\0\0\0\0\0\0 " ) << int (CborValidateFiniteFloatingPoint) << CborErrorExcludedValue;
1622
1679
QTest::newRow (" excluded-fp-nan_f" ) << raw (" \xfa\x7f\xc0\0\0 " ) << int (CborValidateFiniteFloatingPoint) << CborErrorExcludedValue;
0 commit comments