changeset 158:8c6d3494924a

value: Test yref_eq
author Lewin Bormann <lbo@spheniscida.de>
date Tue, 03 Sep 2019 16:54:53 +0200
parents 15825a4a3580
children 28d1b36a05cd
files src/value_test.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/value_test.c	Tue Sep 03 15:36:03 2019 +0200
+++ b/src/value_test.c	Tue Sep 03 16:54:53 2019 +0200
@@ -53,6 +53,8 @@
     assert('A' == *ystr_at(&yvalue_get(second)->value.expr.value.str, 0));
     assert('A' == *ystr_at(&yvalue_get(yref_clone(&first))->value.expr.value.str, 0));
     assert('a' == *ystr_at(&yvalue_get(cloned)->value.expr.value.str, 0));
+
+    // Double-free expected!
 }
 
 void test_value_set(void) {
@@ -104,13 +106,16 @@
 void test_value_refs(void) {
     yref_t ref = yref_new_c("hello");
     assert(YREF_SYM == yref_type(&ref));
+    assert(yref_eq(&ref, &ref));
     yref_destroy(&ref);
     ref = yref_new();
     assert(YREF_ID == yref_type(&ref));
+    assert(yref_eq(&ref, &ref));
     yref_destroy(&ref);
     ref = yref_new_cix(2);
     assert(YREF_STACK == yref_type(&ref));
     assert(2 == yref_cix(&ref));
+    assert(yref_eq(&ref, &ref));
     ystr_t dbg = yref_debug(&ref);
     assert(0 == ystr_cmp_str(&dbg, "id:<stackrel:-2>"));
     ystr_destroy(&dbg);
@@ -123,5 +128,7 @@
     test_value_clone();
     test_value_set();
     test_value_refs();
+    //yvalue_free_all(); test_value_clone does some weird thigns, so we can't free all values.
+    yatom_free_all();
     return 0;
 }