1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

map: fix m[a]++ etc

This commit is contained in:
yuyi
2020-06-25 02:41:26 +08:00
committed by GitHub
parent 955c0b1576
commit 67d9d94fb3
3 changed files with 69 additions and 10 deletions

View File

@ -239,13 +239,40 @@ fn test_map_assign() {
's': u16(5)
't': 3
}
d := Mstruct1 {
_ := Mstruct1 {
{ 'p': 12 }
}
e := Mstruct2 {
_ := Mstruct2 {
{ 'q': 1.7 }
}
f := Mstruct3 {
_ := Mstruct3 {
{ 'r': u16(6), 's': 5 }
}
}
fn test_postfix_op_directly() {
mut a := map[string]int
a['aaa']++
assert a['aaa'] == 1
a['aaa']++
assert a['aaa'] == 2
a['bbb']--
assert a['bbb'] == -1
a['bbb']--
assert a['bbb'] == -2
}
fn test_map_push_directly() {
mut a := map[string][]string
a['aaa'] << ['a', 'b', 'c']
assert a['aaa'].len == 3
assert a['aaa'] == ['a', 'b', 'c']
}
fn test_assign_directly() {
mut a := map[string]int
a['aaa'] += 4
assert a['aaa'] == 4
a['aaa'] -= 2
assert a['aaa'] == 2
}