summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/xml/qxmlstream/tst_qxmlstream.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/corelib/xml/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/xml/qxmlstream/tst_qxmlstream.cpp
index ea2cafdbc3..694a2f2952 100644
--- a/tests/auto/corelib/xml/qxmlstream/tst_qxmlstream.cpp
+++ b/tests/auto/corelib/xml/qxmlstream/tst_qxmlstream.cpp
@@ -558,6 +558,7 @@ private slots:
void hasAttribute() const;
void writeWithCodec() const;
void writeWithUtf8Codec() const;
+ void writeWithUtf16Codec() const;
void writeWithStandalone() const;
void entitiesAndWhitespace_1() const;
void entitiesAndWhitespace_2() const;
@@ -1279,6 +1280,27 @@ void tst_QXmlStream::writeWithUtf8Codec() const
QVERIFY(outarray.startsWith(begin));
}
+void tst_QXmlStream::writeWithUtf16Codec() const
+{
+ QByteArray outarray;
+ QXmlStreamWriter writer(&outarray);
+
+ QTextCodec *codec = QTextCodec::codecForMib(1014); // utf-16LE
+ QVERIFY(codec);
+ writer.setCodec(codec);
+
+ writer.writeStartDocument("1.0");
+ static const char begin[] = "<?xml version=\"1.0\" encoding=\"UTF-16"; // skip potential "LE" suffix
+ const int count = sizeof(begin) - 1; // don't include 0 terminator
+ QByteArray begin_UTF16;
+ begin_UTF16.reserve(2*(count));
+ for (int i = 0; i < count; ++i) {
+ begin_UTF16.append(begin[i]);
+ begin_UTF16.append((char)'\0');
+ }
+ QVERIFY(outarray.startsWith(begin_UTF16));
+}
+
void tst_QXmlStream::writeWithStandalone() const
{
{