1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/cli/flag_test.v

80 lines
2.0 KiB
V
Raw Normal View History

2019-11-21 15:03:12 +03:00
import cli
fn test_if_string_flag_parses() {
mut flag := cli.Flag{
flag: .string
name: 'flag'
}
2020-12-21 22:23:40 +03:00
flag.parse(['-flag', 'value'], false) or { panic(err) }
2019-11-21 15:03:12 +03:00
assert flag.value == 'value'
2020-12-21 22:23:40 +03:00
flag.parse(['-flag=value'], false) or { panic(err) }
2019-11-21 15:03:12 +03:00
assert flag.value == 'value'
}
fn test_if_bool_flag_parses() {
mut flag := cli.Flag{
flag: .bool
name: 'flag'
2019-11-21 15:03:12 +03:00
}
mut value := false
2020-12-21 22:23:40 +03:00
flag.parse(['-flag'], false) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == true
2020-12-21 22:23:40 +03:00
flag.parse(['-flag', 'true'], false) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == true
2020-12-21 22:23:40 +03:00
flag.parse(['-flag=true'], false) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == true
2020-12-21 22:23:40 +03:00
flag.parse(['-flag', 'false'], false) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == false
2020-12-21 22:23:40 +03:00
flag.parse(['-flag=false'], false) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == false
2019-11-21 15:03:12 +03:00
}
fn test_if_int_flag_parses() {
mut flag := cli.Flag{
flag: .int
name: 'flag'
2019-11-21 15:03:12 +03:00
}
mut value := 0
2020-12-21 22:23:40 +03:00
flag.parse(['-flag', '42'], false) or { panic(err) }
value = flag.get_int() or { panic(err) }
assert value == 42
2020-12-21 22:23:40 +03:00
flag.parse(['-flag=42'], false) or { panic(err) }
value = flag.get_int() or { panic(err) }
assert value == 42
2019-11-21 15:03:12 +03:00
}
fn test_if_float_flag_parses() {
mut flag := cli.Flag{
flag: .float
name: 'flag'
2019-11-21 15:03:12 +03:00
}
mut value := f64(0)
2020-12-21 22:23:40 +03:00
flag.parse(['-flag', '3.14159'], false) or { panic(err) }
value = flag.get_float() or { panic(err) }
assert value == 3.14159
2020-12-21 22:23:40 +03:00
flag.parse(['-flag=3.14159'], false) or { panic(err) }
2020-04-16 15:50:04 +03:00
assert flag.value.f64() == 3.14159
2020-12-21 22:23:40 +03:00
value = flag.get_float() or { panic(err) }
assert value == 3.14159
2019-11-21 15:03:12 +03:00
}
fn test_if_flag_parses_with_abbrev() {
mut flag := cli.Flag{
flag: .bool
name: 'flag'
abbrev: 'f'
}
mut value := false
2020-12-21 22:23:40 +03:00
flag.parse(['--flag'], true) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == true
2020-12-21 22:23:40 +03:00
flag.parse(['-flag'], true) or { panic(err) }
value = flag.get_bool() or { panic(err) }
assert value == true
}