@@ -19,6 +19,7 @@ type dateTest struct {
1919 err bool
2020 preferDayFirst bool
2121 retryAmbiguous bool
22+ expectAmbiguous bool
2223}
2324
2425var testInputs = []dateTest {
@@ -847,21 +848,30 @@ func TestParseLayout(t *testing.T) {
847848
848849var testParseStrict = []dateTest {
849850 // dd-mon-yy 13-Feb-03
850- {in : "03-03-14" , err : true },
851+ {in : "03-03-14" , err : true , expectAmbiguous : true },
851852 // mm.dd.yyyy
852- {in : "3.3.2014" , err : true },
853+ {in : "3.3.2014" , err : true , expectAmbiguous : true },
853854 // mm.dd.yy
854- {in : "08.09.71" , err : true },
855+ {in : "08.09.71" , err : true , expectAmbiguous : true },
855856 // mm/dd/yyyy
856- {in : "3/5/2014" , err : true },
857+ {in : "3/5/2014" , err : true , expectAmbiguous : true },
857858 // mm/dd/yy
858- {in : "08/08/71" , err : true },
859- {in : "8/8/71" , err : true },
859+ {in : "08/08/71" , err : true , expectAmbiguous : true },
860+ {in : "8/8/71" , err : true , expectAmbiguous : true },
860861 // mm/dd/yy hh:mm:ss
861- {in : "04/02/2014 04:08:09" , err : true },
862- {in : "4/2/2014 04:08:09" , err : true },
862+ {in : "04/02/2014 04:08:09" , err : true , expectAmbiguous : true },
863+ {in : "4/2/2014 04:08:09" , err : true , expectAmbiguous : true },
863864 {in : `{"hello"}` , err : true },
864865 {in : "2009-08-12T22:15Z" },
866+ // https://github.com/araddon/dateparse/issues/91
867+ {in : "3.31.2014" , err : true , expectAmbiguous : true },
868+ {in : "3.3.2014" , err : true , expectAmbiguous : true },
869+ {in : "03.31.2014" , err : true , expectAmbiguous : true },
870+ {in : "08.21.71" , err : true , expectAmbiguous : true },
871+ {in : "3/31/2014" , err : true , expectAmbiguous : true },
872+ {in : "3/3/2014" , err : true , expectAmbiguous : true },
873+ {in : "03/31/2014" , err : true , expectAmbiguous : true },
874+ {in : "08/21/71" , err : true , expectAmbiguous : true },
865875}
866876
867877func TestParseStrict (t * testing.T ) {
@@ -871,6 +881,9 @@ func TestParseStrict(t *testing.T) {
871881 _ , err := ParseStrict (th .in )
872882 if th .err {
873883 assert .NotEqual (t , nil , err )
884+ if th .expectAmbiguous {
885+ assert .Contains (t , err .Error (), ErrAmbiguousMMDD .Error (), "expected ambiguous" )
886+ }
874887 } else {
875888 assert .Equal (t , nil , err )
876889 }
0 commit comments