diff options
Diffstat (limited to 'data/lighttpd/lighttpd-1.4.53/src/t/test_array.c')
-rw-r--r-- | data/lighttpd/lighttpd-1.4.53/src/t/test_array.c | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/data/lighttpd/lighttpd-1.4.53/src/t/test_array.c b/data/lighttpd/lighttpd-1.4.53/src/t/test_array.c new file mode 100644 index 000000000..79d36ecda --- /dev/null +++ b/data/lighttpd/lighttpd-1.4.53/src/t/test_array.c @@ -0,0 +1,104 @@ +#include "first.h" + +#undef NDEBUG +#include <assert.h> +#include <stdio.h> +#include <stdlib.h> + +#include "array.h" +#include "buffer.h" + +static void test_array_get_int_ptr (void) { + data_integer *di; + int *i; + array *a = array_init(); + + i = array_get_int_ptr(a, CONST_STR_LEN("abc")); + assert(NULL != i); + *i = 4; + i = array_get_int_ptr(a, CONST_STR_LEN("abc")); + assert(NULL != i); + assert(*i == 4); + di = (data_integer *)array_get_element_klen(a, CONST_STR_LEN("does-not-exist")); + assert(NULL == di); + di = (data_integer *)array_get_element_klen(a, CONST_STR_LEN("abc")); + assert(NULL != di); + assert(di->value == 4); + + array_free(a); +} + +static void test_array_insert_value (void) { + data_string *ds; + array *a = array_init(); + + array_insert_value(a, CONST_STR_LEN("def")); + ds = (data_string *)a->data[0]; + assert(NULL != ds); + assert(buffer_is_equal_string(ds->value, CONST_STR_LEN("def"))); + + array_free(a); +} + +static void test_array_insert_key_value (void) { + data_string *ds; + array *a = array_init(); + + array_insert_key_value(a, CONST_STR_LEN("abc"), CONST_STR_LEN("alfrag")); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("does-not-exist")); + assert(NULL == ds); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("abc")); + assert(NULL != ds); + assert(buffer_is_equal_string(ds->key, CONST_STR_LEN("abc"))); + assert(buffer_is_equal_string(ds->value, CONST_STR_LEN("alfrag"))); + + array_insert_key_value(a, CONST_STR_LEN("abc"), CONST_STR_LEN("hameplman")); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("does-not-exist")); + assert(NULL == ds); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("abc")); + assert(NULL != ds); + assert(buffer_is_equal_string(ds->key, CONST_STR_LEN("abc"))); + assert(buffer_is_equal_string(ds->value, CONST_STR_LEN("alfrag, hameplman"))); + + array_insert_key_value(a, CONST_STR_LEN("123"), CONST_STR_LEN("alfrag")); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("does-not-exist")); + assert(NULL == ds); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("123")); + assert(NULL != ds); + assert(buffer_is_equal_string(ds->key, CONST_STR_LEN("123"))); + assert(buffer_is_equal_string(ds->value, CONST_STR_LEN("alfrag"))); + + array_free(a); +} + +static void test_array_set_key_value (void) { + data_string *ds; + array *a = array_init(); + + array_set_key_value(a, CONST_STR_LEN("abc"), CONST_STR_LEN("def")); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("does-not-exist")); + assert(NULL == ds); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("abc")); + assert(NULL != ds); + assert(buffer_is_equal_string(ds->key, CONST_STR_LEN("abc"))); + assert(buffer_is_equal_string(ds->value, CONST_STR_LEN("def"))); + + array_set_key_value(a, CONST_STR_LEN("abc"), CONST_STR_LEN("ghi")); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("does-not-exist")); + assert(NULL == ds); + ds = (data_string *)array_get_element_klen(a, CONST_STR_LEN("abc")); + assert(NULL != ds); + assert(buffer_is_equal_string(ds->key, CONST_STR_LEN("abc"))); + assert(buffer_is_equal_string(ds->value, CONST_STR_LEN("ghi"))); + + array_free(a); +} + +int main() { + test_array_get_int_ptr(); + test_array_insert_value(); + test_array_insert_key_value(); + test_array_set_key_value(); + + return 0; +} |