From f6e5f6eaf2eb958aa043440c8941b25339644360 Mon Sep 17 00:00:00 2001 From: Karim Pinter Date: Thu, 2 Feb 2017 14:16:16 +0200 Subject: Fix previous fix for trailing 0 handling The previous fix, 82c5cc6532ac5d0323ecda94b6767e1fdaef2639, wasn't handling properly double conversion to string, this change is rather going through the characters instead. It also adds new test cases. Task-number: QTBUG-58245 Change-Id: I1563d541b0c9fef1254b5fb728308fb2517ed3aa Reviewed-by: Andy Shaw Reviewed-by: Edward Welbourne --- .../files/fractiondigits-invalid.xml | 5 +++++ .../xmlpatternsvalidator/files/fractiondigits-nodot.xml | 5 +++++ .../files/fractiondigits-nonumber.xml | 5 +++++ .../xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp | 17 ++++++++++++++++- 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 tests/auto/xmlpatternsvalidator/files/fractiondigits-invalid.xml create mode 100644 tests/auto/xmlpatternsvalidator/files/fractiondigits-nodot.xml create mode 100644 tests/auto/xmlpatternsvalidator/files/fractiondigits-nonumber.xml (limited to 'tests') diff --git a/tests/auto/xmlpatternsvalidator/files/fractiondigits-invalid.xml b/tests/auto/xmlpatternsvalidator/files/fractiondigits-invalid.xml new file mode 100644 index 0000000..893c837 --- /dev/null +++ b/tests/auto/xmlpatternsvalidator/files/fractiondigits-invalid.xml @@ -0,0 +1,5 @@ + + + 1234.560000000000000001 + + diff --git a/tests/auto/xmlpatternsvalidator/files/fractiondigits-nodot.xml b/tests/auto/xmlpatternsvalidator/files/fractiondigits-nodot.xml new file mode 100644 index 0000000..6024b9e --- /dev/null +++ b/tests/auto/xmlpatternsvalidator/files/fractiondigits-nodot.xml @@ -0,0 +1,5 @@ + + + 123456 + + diff --git a/tests/auto/xmlpatternsvalidator/files/fractiondigits-nonumber.xml b/tests/auto/xmlpatternsvalidator/files/fractiondigits-nonumber.xml new file mode 100644 index 0000000..ef17df3 --- /dev/null +++ b/tests/auto/xmlpatternsvalidator/files/fractiondigits-nonumber.xml @@ -0,0 +1,5 @@ + + + .56 + + diff --git a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp index 8a11418..79f86d9 100644 --- a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp +++ b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp @@ -227,11 +227,26 @@ void tst_XmlPatternsValidator::xsdSupport_data() const << (QStringList() << path + QLatin1String("substitution-group-invalid.xml") << path + QLatin1String("substitution-group.xsd")) << QString(); - QTest::newRow("QTBUG-58245 fraction digits shouldn't take trailing 0 into account") + QTest::newRow("QTBUG-58245 fraction digits should ignore trailing 0") << 0 << (QStringList() << path + QLatin1String("fractiondigits.xml") << path + QLatin1String("fractiondigits.xsd")) << QString(); + QTest::newRow("QTBUG-58245 fraction digits should ignore trailing 0 with no dots") + << 0 + << (QStringList() << path + QLatin1String("fractiondigits-nodot.xml") + << path + QLatin1String("fractiondigits.xsd")) + << QString(); + QTest::newRow("QTBUG-58245 fraction digits should ignore trailing 0 with no number before dot") + << 0 + << (QStringList() << path + QLatin1String("fractiondigits-nonumber.xml") + << path + QLatin1String("fractiondigits.xsd")) + << QString(); + QTest::newRow("QTBUG-58245 fraction digits should ignore trailing 0 invalid") + << 1 + << (QStringList() << path + QLatin1String("fractiondigits-invalid.xml") + << path + QLatin1String("fractiondigits.xsd")) + << QString(); } QTEST_MAIN(tst_XmlPatternsValidator) -- cgit v1.2.1