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