mirror of
				https://github.com/vlang/v.git
				synced 2023-08-10 21:13:21 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			128 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			V
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			V
		
	
	
	
	
	
| import cli
 | |
| 
 | |
| fn test_if_string_flag_parses() {
 | |
| 	mut flag := cli.Flag{
 | |
| 		flag: .string
 | |
| 		name: 'flag'
 | |
| 	}
 | |
| 	flag.parse(['-flag', 'value'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert flag.value == 'value'
 | |
| 	flag.parse(['-flag=value'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert flag.value == 'value'
 | |
| }
 | |
| 
 | |
| fn test_if_bool_flag_parses() {
 | |
| 	mut flag := cli.Flag{
 | |
| 		flag: .bool
 | |
| 		name: 'flag'
 | |
| 	}
 | |
| 	mut value := false
 | |
| 	flag.parse(['-flag'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == true
 | |
| 	flag.parse(['-flag', 'true'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == true
 | |
| 	flag.parse(['-flag=true'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == true
 | |
| 	flag.parse(['-flag', 'false'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == false
 | |
| 	flag.parse(['-flag=false'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == false
 | |
| }
 | |
| 
 | |
| fn test_if_int_flag_parses() {
 | |
| 	mut flag := cli.Flag{
 | |
| 		flag: .int
 | |
| 		name: 'flag'
 | |
| 	}
 | |
| 	mut value := 0
 | |
| 	flag.parse(['-flag', '42'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_int() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == 42
 | |
| 	flag.parse(['-flag=42'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_int() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == 42
 | |
| }
 | |
| 
 | |
| fn test_if_float_flag_parses() {
 | |
| 	mut flag := cli.Flag{
 | |
| 		flag: .float
 | |
| 		name: 'flag'
 | |
| 	}
 | |
| 	mut value := f64(0)
 | |
| 	flag.parse(['-flag', '3.14159'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_float() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == 3.14159
 | |
| 	flag.parse(['-flag=3.14159'], false) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert flag.value.f64() == 3.14159
 | |
| 	value = flag.get_float() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == 3.14159
 | |
| }
 | |
| 
 | |
| fn test_if_flag_parses_with_abbrev() {
 | |
| 	mut flag := cli.Flag{
 | |
| 		flag: .bool
 | |
| 		name: 'flag'
 | |
| 		abbrev: 'f'
 | |
| 	}
 | |
| 	mut value := false
 | |
| 	flag.parse(['--flag'], true) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == true
 | |
| 	flag.parse(['-flag'], true) or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	value = flag.get_bool() or {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	assert value == true
 | |
| }
 | 
