| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | package strmatcher_testimport (	"testing"	"v2ray.com/core/common"	. "v2ray.com/core/common/strmatcher"	ast "v2ray.com/ext/assert")func TestMatcher(t *testing.T) {	assert := ast.With(t)	cases := []struct {		pattern string		mType   Type		input   string		output  bool	}{		{			pattern: "v2ray.com",			mType:   Domain,			input:   "www.v2ray.com",			output:  true,		},		{			pattern: "v2ray.com",			mType:   Domain,			input:   "v2ray.com",			output:  true,		},		{			pattern: "v2ray.com",			mType:   Domain,			input:   "www.v3ray.com",			output:  false,		},		{			pattern: "v2ray.com",			mType:   Domain,			input:   "2ray.com",			output:  false,		},		{			pattern: "v2ray.com",			mType:   Domain,			input:   "xv2ray.com",			output:  false,		},		{			pattern: "v2ray.com",			mType:   Full,			input:   "v2ray.com",			output:  true,		},		{			pattern: "v2ray.com",			mType:   Full,			input:   "xv2ray.com",			output:  false,		},	}	for _, test := range cases {		matcher, err := test.mType.New(test.pattern)		common.Must(err)		assert(matcher.Match(test.input) == test.output, ast.IsTrue)	}}
 |