/* * This file is part of LibNSLayout's tests * Licensed under the ISC License, http://opensource.org/licenses/ISC * Copyright 2015 Michael Drake */ #include #include #include #include "tests.h" #ifndef UNUSED #define UNUSED(x) (void)(x) #endif int pw; static nslayout_error nslayout_test_callback( nslayout_request *req, nslayout_layout *layout, void *pw) { UNUSED(req); UNUSED(layout); UNUSED(pw); return NSLAYOUT_OK; } START_TEST (test_nslayout_layout_create_ok) { nslayout_layout *layout = NULL; nslayout_error error; dom_exception dom_error; css_error css_err; dom_document *doc; css_select_ctx *css_ctx; css_media_type media = CSS_MEDIA_SCREEN; /* Create a DOM document */ dom_error = dom_implementation_create_document(DOM_IMPLEMENTATION_HTML, NULL, NULL, NULL, NULL, NULL, &doc); ck_assert(dom_error == DOM_NO_ERR); /* Create a selection context (with no sheets added) */ css_err = css_select_ctx_create(&css_ctx); ck_assert(css_err == CSS_OK); error = nslayout_layout_create(doc, css_ctx, &media, nslayout_test_callback, &pw, &layout); fail_unless(error == NSLAYOUT_OK, "Unable to create layout"); fail_unless(layout != NULL, "Returned OK but str was still NULL"); css_err = css_select_ctx_destroy(css_ctx); ck_assert(css_err == CSS_OK); dom_node_unref(doc); } END_TEST void nslayout_basic_layout_suite(SRunner *sr) { Suite *s = suite_create("libnslayout: basic layout tests"); TCase *tc_layout_basic = tcase_create("Creation/Destruction"); tcase_add_test(tc_layout_basic, test_nslayout_layout_create_ok); suite_add_tcase(s, tc_layout_basic); srunner_add_suite(sr, s); }