v2 / vlib / v / tests / fns / anon_fn_in_containers_test.v
37 lines · 32 sloc · 703 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn test_anon_fn_in_map() {
2 mut woop := {
3 'what': fn () string {
4 return 'whoopity whoop'
5 }
6 }
7 assert woop['what']() == 'whoopity whoop'
8
9 woop['shat'] = fn () string {
10 return 'shoopity shoop'
11 }
12 assert woop['shat']() == 'shoopity shoop'
13}
14
15fn test_anon_fn_in_array() {
16 mut woop := [fn () string {
17 return 'whoopity whoop'
18 }]
19 assert woop[0]() == 'whoopity whoop'
20
21 woop[0] = fn () string {
22 return 'shoopity shoop'
23 }
24 assert woop[0]() == 'shoopity shoop'
25}
26
27fn test_anon_fn_in_fixed_array() {
28 mut woop := [fn () string {
29 return 'whoopity whoop'
30 }]!
31 assert woop[0]() == 'whoopity whoop'
32
33 woop[0] = fn () string {
34 return 'shoopity shoop'
35 }
36 assert woop[0]() == 'shoopity shoop'
37}
38