From 227e2aae518213ccc6ad3553552a30ceb9529729 Mon Sep 17 00:00:00 2001 From: potassium Date: Wed, 24 Dec 2025 02:28:26 +0300 Subject: [PATCH] i forgot something --- util.go | 24 ++++++++++++++++++++++++ util_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 util.go create mode 100644 util_test.go diff --git a/util.go b/util.go new file mode 100644 index 0000000..13fb7fb --- /dev/null +++ b/util.go @@ -0,0 +1,24 @@ +package parser + +import ( + "fmt" + "regexp" + "strings" +) + +func containsWord(s, substr string) (match bool) { + var err error + for _, field := range strings.Fields(s) { + match, err = regexp.MatchString( + fmt.Sprintf("^%s$", substr), + field, + ) + if err != nil { + println(err) + } + if match { + return + } + } + return +} diff --git a/util_test.go b/util_test.go new file mode 100644 index 0000000..dedb202 --- /dev/null +++ b/util_test.go @@ -0,0 +1,42 @@ +package parser + +import "testing" + +func TestContainsWord(t *testing.T) { + tests := []struct { + input []string + want bool + }{ + { + []string{ + "card-header card", + "card", + }, + true, + }, + { + []string{ + "card-body card-header", + "card-header", + }, + true, + }, + { + []string{ + "card-body card-header", + "card", + }, + false, + }, + } + + for _, test := range tests { + got := containsWord( + test.input[0], + test.input[1], + ) + if got != test.want { + t.Errorf("got: %t, want %t", got, test.want) + } + } +}