From a980487f60bf3bd93d6a65f1293664941508e753 Mon Sep 17 00:00:00 2001 From: oudwins Date: Sun, 7 Jul 2024 16:13:49 +0200 Subject: [PATCH 1/3] chore: installed testing lib --- go.mod | 8 ++++++++ go.sum | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/go.mod b/go.mod index 4829cae..4511458 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,11 @@ module github.com/Oudwins/tailwind-merge-go go 1.21.5 + +require github.com/stretchr/testify v1.9.0 + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum index e69de29..60ce688 100644 --- a/go.sum +++ b/go.sum @@ -0,0 +1,10 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From aaa3bfa6023352b4ed225bf5249fcd87f2d05365 Mon Sep 17 00:00:00 2001 From: oudwins Date: Sun, 7 Jul 2024 16:14:26 +0200 Subject: [PATCH 2/3] test: test cases for bug --- pkg/twmerge/validators_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 pkg/twmerge/validators_test.go diff --git a/pkg/twmerge/validators_test.go b/pkg/twmerge/validators_test.go new file mode 100644 index 0000000..c521c0f --- /dev/null +++ b/pkg/twmerge/validators_test.go @@ -0,0 +1,23 @@ +package twmerge + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestArbitraryShadow(t *testing.T) { + assert.Equal(t, IsArbitraryShadow("[inset_0_1px_0,inset_0_-1px_0]"), true) + assert.Equal(t, IsArbitraryShadow("[0_35px_60px_-15px_rgba(0,0,0,0.3)]"), true) + assert.Equal(t, IsArbitraryShadow("[inset_0_1px_0,inset_0_-1px_0]"), true) + assert.Equal(t, IsArbitraryShadow("[0_0_#00f]"), true) + assert.Equal(t, IsArbitraryShadow("[.5rem_0_rgba(5,5,5,5)]"), true) + assert.Equal(t, IsArbitraryShadow("[-.5rem_0_#123456]"), true) + assert.Equal(t, IsArbitraryShadow("[0.5rem_-0_#123456]"), true) + assert.Equal(t, IsArbitraryShadow("[0.5rem_-0.005vh_#123456]"), true) + assert.Equal(t, IsArbitraryShadow("[0.5rem_-0.005vh]"), true) + + assert.Equal(t, IsArbitraryShadow("[rgba(5,5,5,5)]"), false) + assert.Equal(t, IsArbitraryShadow("[#00f]"), false) + assert.Equal(t, IsArbitraryShadow("[something-else]"), false) +} From 5dba2a824393b56696ecb5aa393158265ce8ec91 Mon Sep 17 00:00:00 2001 From: oudwins Date: Sun, 7 Jul 2024 16:14:39 +0200 Subject: [PATCH 3/3] fix: fixed regex --- pkg/twmerge/validators.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/twmerge/validators.go b/pkg/twmerge/validators.go index 24ba460..fa6b00a 100644 --- a/pkg/twmerge/validators.go +++ b/pkg/twmerge/validators.go @@ -76,7 +76,7 @@ func IsTshirtSize(val string) bool { } func IsShadow(val string) bool { - pattern := regexp.MustCompile(`^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)`) + pattern := regexp.MustCompile(`^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)`) return pattern.MatchString(val) }