fix digitValue() returned 0 instead of -1 for invalid ucs4 characters

Task-number: QTBUG-20318

Change-Id: I96c4c2b042bad478b7c704669e7ea0d574d3b22f
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This commit is contained in:
Konstantin Ritt 2012-04-10 14:53:42 +03:00 committed by Qt by Nokia
parent d7851bbc58
commit 8e74b5cfe4
2 changed files with 4 additions and 1 deletions

View File

@ -717,7 +717,7 @@ int QChar::digitValue(ushort ucs2)
int QChar::digitValue(uint ucs4) int QChar::digitValue(uint ucs4)
{ {
if (ucs4 > UNICODE_LAST_CODEPOINT) if (ucs4 > UNICODE_LAST_CODEPOINT)
return 0; return -1;
return qGetProp(ucs4)->digitValue; return qGetProp(ucs4)->digitValue;
} }

View File

@ -523,6 +523,9 @@ void tst_QChar::digitValue()
QVERIFY(QChar::digitValue((ushort)0x1040) == 0); QVERIFY(QChar::digitValue((ushort)0x1040) == 0);
QVERIFY(QChar::digitValue((uint)0x1049) == 9); QVERIFY(QChar::digitValue((uint)0x1049) == 9);
QVERIFY(QChar::digitValue((uint)0x1040) == 0); QVERIFY(QChar::digitValue((uint)0x1040) == 0);
QVERIFY(QChar::digitValue((ushort)0xd800) == -1);
QVERIFY(QChar::digitValue((uint)UNICODE_LAST_CODEPOINT + 1) == -1);
} }
void tst_QChar::decomposition() void tst_QChar::decomposition()