summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/text/qstring/tst_qstring.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/text/qstring/tst_qstring.cpp')
-rw-r--r--tests/auto/corelib/text/qstring/tst_qstring.cpp73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/auto/corelib/text/qstring/tst_qstring.cpp b/tests/auto/corelib/text/qstring/tst_qstring.cpp
index 79c4fa4ab0..c962496980 100644
--- a/tests/auto/corelib/text/qstring/tst_qstring.cpp
+++ b/tests/auto/corelib/text/qstring/tst_qstring.cpp
@@ -2419,6 +2419,36 @@ void tst_QString::insert_special_cases()
QCOMPARE(a.insert(1, QLatin1String("BCD")), QString("ABCDEF"));
QCOMPARE(a.insert(3, QLatin1String("-")), QString("ABC-DEF"));
QCOMPARE(a.insert(a.size() + 1, QLatin1String("XYZ")), QString("ABC-DEF XYZ"));
+
+ {
+ a = "one";
+ a.prepend(u'a');
+ QString b(a.data_ptr()->freeSpaceAtEnd(), u'b');
+ QCOMPARE(a.insert(a.size() + 1, QLatin1String(b.toLatin1())), QString("aone ") + b);
+ }
+
+ {
+ a = "onetwothree";
+ while (a.size() - 1)
+ a.remove(0, 1);
+ QString b(a.data_ptr()->freeSpaceAtEnd() + 1, u'b');
+ QCOMPARE(a.insert(a.size() + 1, QLatin1String(b.toLatin1())), QString("e ") + b);
+ }
+
+ {
+ a = "one";
+ a.prepend(u'a');
+ QString b(a.data_ptr()->freeSpaceAtEnd(), u'b');
+ QCOMPARE(a.insert(a.size() + 1, b), QString("aone ") + b);
+ }
+
+ {
+ a = "onetwothree";
+ while (a.size() - 1)
+ a.remove(0, 1);
+ QString b(a.data_ptr()->freeSpaceAtEnd() + 1, u'b');
+ QCOMPARE(a.insert(a.size() + 1, b), QString("e ") + b);
+ }
}
void tst_QString::append_data(bool emptyIsNoop)
@@ -2478,6 +2508,49 @@ void tst_QString::append_special_cases()
a.append(QLatin1String("BC"));
QCOMPARE(a, QLatin1String("ABC"));
}
+
+ {
+ QString a = "one";
+ a.prepend(u'a');
+ QString b(a.data_ptr()->freeSpaceAtEnd(), u'b');
+ QCOMPARE(a.append(QLatin1String(b.toLatin1())), QString("aone") + b);
+ }
+
+ {
+ QString a = "onetwothree";
+ while (a.size() - 1)
+ a.remove(0, 1);
+ QString b(a.data_ptr()->freeSpaceAtEnd(), u'b');
+ QCOMPARE(a.append(QLatin1String(b.toLatin1())), QString("e") + b);
+ }
+
+ {
+ QString a = "one";
+ a.prepend(u'a');
+ QString b(a.data_ptr()->freeSpaceAtEnd(), u'b');
+ QCOMPARE(a.append(b), QString("aone") + b);
+ }
+
+ {
+ QString a = "onetwothree";
+ while (a.size() - 1)
+ a.remove(0, 1);
+ QString b(a.data_ptr()->freeSpaceAtEnd() + 1, u'b');
+ QCOMPARE(a.append(b), QString("e") + b);
+ }
+
+ {
+ QString a = "one";
+ a.prepend(u'a');
+ QCOMPARE(a.append(u'b'), QString("aoneb"));
+ }
+
+ {
+ QString a = "onetwothree";
+ while (a.size() - 1)
+ a.remove(0, 1);
+ QCOMPARE(a.append(u'b'), QString("eb"));
+ }
}
void tst_QString::append_bytearray_special_cases_data()