@@ -389,6 +389,45 @@ def test_parse_value_time_custom_calendar(self):
389389 }
390390 self .assertEqual (parser .parse_value ("+1967-00-00T00:00:00Z/9/C999999" ), ret )
391391
392+ def test_parse_value_time_without_plus_adds_plus (self ):
393+ parser = BaseParser ()
394+ ret = {
395+ "type" : "time" ,
396+ "value" : {
397+ "time" : "+1967-01-17T00:00:00Z" ,
398+ "precision" : 11 ,
399+ "calendarmodel" : "http://www.wikidata.org/entity/Q1985727" ,
400+ },
401+ }
402+ self .assertEqual (parser .parse_value ("1967-01-17T00:00:00Z/11" ), ret )
403+ ret = {
404+ "type" : "time" ,
405+ "value" : {
406+ "time" : "+2026-01-01T00:00:00Z" ,
407+ "precision" : 9 ,
408+ "calendarmodel" : "http://www.wikidata.org/entity/Q1985727" ,
409+ },
410+ }
411+ self .assertEqual (parser .parse_value ("2026-01-01T00:00:00Z/9" ), ret )
412+ ret = {
413+ "type" : "time" ,
414+ "value" : {
415+ "time" : "-1967-01-00T00:00:00Z" ,
416+ "precision" : 10 ,
417+ "calendarmodel" : "http://www.wikidata.org/entity/Q1985727" ,
418+ },
419+ }
420+ self .assertEqual (parser .parse_value ("-1967-01-00T00:00:00Z/10" ), ret )
421+
422+ def test_parse_value_time_other_signs_are_none (self ):
423+ parser = BaseParser ()
424+ self .assertIsNone (parser .parse_value ("x1967-01-01T00:00:00Z/10" ))
425+ self .assertIsNone (parser .parse_value ("_1967-01-01T00:00:00Z/10" ))
426+ self .assertIsNone (parser .parse_value (":1967-01-01T00:00:00Z/10" ))
427+ self .assertIsNone (parser .parse_value (";1967-01-01T00:00:00Z/10" ))
428+ self .assertIsNone (parser .parse_value ("=1967-01-01T00:00:00Z/10" ))
429+ self .assertIsNone (parser .parse_value ("s1967-01-01T00:00:00Z/10" ))
430+
392431 def test_parse_value_location_earth (self ):
393432 parser = BaseParser ()
394433 ret = {
0 commit comments