Skip to content

Commit 8f0059d

Browse files
Add tests to verify ambiguous cases
Test cases now validates the following is true: * Fixed araddon#91 * Fixed araddon#28 (previous commits already addresses these issues, these tests ensure that these issues remain fixed)
1 parent df9ae2e commit 8f0059d

1 file changed

Lines changed: 21 additions & 8 deletions

File tree

parseany_test.go

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ type dateTest struct {
1919
err bool
2020
preferDayFirst bool
2121
retryAmbiguous bool
22+
expectAmbiguous bool
2223
}
2324

2425
var testInputs = []dateTest{
@@ -847,21 +848,30 @@ func TestParseLayout(t *testing.T) {
847848

848849
var 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

867877
func 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

Comments
 (0)