From 087cda285f8a743427fa40d12e354e9ab7d1d84e Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Mon, 16 Apr 2012 11:26:41 +0300 Subject: fix QChar::isPrint() returns an incorrect result. results are now equals to results of ICU's u_isprint() for the entire set of the Unicode code points Change-Id: I763f4b37cccd285eb01543d486f25bd7ea011241 Reviewed-by: Lars Knoll --- tests/auto/corelib/tools/qchar/tst_qchar.cpp | 59 +++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) (limited to 'tests/auto/corelib/tools/qchar') diff --git a/tests/auto/corelib/tools/qchar/tst_qchar.cpp b/tests/auto/corelib/tools/qchar/tst_qchar.cpp index 14c43d0088..56613a90c2 100644 --- a/tests/auto/corelib/tools/qchar/tst_qchar.cpp +++ b/tests/auto/corelib/tools/qchar/tst_qchar.cpp @@ -276,8 +276,65 @@ void tst_QChar::isLetterOrNumber() void tst_QChar::isPrint() { + // noncharacters, reserved (General_Gategory =Cn) + QVERIFY(!QChar(0x2064).isPrint()); + QVERIFY(!QChar(0x2069).isPrint()); + QVERIFY(!QChar(0xfdd0).isPrint()); + QVERIFY(!QChar(0xfdef).isPrint()); + QVERIFY(!QChar(0xfff0).isPrint()); + QVERIFY(!QChar(0xfff8).isPrint()); + QVERIFY(!QChar(0xfffe).isPrint()); + QVERIFY(!QChar(0xffff).isPrint()); +/* + QVERIFY(!QChar::isPrint(0xe0000u)); + QVERIFY(!QChar::isPrint(0xe0002u)); + QVERIFY(!QChar::isPrint(0xe001fu)); + QVERIFY(!QChar::isPrint(0xe0080u)); + QVERIFY(!QChar::isPrint(0xe00ffu)); +*/ + + // Other_Default_Ignorable_Code_Point, Variation_Selector + QVERIFY(QChar(0x034f).isPrint()); + QVERIFY(QChar(0x115f).isPrint()); + QVERIFY(QChar(0x180b).isPrint()); + QVERIFY(QChar(0x180d).isPrint()); + QVERIFY(QChar(0x3164).isPrint()); + QVERIFY(QChar(0xfe00).isPrint()); + QVERIFY(QChar(0xfe0f).isPrint()); + QVERIFY(QChar(0xffa0).isPrint()); +/* + QVERIFY(QChar::isPrint(0xe0100u)); + QVERIFY(QChar::isPrint(0xe01efu)); +*/ + + // Cf, Cs, Cc, White_Space, Annotation Characters + QVERIFY(!QChar(0x0008).isPrint()); + QVERIFY(!QChar(0x000a).isPrint()); + QVERIFY(QChar(0x0020).isPrint()); + QVERIFY(QChar(0x00a0).isPrint()); + QVERIFY(!QChar(0x00ad).isPrint()); + QVERIFY(!QChar(0x0085).isPrint()); + QVERIFY(!QChar(0xd800).isPrint()); + QVERIFY(!QChar(0xdc00).isPrint()); + QVERIFY(!QChar(0xfeff).isPrint()); +/* + QVERIFY(!QChar::isPrint(0x1d173u)); +*/ + + QVERIFY(QChar('0').isPrint()); QVERIFY(QChar('A').isPrint()); - QVERIFY(!QChar(0x1aff).isPrint()); // General_Gategory =Cn + QVERIFY(QChar('a').isPrint()); + + QVERIFY(!QChar(0x0370).isPrint()); // assigned in 5.1 + QVERIFY(!QChar(0x0524).isPrint()); // assigned in 5.2 + QVERIFY(!QChar(0x0526).isPrint()); // assigned in 6.0 + QVERIFY(!QChar(0x08a0).isPrint()); // assigned in 6.1 + QVERIFY(!QChar(0x1aff).isPrint()); // not assigned + QVERIFY(!QChar(0x1e9e).isPrint()); // assigned in 5.1 +/* + QVERIFY(!QChar::isPrint(0x1b000u)); // assigned in 6.0 + QVERIFY(!QChar::isPrint(0x110d0u)); // assigned in 5.1 +*/ } void tst_QChar::isUpper() -- cgit v1.2.3