map: another fix + test

pull/3157/head
Alexander Medvednikov 2019-12-19 21:17:12 +03:00
parent 26f5d34e64
commit 2096018b00
2 changed files with 28 additions and 11 deletions

View File

@ -57,6 +57,7 @@ fn (m mut map) insert(n mut mapnode, key string, val voidptr) {
C.memcpy(n.val, val, m.element_size)
if n.is_empty {
m.size++
n.is_empty = false
}
return
}

View File

@ -189,3 +189,19 @@ fn test_ref() {
}
*/
fn test_delete_size() {
arr := ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
mut m := map[string]int
for _ in 0..10 {
for i in 0..10 {
m[arr[i]] = i
}
assert(m.size == 10)
println(m.size)
for i in 0..10 {
m.delete(arr[i])
}
}
}