diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-04-06 15:17:04 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-05-14 07:47:06 +0200 |
commit | 2c7f9565ed152c742d360955d3237764998ab1f6 (patch) | |
tree | 6d382624e444d4576c5d0ab33f8f945d4c9c9d8b /tests | |
parent | 99632c2217c023e6a099e2011b676d419be81a37 (diff) |
Always write XML documents as UTF-8
Remove support for setting a codec different from UTF-8
for writing XML files.
All XML readers today can handle UTF-8, and there is no
reason anymore to write a file in a different encoding.
Change-Id: If89fb2d2474a2b55644d9bed7473c11ad91033eb
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp index 28922574b8..36689f773c 100644 --- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp +++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp @@ -560,9 +560,7 @@ private slots: void crashInUTF16Codec() const; void hasAttributeSignature() const; void hasAttribute() const; - void writeWithCodec() const; void writeWithUtf8Codec() const; - void writeWithUtf16Codec() const; void writeWithStandalone() const; void entitiesAndWhitespace_1() const; void entitiesAndWhitespace_2() const; @@ -573,7 +571,6 @@ private slots: void checkCommentIndentation() const; void checkCommentIndentation_data() const; void crashInXmlStreamReader() const; - void write8bitCodec() const; void invalidStringCharacters_data() const; void invalidStringCharacters() const; void hasError() const; @@ -1258,66 +1255,16 @@ void tst_QXmlStream::hasAttribute() const QVERIFY(!reader.hasError()); } - -void tst_QXmlStream::writeWithCodec() const -{ - QByteArray outarray; - QXmlStreamWriter writer(&outarray); - writer.setAutoFormatting(true); - - QTextCodec *codec = QTextCodec::codecForName("ISO 8859-15"); - QVERIFY(codec); - writer.setCodec(codec); - - const char *latin2 = "h\xe9 h\xe9"; - const QString string = codec->toUnicode(latin2); - - - writer.writeStartDocument("1.0"); - - writer.writeTextElement("foo", string); - writer.writeEndElement(); - writer.writeEndDocument(); - - QVERIFY(outarray.contains(latin2)); - QVERIFY(outarray.contains(codec->name())); -} - void tst_QXmlStream::writeWithUtf8Codec() const { QByteArray outarray; QXmlStreamWriter writer(&outarray); - QTextCodec *codec = QTextCodec::codecForMib(106); // utf-8 - QVERIFY(codec); - writer.setCodec(codec); - writer.writeStartDocument("1.0"); static const char begin[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; 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 { { @@ -1413,7 +1360,6 @@ void tst_QXmlStream::garbageInXMLPrologUTF8Explicitly() const QVERIFY(out.open(QIODevice::ReadWrite)); QXmlStreamWriter writer (&out); - writer.setCodec("UTF-8"); writer.writeStartDocument(); writer.writeEmptyElement("Foo"); writer.writeEndDocument(); @@ -1602,43 +1548,6 @@ void tst_QXmlStream::hasError() const } -void tst_QXmlStream::write8bitCodec() const -{ - QBuffer outBuffer; - QVERIFY(outBuffer.open(QIODevice::WriteOnly)); - QXmlStreamWriter writer(&outBuffer); - writer.setAutoFormatting(false); - - QTextCodec *codec = QTextCodec::codecForName("IBM500"); - if (!codec) { - QSKIP("Encoding IBM500 not available."); - } - writer.setCodec(codec); - - writer.writeStartDocument(); - writer.writeStartElement("root"); - writer.writeAttribute("attrib", "1"); - writer.writeEndElement(); - writer.writeEndDocument(); - outBuffer.close(); - - // test 8 bit encoding - QByteArray values = outBuffer.data(); - QVERIFY(values.size() > 1); - // check '<' - QCOMPARE(values[0] & 0x00FF, 0x4c); - // check '?' - QCOMPARE(values[1] & 0x00FF, 0x6F); - - // convert the start of the XML - const QString expected = ("<?xml version=\"1.0\" encoding=\"IBM500\"?>"); - QTextDecoder *decoder = codec->makeDecoder(); - QVERIFY(decoder); - QString decodedText = decoder->toUnicode(values); - delete decoder; - QVERIFY(decodedText.startsWith(expected)); -} - void tst_QXmlStream::invalidStringCharacters() const { // test scan in attributes |