summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorhjk <qthjk@ovi.com>2012-12-20 13:20:43 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-30 10:44:44 +0100
commit03a666760c7abc2d7272e8080c17628b81d0858d (patch)
tree2832d9663aad935ff8497d535610d5380af96253 /tests
parent8094c8fe184ae10fe8673bc35a16bfe17b7510ff (diff)
Speed up and fix QByteArray::setNum()
Going through QLocale and QString is not really needed. This also makes the result of the conversion of negative numbers in bases other than 10 independent of the architecture and implements the documented behavior of treating them as unsigned types. Change-Id: Ibc231dc5241deb5cbadd9796484a8b5f79c29410 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
index bbfffb2063..1084b5a7b1 100644
--- a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
@@ -401,7 +401,24 @@ void tst_QByteArray::rightJustified()
void tst_QByteArray::setNum()
{
QByteArray a;
- QCOMPARE(a.setNum(123), QByteArray("123"));
+ QCOMPARE(a.setNum(-1), QByteArray("-1"));
+ QCOMPARE(a.setNum(0), QByteArray("0"));
+ QCOMPARE(a.setNum(0, 2), QByteArray("0"));
+ QCOMPARE(a.setNum(0, 36), QByteArray("0"));
+ QCOMPARE(a.setNum(1), QByteArray("1"));
+ QCOMPARE(a.setNum(35, 36), QByteArray("z"));
+ QCOMPARE(a.setNum(37, 2), QByteArray("100101"));
+ QCOMPARE(a.setNum(37, 36), QByteArray("11"));
+
+ // Negative numbers are only properly supported for base 10.
+ QCOMPARE(a.setNum(short(-1), 16), QByteArray("ffff"));
+ QCOMPARE(a.setNum(int(-1), 16), QByteArray("ffffffff"));
+ QCOMPARE(a.setNum(qlonglong(-1), 16), QByteArray("ffffffffffffffff"));
+
+ QCOMPARE(a.setNum(short(-1), 10), QByteArray("-1"));
+ QCOMPARE(a.setNum(int(-1), 10), QByteArray("-1"));
+ QCOMPARE(a.setNum(qlonglong(-1), 10), QByteArray("-1"));
+
QCOMPARE(a.setNum(-123), QByteArray("-123"));
QCOMPARE(a.setNum(0x123,16), QByteArray("123"));
QCOMPARE(a.setNum((short)123), QByteArray("123"));