diff options
author | hjk <qthjk@ovi.com> | 2012-12-20 13:20:43 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-30 10:44:44 +0100 |
commit | 03a666760c7abc2d7272e8080c17628b81d0858d (patch) | |
tree | 2832d9663aad935ff8497d535610d5380af96253 /tests | |
parent | 8094c8fe184ae10fe8673bc35a16bfe17b7510ff (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.cpp | 19 |
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")); |