diff options
author | Josh Haberman <jhaberman@gmail.com> | 2014-07-24 09:04:46 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2014-07-24 09:04:46 -0700 |
commit | d493500abc6def6b62d664990ed821e0a836a6cf (patch) | |
tree | 1ceb65e6866ee63612dd73363944a0fc99a65550 /tests/test_table.cc | |
parent | 47b5e0968aa0ec47f522ba357c159b2450645806 (diff) |
Sync from Google-internal development.
Diffstat (limited to 'tests/test_table.cc')
-rw-r--r-- | tests/test_table.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/test_table.cc b/tests/test_table.cc index 2d08abb..d51138b 100644 --- a/tests/test_table.cc +++ b/tests/test_table.cc @@ -284,6 +284,26 @@ int32_t *get_contiguous_keys(int32_t num) { return buf; } +void test_delete() { + upb_inttable t; + upb_inttable_init(&t, UPB_CTYPE_BOOL); + upb_inttable_insert(&t, 0, upb_value_bool(true)); + upb_inttable_insert(&t, 2, upb_value_bool(true)); + upb_inttable_insert(&t, 4, upb_value_bool(true)); + upb_inttable_compact(&t); + upb_inttable_remove(&t, 0, NULL); + upb_inttable_remove(&t, 2, NULL); + upb_inttable_remove(&t, 4, NULL); + + upb_inttable_iter iter; + for (upb_inttable_begin(&iter, &t); !upb_inttable_done(&iter); + upb_inttable_next(&iter)) { + ASSERT(false); + } + + upb_inttable_uninit(&t); +} + extern "C" { int run_tests(int argc, char *argv[]) { @@ -336,6 +356,9 @@ int run_tests(int argc, char *argv[]) { } test_inttable(keys4, 64, "Table size: 64, keys: 1-32 and 10133-10164 ====\n"); delete[] keys4; + + test_delete(); + return 0; } |