|  | @@ -0,0 +1,25 @@
 | 
	
		
			
				|  |  | +package json
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import (
 | 
	
		
			
				|  |  | +	"net"
 | 
	
		
			
				|  |  | +	"testing"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	v2net "github.com/v2ray/v2ray-core/common/net"
 | 
	
		
			
				|  |  | +	v2testing "github.com/v2ray/v2ray-core/testing"
 | 
	
		
			
				|  |  | +	"github.com/v2ray/v2ray-core/testing/assert"
 | 
	
		
			
				|  |  | +)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func makeDestination(ip string) v2net.Destination {
 | 
	
		
			
				|  |  | +	return v2net.NewTCPDestination(v2net.IPAddress(net.ParseIP(ip), 80))
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func TestChinaIP(t *testing.T) {
 | 
	
		
			
				|  |  | +	v2testing.Current(t)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	rule := &ChinaIPRule{}
 | 
	
		
			
				|  |  | +	assert.Bool(rule.Apply(makeDestination("121.14.1.189"))).IsTrue()    // sina.com.cn
 | 
	
		
			
				|  |  | +	assert.Bool(rule.Apply(makeDestination("101.226.103.106"))).IsTrue() // qq.com
 | 
	
		
			
				|  |  | +	assert.Bool(rule.Apply(makeDestination("115.239.210.36"))).IsTrue()  // image.baidu.com
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	assert.Bool(rule.Apply(makeDestination("8.8.8.8"))).IsFalse()
 | 
	
		
			
				|  |  | +}
 |