mirror of
				https://github.com/v2fly/v2ray-core.git
				synced 2025-10-31 09:49:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package platform_test
 | |
| 
 | |
| import (
 | |
| 	"os"
 | |
| 	"path/filepath"
 | |
| 	"testing"
 | |
| 
 | |
| 	. "v2ray.com/core/common/platform"
 | |
| 	. "v2ray.com/ext/assert"
 | |
| )
 | |
| 
 | |
| func TestNormalizeEnvName(t *testing.T) {
 | |
| 	assert := With(t)
 | |
| 
 | |
| 	cases := []struct {
 | |
| 		input  string
 | |
| 		output string
 | |
| 	}{
 | |
| 		{
 | |
| 			input:  "a",
 | |
| 			output: "A",
 | |
| 		},
 | |
| 		{
 | |
| 			input:  "a.a",
 | |
| 			output: "A_A",
 | |
| 		},
 | |
| 		{
 | |
| 			input:  "A.A.B",
 | |
| 			output: "A_A_B",
 | |
| 		},
 | |
| 	}
 | |
| 	for _, test := range cases {
 | |
| 		assert(NormalizeEnvName(test.input), Equals, test.output)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestEnvFlag(t *testing.T) {
 | |
| 	assert := With(t)
 | |
| 
 | |
| 	assert(EnvFlag{
 | |
| 		Name: "xxxxx.y",
 | |
| 	}.GetValueAsInt(10), Equals, 10)
 | |
| }
 | |
| 
 | |
| func TestGetAssetLocation(t *testing.T) {
 | |
| 	assert := With(t)
 | |
| 
 | |
| 	exec, err := os.Executable()
 | |
| 	assert(err, IsNil)
 | |
| 
 | |
| 	loc := GetAssetLocation("t")
 | |
| 	assert(filepath.Dir(loc), Equals, filepath.Dir(exec))
 | |
| 
 | |
| 	os.Setenv("v2ray.location.asset", "/v2ray")
 | |
| 	assert(GetAssetLocation("t"), Equals, "/v2ray/t")
 | |
| }
 | |
| 
 | |
| func TestGetPluginLocation(t *testing.T) {
 | |
| 	assert := With(t)
 | |
| 
 | |
| 	exec, err := os.Executable()
 | |
| 	assert(err, IsNil)
 | |
| 
 | |
| 	loc := GetPluginDirectory()
 | |
| 	assert(loc, Equals, filepath.Join(filepath.Dir(exec), "plugins"))
 | |
| 
 | |
| 	os.Setenv("V2RAY_LOCATION_PLUGIN", "/v2ray")
 | |
| 	assert(GetPluginDirectory(), Equals, "/v2ray")
 | |
| }
 | 
