v2 / vlib / v / tests / options / var_option_arr_test.v
36 lines · 30 sloc · 561 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn abc() ?[]int {
2 return [1, 2, 3]
3}
4
5fn arr_opt(arr ?[]string) ? {
6 assert arr != none
7 assert arr?.len != 0
8
9 for k, v in arr {
10 assert arr?[k] == 'foo'
11 assert v == 'foo'
12 }
13}
14
15fn test_main() {
16 mut var2 := abc()?
17 assert var2.len == 3
18
19 mut var := ?[]int{}
20 assert var == none
21 if var == none {
22 var = [1]
23 }
24 assert var != none
25 assert var?[0] == 1
26 assert var?.len == 1
27
28 mut var3 := ?[]string{}
29 assert var3 == none
30 var3 = ['foo']
31 assert var3 != none
32
33 arr_opt(var3)
34 arr_opt([]string{len: 4, init: 'foo'})
35 arr_opt(['foo', 'foo', 'foo', 'foo'])
36}
37