QStringConverter: add a test for missing drain
Task-number: QTBUG-118834 Change-Id: I3085e6f83aa5a21f477a101a45186d0ce2133d10 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>bb10
parent
496340f33a
commit
b099988f6d
|
|
@ -2615,6 +2615,21 @@ void tst_QStringConverter::fromLocal8Bit_special_cases()
|
|||
QCOMPARE(result, u"你");
|
||||
QCOMPARE(state.remainingChars, 0);
|
||||
|
||||
// Test QTBUG-118834, which is failing
|
||||
result.clear();
|
||||
state.clear();
|
||||
result = QLocal8Bit::convertToUnicode_sys("\xe4\xe4\xbd", UTF8, &state);
|
||||
QCOMPARE(result, QString());
|
||||
QVERIFY(result.isNull());
|
||||
// Remaining octet:
|
||||
result += QLocal8Bit::convertToUnicode_sys("\xa0", UTF8, &state);
|
||||
QEXPECT_FAIL("", "QTBUG-118834: We don't output anything because it's "
|
||||
"within the size of our internal state, and we cannot "
|
||||
"signal that it needs to be drained.", Continue);
|
||||
QCOMPARE(result, QChar::ReplacementCharacter + u"你"_s);
|
||||
QEXPECT_FAIL("", "QTBUG-118834: As above", Continue);
|
||||
QCOMPARE(state.remainingChars, 0);
|
||||
|
||||
// Now try a 4-octet GB 18030 sequence:
|
||||
result.clear();
|
||||
state.clear();
|
||||
|
|
|
|||
Loading…
Reference in New Issue