diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-02-01 21:08:30 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-02 11:10:04 +0100 |
commit | 4b1ba7c7928b4b326eb83e6df6f0b8fb93f2edf0 (patch) | |
tree | 6bc4d32175683d8f7c1c5fd8bcc9d2b64ee0a39f /tests | |
parent | 7edd623957b958d7d3db20772571810d7be9da85 (diff) |
Fix QString::operator=(QLatin1String) for substrings
QLatin1String now has a constructor that takes explicit length, which
makes it possible to create a QLatin1String that isn't null-terminated.
Made QString::operator=(QLatin1String) work in that case.
Change-Id: Ie77eabd2f8f036531d67cd8051a7b6305b386ccf
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/tools/qstring/tst_qstring.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qstring/tst_qstring.cpp b/tests/auto/corelib/tools/qstring/tst_qstring.cpp index 781377f574..dae1dc45ba 100644 --- a/tests/auto/corelib/tools/qstring/tst_qstring.cpp +++ b/tests/auto/corelib/tools/qstring/tst_qstring.cpp @@ -224,6 +224,7 @@ private slots: void operatorGreaterWithQLatin1String(); void compareQLatin1Strings(); void fromQLatin1StringWithLength(); + void assignQLatin1String(); }; typedef QList<int> IntList; @@ -5286,6 +5287,28 @@ void tst_QString::fromQLatin1StringWithLength() QCOMPARE(foo, QString::fromLatin1("foo")); } +void tst_QString::assignQLatin1String() +{ + QString empty = QLatin1String(""); + QVERIFY(empty.isEmpty()); + QVERIFY(!empty.isNull()); + + QString null = QLatin1String(0); + QVERIFY(null.isEmpty()); + QVERIFY(null.isNull()); + + QLatin1String latin1foo("foo"); + QString foo = latin1foo; + QCOMPARE(foo.size(), latin1foo.size()); + QCOMPARE(foo, QString::fromLatin1("foo")); + + QLatin1String latin1subfoo("foobar", 3); + foo = latin1subfoo; + QCOMPARE(foo.size(), latin1subfoo.size()); + QCOMPARE(foo, QString::fromLatin1("foo")); + +} + QTEST_APPLESS_MAIN(tst_QString) #include "tst_qstring.moc" |