57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			V
		
	
	
import cli
 | 
						|
 | 
						|
fn test_if_string_flag_parses() {
 | 
						|
	mut flag := cli.Flag{
 | 
						|
		flag: .string,
 | 
						|
		name: 'flag',
 | 
						|
	}
 | 
						|
 | 
						|
	flag.parse(['--flag', 'value']) or { panic(err) }
 | 
						|
	assert flag.value == 'value'
 | 
						|
 | 
						|
	flag.parse(['--flag=value']) or { panic(err) }
 | 
						|
	assert flag.value == 'value'
 | 
						|
}
 | 
						|
 | 
						|
fn test_if_bool_flag_parses() {
 | 
						|
	mut flag := cli.Flag{
 | 
						|
		flag: .bool,
 | 
						|
		name: 'flag',
 | 
						|
	}
 | 
						|
 | 
						|
	flag.parse(['--flag']) or { panic(err) }
 | 
						|
	assert flag.value == 'true'
 | 
						|
 | 
						|
	flag.parse(['--flag', 'true']) or { panic(err) }
 | 
						|
	assert flag.value == 'true'
 | 
						|
 | 
						|
	flag.parse(['--flag=true']) or { panic(err) }
 | 
						|
	assert flag.value == 'true'
 | 
						|
}
 | 
						|
 | 
						|
fn test_if_int_flag_parses() {
 | 
						|
	mut flag := cli.Flag{
 | 
						|
		flag: .int,
 | 
						|
		name: 'flag',
 | 
						|
	}
 | 
						|
 | 
						|
	flag.parse(['--flag', '42']) or { panic(err) }
 | 
						|
	assert flag.value.int() == 42
 | 
						|
 | 
						|
	flag.parse(['--flag=42']) or { panic(err) }
 | 
						|
	assert flag.value.int() == 42
 | 
						|
}
 | 
						|
 | 
						|
fn test_if_float_flag_parses() {
 | 
						|
	mut flag := cli.Flag{
 | 
						|
		flag: .float,
 | 
						|
		name: 'flag',
 | 
						|
	}
 | 
						|
 | 
						|
	flag.parse(['--flag', '3.14159']) or { panic(err) }
 | 
						|
	assert flag.value.f32() == 3.14159
 | 
						|
 | 
						|
	flag.parse(['--flag=3.14159']) or { panic(err) }
 | 
						|
	assert flag.value.f32() == 3.14159
 | 
						|
}
 |