| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- package strmatcher_test
 
- import (
 
- 	"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,
 
- 		},
 
- 		{
 
- 			pattern: "v2ray.com",
 
- 			mType:   Regex,
 
- 			input:   "v2rayxcom",
 
- 			output:  true,
 
- 		},
 
- 	}
 
- 	for _, test := range cases {
 
- 		matcher, err := test.mType.New(test.pattern)
 
- 		common.Must(err)
 
- 		assert(matcher.Match(test.input) == test.output, ast.IsTrue)
 
- 	}
 
- }
 
 
  |