summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2018-07-17 12:56:05 -0700
committerThiago Macieira <thiago.macieira@intel.com>2018-08-03 20:26:42 +0000
commit6c8160b0dcadf7afd8eb0bd22536d6d0331dcbfa (patch)
tree4b3ebfca680206a4a40e6ba0ba9087e3c5a6e3c9 /tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
parent0eb1574b28ced49cc0134c557a1744d4af0f84e6 (diff)
QCborValue diagnostics: Properly escape strings
I'm intentionally not testing improperly-paired surrogates, since those can't be encoded in CBOR. Change-Id: I0d3cc366baaa49f3ad28fffd154240287ce34c22 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp')
-rw-r--r--tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
index e469bffa4f..92d5cd8702 100644
--- a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
+++ b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
@@ -1646,6 +1646,12 @@ void tst_QCborValue::toDiagnosticNotation_data()
<< QCborValue(QCborMap{{-1, QCborMap{{0, 0}, {"foo", "bar"}}}}) << int(QCborValue::LineWrapped)
<< "{\n -1: {\n 0: 0,\n \"foo\": \"bar\"\n }\n}";
+ // string escaping
+ QTest::newRow("String:escaping")
+ << QCborValue("\1\a\b\t\f\r\n\v\x1f\x7f \"\xc2\xa0\xe2\x82\xac\xf0\x90\x80\x80\\\"")
+ << int(QCborValue::DiagnosticNotationOptions{})
+ << "\"\\u0001\\a\\b\\t\\f\\r\\n\\v\\u001F\\u007F \\\"\\u00A0\\u20AC\\U00010000\\\\\\\"\"";
+
// extended formatting for byte arrays
QTest::newRow("Extended:ByteArray:0")
<< QCborValue(QByteArray()) << int(QCborValue::ExtendedFormat)