Smalyshev has uploaded a new change for review. https://gerrit.wikimedia.org/r/284071
Change subject: Fix handling of bad months ...................................................................... Fix handling of bad months Change-Id: I104e2ae8a17e1e888f7e6c12364f52822d76065d --- M common/src/main/java/org/wikidata/query/rdf/common/WikibaseDate.java M common/src/test/java/org/wikidata/query/rdf/common/WikibaseDateUnitTest.java 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikidata/query/rdf refs/changes/71/284071/1 diff --git a/common/src/main/java/org/wikidata/query/rdf/common/WikibaseDate.java b/common/src/main/java/org/wikidata/query/rdf/common/WikibaseDate.java index c185a99..cd02297 100644 --- a/common/src/main/java/org/wikidata/query/rdf/common/WikibaseDate.java +++ b/common/src/main/java/org/wikidata/query/rdf/common/WikibaseDate.java @@ -201,6 +201,10 @@ if (month == 0) { newMonth = 1; } + if (month > 12) { + newYear += (month - 1) / 12; + newMonth = (month - 1) % 12 + 1; + } if (day == 0) { newDay = 1; } else { diff --git a/common/src/test/java/org/wikidata/query/rdf/common/WikibaseDateUnitTest.java b/common/src/test/java/org/wikidata/query/rdf/common/WikibaseDateUnitTest.java index dc07562..8bedba0 100644 --- a/common/src/test/java/org/wikidata/query/rdf/common/WikibaseDateUnitTest.java +++ b/common/src/test/java/org/wikidata/query/rdf/common/WikibaseDateUnitTest.java @@ -113,6 +113,14 @@ } @Test + public void badMonth() { + WikibaseDate wbDate = fromString("1844-13-31T00:00:00Z"); + wbDate = wbDate.cleanWeirdStuff(); + assertEquals(1845, wbDate.year()); + assertEquals(1, wbDate.month()); + } + + @Test @Repeat(iterations = 100) public void randomDate() { // Build a valid random date -- To view, visit https://gerrit.wikimedia.org/r/284071 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I104e2ae8a17e1e888f7e6c12364f52822d76065d Gerrit-PatchSet: 1 Gerrit-Project: wikidata/query/rdf Gerrit-Branch: master Gerrit-Owner: Smalyshev <smalys...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits