diff options
Diffstat (limited to 'tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp')
-rw-r--r-- | tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp | 257 |
1 files changed, 150 insertions, 107 deletions
diff --git a/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp b/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp index 2ae085cb0b..f402421165 100644 --- a/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp +++ b/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the test suite of the Qt Toolkit. @@ -245,6 +245,8 @@ private: QTemporaryDir tempDir; QString testFileName; + const QString m_rfc3261FilePath; + const QString m_shiftJisFilePath; }; void runOnExit() @@ -256,11 +258,16 @@ Q_DESTRUCTOR_FUNCTION(runOnExit) tst_QTextStream::tst_QTextStream() : tempDir(QDir::tempPath() + "/tst_qtextstream.XXXXXX") + , m_rfc3261FilePath(QFINDTESTDATA("rfc3261.txt")) + , m_shiftJisFilePath(QFINDTESTDATA("shift-jis.txt")) { } void tst_QTextStream::initTestCase() { + QVERIFY(!m_rfc3261FilePath.isEmpty()); + QVERIFY(!m_shiftJisFilePath.isEmpty()); + testFileName = tempDir.path() + "/testfile"; // chdir into the testdata dir and refer to our helper apps with relative paths @@ -768,7 +775,7 @@ void tst_QTextStream::generateAllData(bool for_QString) // ------------------------------------------------------------------------------ void tst_QTextStream::readLineUntilNull() { - QFile file(QFINDTESTDATA("rfc3261.txt")); + QFile file(m_rfc3261FilePath); QVERIFY(file.open(QFile::ReadOnly)); QTextStream stream(&file); @@ -887,7 +894,7 @@ void tst_QTextStream::lineCount_data() QTest::newRow("buffersize+1 line") << QByteArray(16384, '\n') << 16384; QTest::newRow("buffersize+2 line") << QByteArray(16385, '\n') << 16385; - QFile file(QFINDTESTDATA("rfc3261.txt")); file.open(QFile::ReadOnly); + QFile file(m_rfc3261FilePath); file.open(QFile::ReadOnly); QTest::newRow("rfc3261") << file.readAll() << 15067; } @@ -923,7 +930,7 @@ void tst_QTextStream::performance() stopWatch.restart(); int nlines1 = 0; - QFile file(QFINDTESTDATA("rfc3261.txt")); + QFile file(m_rfc3261FilePath); QVERIFY(file.open(QFile::ReadOnly)); while (!file.atEnd()) { @@ -935,7 +942,7 @@ void tst_QTextStream::performance() stopWatch.restart(); int nlines2 = 0; - QFile file2(QFINDTESTDATA("rfc3261.txt")); + QFile file2(m_rfc3261FilePath); QVERIFY(file2.open(QFile::ReadOnly)); QTextStream stream(&file2); @@ -1155,7 +1162,7 @@ void tst_QTextStream::readNewlines() // ------------------------------------------------------------------------------ void tst_QTextStream::seek() { - QFile file(QFINDTESTDATA("rfc3261.txt")); + QFile file(m_rfc3261FilePath); QVERIFY(file.open(QFile::ReadOnly)); QTextStream stream(&file); @@ -1248,7 +1255,7 @@ void tst_QTextStream::pos() } { // Latin1 device - QFile file(QFINDTESTDATA("rfc3261.txt")); + QFile file(m_rfc3261FilePath); QVERIFY(file.open(QIODevice::ReadOnly)); QTextStream stream(&file); @@ -1280,7 +1287,7 @@ void tst_QTextStream::pos() { // Shift-JIS device for (int i = 0; i < 2; ++i) { - QFile file(QFINDTESTDATA("shift-jis.txt")); + QFile file(m_shiftJisFilePath); if (i == 0) QVERIFY(file.open(QIODevice::ReadOnly)); else @@ -1788,8 +1795,6 @@ void tst_QTextStream::writeSeekWriteNoBOM() QCOMPARE(out16.buffer(), first); } - - // ------------------------------------------------------------------------------ void tst_QTextStream::generateOperatorCharData(bool for_QString) { @@ -2142,14 +2147,36 @@ void tst_QTextStream::byteArray_read_operator_FromDevice() { \ QFETCH(qulonglong, number); \ QFETCH(QByteArray, data); \ + QFETCH(QByteArray, dataWithSeparators); \ \ QBuffer buffer; \ buffer.open(QBuffer::WriteOnly); \ QTextStream stream(&buffer); \ + stream.setLocale(QLocale::c()); \ stream << (type)number; \ stream.flush(); \ + QCOMPARE(buffer.data().constData(), data.constData()); \ \ + QLocale locale("en-US"); \ + buffer.reset(); buffer.buffer().clear(); \ + stream.setLocale(locale); \ + stream << (type)number; \ + stream.flush(); \ + QCOMPARE(buffer.data(), dataWithSeparators); \ + \ + locale.setNumberOptions(QLocale::OmitGroupSeparator); \ + buffer.reset(); buffer.buffer().clear(); \ + stream.setLocale(locale); \ + stream << (type)number; \ + stream.flush(); \ QCOMPARE(buffer.data().constData(), data.constData()); \ + \ + locale = QLocale("de-DE"); \ + buffer.reset(); buffer.buffer().clear(); \ + stream.setLocale(locale); \ + stream << (type)number; \ + stream.flush(); \ + QCOMPARE(buffer.data(), dataWithSeparators.replace(',', '.')); \ } // ------------------------------------------------------------------------------ @@ -2157,16 +2184,17 @@ void tst_QTextStream::signedShort_write_operator_ToDevice_data() { QTest::addColumn<qulonglong>("number"); QTest::addColumn<QByteArray>("data"); - - QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0"); - QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1"); - QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("-1"); - QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767"); - QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("-32768"); - QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("-32767"); - QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("-1"); - QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("0"); - QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("1"); + QTest::addColumn<QByteArray>("dataWithSeparators"); + + QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0") << QByteArray("0"); + QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1") << QByteArray("1"); + QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("-1") << QByteArray("-1"); + QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767") << QByteArray("32,767"); + QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("-32768") << QByteArray("-32,768"); + QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("-32767") << QByteArray("-32,767"); + QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("-1") << QByteArray("-1"); + QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("0") << QByteArray("0"); + QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("1") << QByteArray("1"); } IMPLEMENT_STREAM_LEFT_INT_OPERATOR_TEST(signedShort, signed short) ; @@ -2176,16 +2204,17 @@ void tst_QTextStream::unsignedShort_write_operator_ToDevice_data() { QTest::addColumn<qulonglong>("number"); QTest::addColumn<QByteArray>("data"); - - QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0"); - QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1"); - QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("65535"); - QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767"); - QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768"); - QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769"); - QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535"); - QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("0"); - QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("1"); + QTest::addColumn<QByteArray>("dataWithSeparators"); + + QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0") << QByteArray("0"); + QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1") << QByteArray("1"); + QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("65535") << QByteArray("65,535"); + QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767") << QByteArray("32,767"); + QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768") << QByteArray("32,768"); + QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769") << QByteArray("32,769"); + QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535") << QByteArray("65,535"); + QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("0") << QByteArray("0"); + QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("1") << QByteArray("1"); } IMPLEMENT_STREAM_LEFT_INT_OPERATOR_TEST(unsignedShort, unsigned short) ; @@ -2195,22 +2224,23 @@ void tst_QTextStream::signedInt_write_operator_ToDevice_data() { QTest::addColumn<qulonglong>("number"); QTest::addColumn<QByteArray>("data"); - - QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0"); - QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1"); - QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("-1"); - QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767"); - QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768"); - QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769"); - QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535"); - QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536"); - QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537"); - QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647"); - QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("-2147483648"); - QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("-2147483647"); - QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("-1"); - QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("0"); - QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("1"); + QTest::addColumn<QByteArray>("dataWithSeparators"); + + QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0") << QByteArray("0"); + QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1") << QByteArray("1"); + QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("-1") << QByteArray("-1"); + QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767") << QByteArray("32,767"); + QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768") << QByteArray("32,768"); + QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769") << QByteArray("32,769"); + QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535") << QByteArray("65,535"); + QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536") << QByteArray("65,536"); + QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537") << QByteArray("65,537"); + QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647") << QByteArray("2,147,483,647"); + QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("-2147483648") << QByteArray("-2,147,483,648"); + QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("-2147483647") << QByteArray("-2,147,483,647"); + QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("-1") << QByteArray("-1"); + QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("0") << QByteArray("0"); + QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("1") << QByteArray("1"); } IMPLEMENT_STREAM_LEFT_INT_OPERATOR_TEST(signedInt, signed int) ; @@ -2220,22 +2250,23 @@ void tst_QTextStream::unsignedInt_write_operator_ToDevice_data() { QTest::addColumn<qulonglong>("number"); QTest::addColumn<QByteArray>("data"); - - QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0"); - QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1"); - QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("4294967295"); - QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767"); - QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768"); - QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769"); - QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535"); - QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536"); - QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537"); - QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647"); - QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("2147483648"); - QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("2147483649"); - QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("4294967295"); - QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("0"); - QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("1"); + QTest::addColumn<QByteArray>("dataWithSeparators"); + + QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0") << QByteArray("0"); + QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1") << QByteArray("1"); + QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("4294967295") << QByteArray("4,294,967,295"); + QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767") << QByteArray("32,767"); + QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768") << QByteArray("32,768"); + QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769") << QByteArray("32,769"); + QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535") << QByteArray("65,535"); + QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536") << QByteArray("65,536"); + QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537") << QByteArray("65,537"); + QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647") << QByteArray("2,147,483,647"); + QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("2147483648") << QByteArray("2,147,483,648"); + QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("2147483649") << QByteArray("2,147,483,649"); + QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("4294967295") << QByteArray("4,294,967,295"); + QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("0") << QByteArray("0"); + QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("1") << QByteArray("1"); } IMPLEMENT_STREAM_LEFT_INT_OPERATOR_TEST(unsignedInt, unsigned int) ; @@ -2245,26 +2276,27 @@ void tst_QTextStream::qlonglong_write_operator_ToDevice_data() { QTest::addColumn<qulonglong>("number"); QTest::addColumn<QByteArray>("data"); - - QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0"); - QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1"); - QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("-1"); - QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767"); - QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768"); - QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769"); - QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535"); - QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536"); - QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537"); - QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647"); - QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("2147483648"); - QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("2147483649"); - QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("4294967295"); - QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("4294967296"); - QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("4294967297"); - QTest::newRow("9223372036854775807") << Q_UINT64_C(9223372036854775807) << QByteArray("9223372036854775807"); - QTest::newRow("9223372036854775808") << Q_UINT64_C(9223372036854775808) << QByteArray("-9223372036854775808"); - QTest::newRow("9223372036854775809") << Q_UINT64_C(9223372036854775809) << QByteArray("-9223372036854775807"); - QTest::newRow("18446744073709551615") << Q_UINT64_C(18446744073709551615) << QByteArray("-1"); + QTest::addColumn<QByteArray>("dataWithSeparators"); + + QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0") << QByteArray("0"); + QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1") << QByteArray("1"); + QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("-1") << QByteArray("-1"); + QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767") << QByteArray("32,767"); + QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768") << QByteArray("32,768"); + QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769") << QByteArray("32,769"); + QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535") << QByteArray("65,535"); + QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536") << QByteArray("65,536"); + QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537") << QByteArray("65,537"); + QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647") << QByteArray("2,147,483,647"); + QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("2147483648") << QByteArray("2,147,483,648"); + QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("2147483649") << QByteArray("2,147,483,649"); + QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("4294967295") << QByteArray("4,294,967,295"); + QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("4294967296") << QByteArray("4,294,967,296"); + QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("4294967297") << QByteArray("4,294,967,297"); + QTest::newRow("9223372036854775807") << Q_UINT64_C(9223372036854775807) << QByteArray("9223372036854775807") << QByteArray("9,223,372,036,854,775,807"); + QTest::newRow("9223372036854775808") << Q_UINT64_C(9223372036854775808) << QByteArray("-9223372036854775808") << QByteArray("-9,223,372,036,854,775,808"); + QTest::newRow("9223372036854775809") << Q_UINT64_C(9223372036854775809) << QByteArray("-9223372036854775807") << QByteArray("-9,223,372,036,854,775,807"); + QTest::newRow("18446744073709551615") << Q_UINT64_C(18446744073709551615) << QByteArray("-1") << QByteArray("-1"); } IMPLEMENT_STREAM_LEFT_INT_OPERATOR_TEST(qlonglong, qlonglong) ; @@ -2274,26 +2306,27 @@ void tst_QTextStream::qulonglong_write_operator_ToDevice_data() { QTest::addColumn<qulonglong>("number"); QTest::addColumn<QByteArray>("data"); - - QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0"); - QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1"); - QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("18446744073709551615"); - QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767"); - QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768"); - QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769"); - QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535"); - QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536"); - QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537"); - QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647"); - QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("2147483648"); - QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("2147483649"); - QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("4294967295"); - QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("4294967296"); - QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("4294967297"); - QTest::newRow("9223372036854775807") << Q_UINT64_C(9223372036854775807) << QByteArray("9223372036854775807"); - QTest::newRow("9223372036854775808") << Q_UINT64_C(9223372036854775808) << QByteArray("9223372036854775808"); - QTest::newRow("9223372036854775809") << Q_UINT64_C(9223372036854775809) << QByteArray("9223372036854775809"); - QTest::newRow("18446744073709551615") << Q_UINT64_C(18446744073709551615) << QByteArray("18446744073709551615"); + QTest::addColumn<QByteArray>("dataWithSeparators"); + + QTest::newRow("0") << Q_UINT64_C(0) << QByteArray("0") << QByteArray("0"); + QTest::newRow("1") << Q_UINT64_C(1) << QByteArray("1") << QByteArray("1"); + QTest::newRow("-1") << Q_UINT64_C(-1) << QByteArray("18446744073709551615") << QByteArray("18,446,744,073,709,551,615"); + QTest::newRow("32767") << Q_UINT64_C(32767) << QByteArray("32767") << QByteArray("32,767"); + QTest::newRow("32768") << Q_UINT64_C(32768) << QByteArray("32768") << QByteArray("32,768"); + QTest::newRow("32769") << Q_UINT64_C(32769) << QByteArray("32769") << QByteArray("32,769"); + QTest::newRow("65535") << Q_UINT64_C(65535) << QByteArray("65535") << QByteArray("65,535"); + QTest::newRow("65536") << Q_UINT64_C(65536) << QByteArray("65536") << QByteArray("65,536"); + QTest::newRow("65537") << Q_UINT64_C(65537) << QByteArray("65537") << QByteArray("65,537"); + QTest::newRow("2147483647") << Q_UINT64_C(2147483647) << QByteArray("2147483647") << QByteArray("2,147,483,647"); + QTest::newRow("2147483648") << Q_UINT64_C(2147483648) << QByteArray("2147483648") << QByteArray("2,147,483,648"); + QTest::newRow("2147483649") << Q_UINT64_C(2147483649) << QByteArray("2147483649") << QByteArray("2,147,483,649"); + QTest::newRow("4294967295") << Q_UINT64_C(4294967295) << QByteArray("4294967295") << QByteArray("4,294,967,295"); + QTest::newRow("4294967296") << Q_UINT64_C(4294967296) << QByteArray("4294967296") << QByteArray("4,294,967,296"); + QTest::newRow("4294967297") << Q_UINT64_C(4294967297) << QByteArray("4294967297") << QByteArray("4,294,967,297"); + QTest::newRow("9223372036854775807") << Q_UINT64_C(9223372036854775807) << QByteArray("9223372036854775807") << QByteArray("9,223,372,036,854,775,807"); + QTest::newRow("9223372036854775808") << Q_UINT64_C(9223372036854775808) << QByteArray("9223372036854775808") << QByteArray("9,223,372,036,854,775,808"); + QTest::newRow("9223372036854775809") << Q_UINT64_C(9223372036854775809) << QByteArray("9223372036854775809") << QByteArray("9,223,372,036,854,775,809"); + QTest::newRow("18446744073709551615") << Q_UINT64_C(18446744073709551615) << QByteArray("18446744073709551615") << QByteArray("18,446,744,073,709,551,615"); } IMPLEMENT_STREAM_LEFT_INT_OPERATOR_TEST(qulonglong, qulonglong) ; @@ -2304,12 +2337,14 @@ void tst_QTextStream::generateRealNumbersDataWrite() { QTest::addColumn<double>("number"); QTest::addColumn<QByteArray>("data"); + QTest::addColumn<QByteArray>("dataWithSeparators"); - QTest::newRow("0") << 0.0 << QByteArray("0"); - QTest::newRow("3.14") << 3.14 << QByteArray("3.14"); - QTest::newRow("-3.14") << -3.14 << QByteArray("-3.14"); - QTest::newRow("1.2e+10") << 1.2e+10 << QByteArray("1.2e+10"); - QTest::newRow("-1.2e+10") << -1.2e+10 << QByteArray("-1.2e+10"); + QTest::newRow("0") << 0.0 << QByteArray("0") << QByteArray("0"); + QTest::newRow("3.14") << 3.14 << QByteArray("3.14") << QByteArray("3.14"); + QTest::newRow("-3.14") << -3.14 << QByteArray("-3.14") << QByteArray("-3.14"); + QTest::newRow("1.2e+10") << 1.2e+10 << QByteArray("1.2e+10") << QByteArray("1.2e+10"); + QTest::newRow("-1.2e+10") << -1.2e+10 << QByteArray("-1.2e+10") << QByteArray("-1.2e+10"); + QTest::newRow("12345") << 12345. << QByteArray("12345") << QByteArray("12,345"); } // ------------------------------------------------------------------------------ @@ -2320,14 +2355,22 @@ void tst_QTextStream::generateRealNumbersDataWrite() { \ QFETCH(double, number); \ QFETCH(QByteArray, data); \ + QFETCH(QByteArray, dataWithSeparators); \ \ QBuffer buffer; \ buffer.open(QBuffer::WriteOnly); \ QTextStream stream(&buffer); \ + stream.setLocale(QLocale::c()); \ float f = (float)number; \ stream << f; \ stream.flush(); \ QCOMPARE(buffer.data().constData(), data.constData()); \ + \ + buffer.reset(); \ + stream.setLocale(QLocale("en-US")); \ + stream << f; \ + stream.flush(); \ + QCOMPARE(buffer.data(), dataWithSeparators); \ } IMPLEMENT_STREAM_LEFT_REAL_OPERATOR_TEST(float, float) IMPLEMENT_STREAM_LEFT_REAL_OPERATOR_TEST(double, float) |