v2 / vlib / v / tests / options / option_array_fixed_test.v
35 lines · 28 sloc · 521 bytes · 2fbb3df9fa97168d52bf40bd62605ee4b19c7fc4
Raw
1module main
2
3type Arr = [4]u8
4
5fn foo(a int) ?Arr {
6 if a > 0 {
7 return Arr([u8(1), 2, 3, 4]!)
8 }
9 return none
10}
11
12fn bar(a int) !Arr {
13 if a > 0 {
14 return Arr([u8(1), 2, 3, 4]!)
15 }
16 return error('')
17}
18
19fn test_main() {
20 f := foo(1) or { Arr([u8(0), 0, 0, 0]!) }
21 dump(f)
22 assert f == [u8(1), 2, 3, 4]!
23
24 ff := foo(0)
25 dump(ff)
26 assert ff == none
27
28 b := bar(1) or { Arr([u8(0), 0, 0, 0]!) }
29 dump(f)
30 assert b == [u8(1), 2, 3, 4]!
31
32 bb := bar(0) or { Arr([u8(0), 0, 0, 0]!) }
33 dump(bb)
34 assert bb == [u8(0), 0, 0, 0]!
35}
36