[Libreoffice-commits] .: sax/qa sax/source
Eike Rathke
erack at kemper.freedesktop.org
Thu Dec 1 14:00:46 PST 2011
sax/qa/cppunit/test_converter.cxx | 8 +++-----
sax/source/tools/converter.cxx | 7 +------
2 files changed, 4 insertions(+), 11 deletions(-)
New commits:
commit a97a5310f921a483d0d11a98cd18185890bcccbc
Author: Eike Rathke <erack at redhat.com>
Date: Thu Dec 1 23:00:07 2011 +0100
we are W3C XMLSchema here, not ISO 8601
diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx
index 17d1303..64bbf29 100644
--- a/sax/qa/cppunit/test_converter.cxx
+++ b/sax/qa/cppunit/test_converter.cxx
@@ -215,13 +215,11 @@ void ConverterTest::testDateTime()
doTest( util::DateTime(0, 0, 0, 24, 1, 1, 333)
/*(0, 0, 0, 0, 2, 1, 333)*/,
"0333-01-01T24:00:00"/*, "0333-01-02T00:00:00"*/ );
- // A leading ^+ is NOT invalid, ISO 8601 specifies this for explicit AD/CE.
- doTest( util::DateTime(0, 0, 0, 0, 1, 1, 1),
- "+0001-01-01T00:00:00", "0001-01-01T00:00:00" );
- // While ISO 8601 specifies a minimum of 4 year digits we are lenient in
- // what we accept.
+ // While W3C XMLSchema specifies a minimum of 4 year digits we are lenient
+ // in what we accept.
doTest( util::DateTime(0, 0, 0, 0, 1, 1, 1),
"1-01-01T00:00:00", "0001-01-01T00:00:00" );
+ doTestDateTimeF( "+0001-01-01T00:00:00" ); // invalid: ^+
doTestDateTimeF( "0001-1-01T00:00:00" ); // invalid: < 2 M
doTestDateTimeF( "0001-01-1T00:00:00" ); // invalid: < 2 D
doTestDateTimeF( "0001-01-01T0:00:00" ); // invalid: < 2 H
diff --git a/sax/source/tools/converter.cxx b/sax/source/tools/converter.cxx
index 0c0779b..f2dea8a 100644
--- a/sax/source/tools/converter.cxx
+++ b/sax/source/tools/converter.cxx
@@ -1352,16 +1352,11 @@ bool Converter::convertDateOrDateTime(
//Negative Number
++nPos;
}
- else if (sal_Unicode('+') == string[nPos])
- {
- //Positive Number, explicit AD/CE
- ++nPos;
- }
}
sal_Int32 nYear(0);
{
- // While ISO 8601 specifies years with a minimum of 4 digits, be
+ // While W3C XMLSchema specifies years with a minimum of 4 digits, be
// leninent in what we accept for years < 1000. One digit is acceptable
// if the remainders match.
bSuccess = readDateTimeComponent(string, nPos, nYear, 1, false);
More information about the Libreoffice-commits
mailing list