Evas tests: Add canvas free with ref tests.

This should check test for the issue fixed in:
bb4a19b5ad
8bba92fbca
This commit is contained in:
Tom Hacohen 2013-11-26 12:26:30 +00:00
parent 8bba92fbca
commit 1b51bc256b
4 changed files with 39 additions and 0 deletions

View File

@ -1582,6 +1582,7 @@ TESTS += tests/evas/evas_suite
tests_evas_evas_suite_SOURCES = \
tests/evas/evas_suite.c \
tests/evas/evas_test_init.c \
tests/evas/evas_test_object.c \
tests/evas/evas_test_textblock.c \
tests/evas/evas_test_text.c \
tests/evas/evas_test_callbacks.c \

View File

@ -19,6 +19,7 @@ struct _Evas_Test_Case
static const Evas_Test_Case etc[] = {
{ "Evas", evas_test_init },
{ "Object", evas_test_object },
{ "Object Textblock", evas_test_textblock },
{ "Object Text", evas_test_text },
{ "Callbacks", evas_test_callbacks },

View File

@ -4,6 +4,7 @@
#include <check.h>
void evas_test_init(TCase *tc);
void evas_test_object(TCase *tc);
void evas_test_textblock(TCase *tc);
void evas_test_text(TCase *tc);
void evas_test_callbacks(TCase *tc);

View File

@ -0,0 +1,36 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <stdio.h>
#include "evas_suite.h"
#include "Evas.h"
#include "evas_tests_helpers.h"
START_TEST(evas_object_various)
{
Evas *evas = EVAS_TEST_INIT_EVAS();
Evas_Object *obj = evas_object_rectangle_add(evas);
evas_object_ref(obj);
evas_free(evas);
evas_object_unref(obj);
evas = EVAS_TEST_INIT_EVAS();
eo_ref(obj);
evas_free(evas);
eo_unref(obj);
/* Twice because EVAS_TEST_INIT_EVAS inits it twice. */
evas_shutdown();
evas_shutdown();
}
END_TEST
void evas_test_object(TCase *tc)
{
tcase_add_test(tc, evas_object_various);
}