mirror of
https://github.com/vlang/v.git
synced 2025-08-03 17:57:59 -04:00
26 lines
874 B
V
26 lines
874 B
V
import flag
|
|
|
|
const edge_case = ['appimage', '-v', '3', '-o', '/tmp/lol.appimage', '/home/user/Projects/game/']
|
|
|
|
pub struct AppImageOptions {
|
|
pub:
|
|
verbosity int @[short: v; xdoc: 'Verbosity level 1-3']
|
|
dump_usage bool @[long: help; short: h; xdoc: 'Show this help message and exit']
|
|
show_version bool @[long: version; xdoc: 'Output version information and exit']
|
|
pub mut:
|
|
input string @[tail]
|
|
output string @[short: o; xdoc: 'Path to output (dir/file)']
|
|
assets []string @[short: a; xdoc: 'Asset dir(s) to include in build']
|
|
}
|
|
|
|
fn test_edge_case() {
|
|
aio, no_matches := flag.to_struct[AppImageOptions](edge_case, skip: 1)!
|
|
assert aio.verbosity == 3
|
|
assert aio.output == '/tmp/lol.appimage'
|
|
assert aio.input == '/home/user/Projects/game/'
|
|
assert aio.dump_usage == false
|
|
assert aio.show_version == false
|
|
assert aio.assets == []
|
|
assert no_matches == []
|
|
}
|