v2 / vlib / v / tests / fns / map_index_call_test.v
39 lines · 32 sloc · 489 bytes · 2f8b2c50e85b1c6b0a8906b0046504de1ed599e2
Raw
1fn func(arg string) ?int {
2 return 2
3}
4
5fn func2(arg string) int {
6 return 2
7}
8
9fn func3(arg string) fn (string) int {
10 return func2
11}
12
13fn func4(arg string) fn (string) ?int {
14 return func
15}
16
17fn test_main() {
18 map1 := {
19 'f': func
20 }
21 ret := map1['f']('test')?
22 assert ret == 2
23
24 map2 := {
25 'f': func2
26 }
27 ret2 := map2['f']('test')
28 assert ret2 == 2
29
30 map3 := {
31 'f': func3
32 }
33 assert map3['f']('test')('test') == 2
34
35 map4 := {
36 'f': func4
37 }
38 assert map4['f']('test')('test')? == 2
39}
40