diff options
-rw-r--r-- | lib/pure/collections/tables.nim | 7 | ||||
-rw-r--r-- | tests/collections/ttables.nim | 42 |
2 files changed, 25 insertions, 24 deletions
diff --git a/lib/pure/collections/tables.nim b/lib/pure/collections/tables.nim index 57e98bf5c..00a81b8d5 100644 --- a/lib/pure/collections/tables.nim +++ b/lib/pure/collections/tables.nim @@ -814,11 +814,14 @@ proc len*[A](t: CountTable[A]): int = ## returns the number of keys in `t`. result = t.counter -proc clear*[A](t: var CountTable[A] | CountTableRef[A]) = +proc clear*[A](t: CountTableRef[A]) = ## Resets the table so that it is empty. clearImpl() - t.counter = 0 +proc clear*[A](t: var CountTable[A]) = + ## Resets the table so that it is empty. + clearImpl() + iterator pairs*[A](t: CountTable[A]): (A, int) = ## iterates over any (key, value) pair in the table `t`. for h in 0..high(t.data): diff --git a/tests/collections/ttables.nim b/tests/collections/ttables.nim index ef5ed92f5..0e06bc26f 100644 --- a/tests/collections/ttables.nim +++ b/tests/collections/ttables.nim @@ -190,28 +190,26 @@ block zeroHashKeysTest: doZeroHashValueTest(toOrderedTable[string,string]({"egg": "sausage"}), "", "spam") -# Until #4448 is fixed, these tests will fail -when false: - block clearTableTest: - var t = data.toTable - assert t.len() != 0 - t.clear() - assert t.len() == 0 - - block clearOrderedTableTest: - var t = data.toOrderedTable - assert t.len() != 0 - t.clear() - assert t.len() == 0 - - block clearCountTableTest: - var t = initCountTable[string]() - t.inc("90", 3) - t.inc("12", 2) - t.inc("34", 1) - assert t.len() != 0 - t.clear() - assert t.len() == 0 +block clearTableTest: + var t = data.toTable + assert t.len() != 0 + t.clear() + assert t.len() == 0 + +block clearOrderedTableTest: + var t = data.toOrderedTable + assert t.len() != 0 + t.clear() + assert t.len() == 0 + +block clearCountTableTest: + var t = initCountTable[string]() + t.inc("90", 3) + t.inc("12", 2) + t.inc("34", 1) + assert t.len() != 0 + t.clear() + assert t.len() == 0 proc orderedTableSortTest() = var t = initOrderedTable[string, int](2) |