31 lines
1 KiB
Go
31 lines
1 KiB
Go
package firewall
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// prefixedComment splits a stored comment into user text and a prefix signal: a
|
|
// prefix-only tag has the prefix with empty text, a "prefix text" comment has the
|
|
// prefix with the remainder, anything else lacks the prefix and is unchanged, and
|
|
// an empty prefix yields no prefix signal (callers treat that as covering
|
|
// everything).
|
|
func TestPrefixedComment(t *testing.T) {
|
|
cases := []struct {
|
|
prefix, stored string
|
|
wantText string
|
|
wantHasPrefix bool
|
|
}{
|
|
{"myapp", "myapp", "", true},
|
|
{"myapp", "myapp https", "https", true},
|
|
{"myapp", "someone else's note", "someone else's note", false},
|
|
{"myapp", "", "", false},
|
|
{"", "anything at all", "anything at all", false},
|
|
}
|
|
for _, c := range cases {
|
|
text, hasPrefix := prefixedComment(c.prefix, c.stored)
|
|
require.Equal(t, c.wantText, text, "text for (%q,%q)", c.prefix, c.stored)
|
|
require.Equal(t, c.wantHasPrefix, hasPrefix, "hasPrefix for (%q,%q)", c.prefix, c.stored)
|
|
}
|
|
}
|