From 993467bb3cb13d1cd3b276b5e571ea2fecdb86f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=B7=E4=BA=AE?= <739476267@qq.com> Date: Wed, 29 Nov 2023 19:12:21 +0800 Subject: [PATCH] test: add date-format test for RFC3339 (#3181) --- .../gvalid/gvalid_z_unit_feature_rule_test.go | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/util/gvalid/gvalid_z_unit_feature_rule_test.go b/util/gvalid/gvalid_z_unit_feature_rule_test.go index 71b104453..a653dab82 100755 --- a/util/gvalid/gvalid_z_unit_feature_rule_test.go +++ b/util/gvalid/gvalid_z_unit_feature_rule_test.go @@ -311,24 +311,28 @@ func Test_Datetime(t *testing.T) { func Test_DateFormat(t *testing.T) { gtest.C(t, func(t *gtest.T) { - val1 := "2010" - val2 := "201011" - val3 := "2010.11" - val4 := "201011-01" - val5 := "2010~11~01" - val6 := "2010-11~01" - err1 := g.Validator().Data(val1).Rules("date-format:Y").Run(ctx) - err2 := g.Validator().Data(val2).Rules("date-format:Ym").Run(ctx) - err3 := g.Validator().Data(val3).Rules("date-format:Y.m").Run(ctx) - err4 := g.Validator().Data(val4).Rules("date-format:Ym-d").Run(ctx) - err5 := g.Validator().Data(val5).Rules("date-format:Y~m~d").Run(ctx) - err6 := g.Validator().Data(val6).Rules("date-format:Y~m~d").Run(ctx) - t.Assert(err1, nil) - t.Assert(err2, nil) - t.Assert(err3, nil) - t.Assert(err4, nil) - t.Assert(err5, nil) - t.AssertNE(err6, nil) + m := g.MapStrStr{ + "2010": "date-format:Y", + "201011": "date-format:Ym", + "2010.11": "date-format:Y.m", + "201011-01": "date-format:Ym-d", + "2010~11~01": "date-format:Y~m~d", + "2010-11~01": "date-format:Y-m~d", + "2023-09-10T19:46:31Z": "date-format:2006-01-02\\T15:04:05Z07:00", // RFC3339 + } + for k, v := range m { + err := g.Validator().Data(k).Rules(v).Run(ctx) + t.AssertNil(err) + } + }) + gtest.C(t, func(t *gtest.T) { + errM := g.MapStrStr{ + "2010-11~01": "date-format:Y~m~d", + } + for k, v := range errM { + err := g.Validator().Data(k).Rules(v).Run(ctx) + t.AssertNE(err, nil) + } }) gtest.C(t, func(t *gtest.T) { t1 := gtime.Now()