v2 / vlib / v / tests / if_guard_elseif_test.v
21 lines · 18 sloc · 444 bytes · 17f3c8f8135f9ed0ec43a441ed0de4f1df5a9923
Raw
1fn byte_str(num u32) !string {
2 return if num > 0xff { error('larger than byte') } else { num.str() }
3}
4
5fn short_str(num int) !string {
6 return if num > 0xffff { error('larger than short') } else { num.str() }
7}
8
9fn test_main() {
10 num := u32(0xfffff)
11 mut str := ''
12 if bs := byte_str(num) {
13 str = 'byte: ${bs}'
14 } else if ss := short_str(int(num)) {
15 str = 'short: ${ss}'
16 } else {
17 str = 'err: ${err}'
18 }
19
20 assert str.contains('err:')
21}
22