diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp index 848fdb14a4..bbfffb2063 100644 --- a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp +++ b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp @@ -68,6 +68,7 @@ private slots: void constByteArray(); void leftJustified(); void rightJustified(); + void setNum(); void startsWith_data(); void startsWith(); void startsWith_char(); @@ -397,6 +398,32 @@ void tst_QByteArray::rightJustified() QCOMPARE(a,QByteArray("ABC")); } +void tst_QByteArray::setNum() +{ + QByteArray a; + QCOMPARE(a.setNum(123), QByteArray("123")); + QCOMPARE(a.setNum(-123), QByteArray("-123")); + QCOMPARE(a.setNum(0x123,16), QByteArray("123")); + QCOMPARE(a.setNum((short)123), QByteArray("123")); + + QCOMPARE(a.setNum(1.23), QByteArray("1.23")); + QCOMPARE(a.setNum(1.234567), QByteArray("1.23457")); + + // Note that there are no 'long' overloads, so not all of the + // QString::setNum() tests can be re-used. + QCOMPARE(a.setNum(Q_INT64_C(123)), QByteArray("123")); + // 2^40 == 1099511627776 + QCOMPARE(a.setNum(Q_INT64_C(-1099511627776)), QByteArray("-1099511627776")); + QCOMPARE(a.setNum(Q_UINT64_C(1099511627776)), QByteArray("1099511627776")); + QCOMPARE(a.setNum(Q_INT64_C(9223372036854775807)), // LLONG_MAX + QByteArray("9223372036854775807")); + QCOMPARE(a.setNum(-Q_INT64_C(9223372036854775807) - Q_INT64_C(1)), + QByteArray("-9223372036854775808")); + QCOMPARE(a.setNum(Q_UINT64_C(18446744073709551615)), // ULLONG_MAX + QByteArray("18446744073709551615")); + QCOMPARE(a.setNum(0.000000000931322574615478515625), QByteArray("9.31323e-10")); +} + void tst_QByteArray::startsWith_data() { QTest::addColumn<QByteArray>("ba"); |