v/vlib/cli/flag_test.v

76 lines
1.6 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',
}
mut value := false
flag.parse(['--flag']) 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
flag.parse(['--flag=true']) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == true
flag.parse(['--flag', 'false']) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == false
flag.parse(['--flag=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']) or { panic(err) }
value = flag.get_int() or { panic(err) }
assert value == 42
flag.parse(['--flag=42']) 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']) or { panic(err) }
value = flag.get_float() or { panic(err) }
assert value == 3.14159
flag.parse(['--flag=3.14159']) or { panic(err) }
assert flag.value.f64() == 3.14159
value = flag.get_float() or { panic(err) }
assert value == 3.14159
}