vxx2 / vlib / v / tests / builtin_maps / map_key_expr_test.v
36 lines · 31 sloc · 502 bytes · 27f394507e26c13f3d1bd3a8868f7b649038e2fd
Raw
1const alpha = 'a'
2const beta = 'b'
3const m = {
4 alpha: 'Alpha'
5 beta: 'Beta'
6}
7
8fn test_const_keys() {
9 assert m[alpha] == 'Alpha'
10 assert m[beta] == 'Beta'
11}
12
13enum Enum {
14 a
15 b
16}
17
18const m2 = {
19 Enum.a.str(): 'first'
20 Enum.b.str(): 'second'
21}
22
23fn test_method_call() {
24 assert m2.keys() == ['a', 'b']
25 assert m2[Enum.a.str()] == 'first'
26 assert m2[Enum.b.str()] == 'second'
27}
28
29fn test_parenthesized_comparison_key() {
30 a := 1
31 b := 1
32 m3 := {
33 (a == b).str(): 'same'
34 }
35 assert m3['true'] == 'same'
36}
37