diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/check_error.c | 65 | ||||
| -rw-r--r-- | tests/check_loader.c | 1 | ||||
| -rw-r--r-- | tests/check_source_parser.c | 1 | ||||
| -rw-r--r-- | tests/check_template_parser.c | 1 | 
4 files changed, 68 insertions, 0 deletions
diff --git a/tests/check_error.c b/tests/check_error.c new file mode 100644 index 0000000..59ac2f9 --- /dev/null +++ b/tests/check_error.c @@ -0,0 +1,65 @@ +/* + * blogc: A blog compiler. + * Copyright (C) 2015 Rafael G. Martins <rafael@rafaelmartins.eng.br> + * + * This program can be distributed under the terms of the BSD License. + * See the file COPYING. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif /* HAVE_CONFIG_H */ + +#include <stdarg.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka.h> +#include <string.h> +#include "../src/error.h" +#include "../src/utils/utils.h" + + +static void +test_error_new(void **state) +{ +    blogc_error_t *error = blogc_error_new(1, "bola %s"); +    assert_non_null(error); +    assert_int_equal(error->type, 1); +    assert_string_equal(error->msg, "bola %s"); +    blogc_error_free(error); +} + + +static void +test_error_new_printf(void **state) +{ +    blogc_error_t *error = blogc_error_new_printf(2, "bola %s", "guda"); +    assert_non_null(error); +    assert_int_equal(error->type, 2); +    assert_string_equal(error->msg, "bola guda"); +    blogc_error_free(error); +} + + +static void +test_error_parser(void **state) +{ +    const char *a = "bola\nguda\nchunda\n"; +    blogc_error_t *error = blogc_error_parser(1, a, strlen(a), 11, "asd %d", 10); +    assert_non_null(error); +    assert_int_equal(error->type, 1); +    assert_string_equal(error->msg, "asd 10\nError occurred near to \"hunda\"."); +    blogc_error_free(error); +} + + +int +main(void) +{ +    const UnitTest tests[] = { +        unit_test(test_error_new), +        unit_test(test_error_new_printf), +        unit_test(test_error_parser), +    }; +    return run_tests(tests); +} diff --git a/tests/check_loader.c b/tests/check_loader.c index c9f1432..08c5acc 100644 --- a/tests/check_loader.c +++ b/tests/check_loader.c @@ -16,6 +16,7 @@  #include <cmocka.h>  #include <string.h>  #include "../src/loader.h" +#include "../src/utils/utils.h"  static void diff --git a/tests/check_source_parser.c b/tests/check_source_parser.c index ede1f5e..90ebcc1 100644 --- a/tests/check_source_parser.c +++ b/tests/check_source_parser.c @@ -17,6 +17,7 @@  #include <string.h>  #include "../src/source-parser.h"  #include "../src/error.h" +#include "../src/utils/utils.h"  static void diff --git a/tests/check_template_parser.c b/tests/check_template_parser.c index b7ebd1c..9d67fe3 100644 --- a/tests/check_template_parser.c +++ b/tests/check_template_parser.c @@ -17,6 +17,7 @@  #include <string.h>  #include "../src/template-parser.h"  #include "../src/error.h" +#include "../src/utils/utils.h"  static void  | 
