diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-12-15 15:56:41 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-12-15 15:56:41 +0000 |
commit | 7e668edf204ea9a8c72565e7cabaced11be86caa (patch) | |
tree | 7baed8654034492f54d4de730a13ad2c4f8a7050 /eel/eel-self-checks.h | |
parent | d4b4c188e1a89a268af33ff0381eeca04e5528dc (diff) | |
download | nautilus-7e668edf204ea9a8c72565e7cabaced11be86caa.tar.gz |
eel/ Import eel into nautilus.
2008-12-15 Alexander Larsson <alexl@redhat.com>
* Makefile.am:
* acconfig.h:
* configure.in:
* eel/
* libnautilus-private/Makefile.am:
Import eel into nautilus.
svn path=/trunk/; revision=14815
Diffstat (limited to 'eel/eel-self-checks.h')
-rw-r--r-- | eel/eel-self-checks.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/eel/eel-self-checks.h b/eel/eel-self-checks.h new file mode 100644 index 000000000..7910febaf --- /dev/null +++ b/eel/eel-self-checks.h @@ -0,0 +1,100 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- + + eel-self-checks.h: The self-check framework. + + Copyright (C) 1999 Eazel, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + + Author: Darin Adler <darin@eazel.com> +*/ + +#ifndef EEL_SELF_CHECKS_H +#define EEL_SELF_CHECKS_H + +#include <glib.h> +#include <eel/eel-art-extensions.h> + +#define EEL_CHECK_RESULT(type, expression, expected_value) \ +G_STMT_START { \ + eel_before_check (#expression, __FILE__, __LINE__); \ + eel_check_##type##_result (expression, expected_value); \ +} G_STMT_END + +#define EEL_CHECK_BOOLEAN_RESULT(expression, expected_value) \ + EEL_CHECK_RESULT(boolean, expression, expected_value) +#define EEL_CHECK_INTEGER_RESULT(expression, expected_value) \ + EEL_CHECK_RESULT(integer, expression, expected_value) +#define EEL_CHECK_DOUBLE_RESULT(expression, expected_value) \ + EEL_CHECK_RESULT(double, expression, expected_value) +#define EEL_CHECK_STRING_RESULT(expression, expected_value) \ + EEL_CHECK_RESULT(string, expression, expected_value) +#define EEL_CHECK_RECTANGLE_RESULT(expression, expected_x0, expected_y0, expected_x1, expected_y1) \ +G_STMT_START { \ + eel_before_check (#expression, __FILE__, __LINE__); \ + eel_check_rectangle_result (expression, expected_x0, expected_y0, expected_x1, expected_y1); \ +} G_STMT_END +#define EEL_CHECK_DIMENSIONS_RESULT(expression, expected_width, expected_height) \ +G_STMT_START { \ + eel_before_check (#expression, __FILE__, __LINE__); \ + eel_check_dimensions_result (expression, expected_width, expected_height); \ +} G_STMT_END +#define EEL_CHECK_POINT_RESULT(expression, expected_x, expected_y) \ +G_STMT_START { \ + eel_before_check (#expression, __FILE__, __LINE__); \ + eel_check_point_result (expression, expected_x, expected_y); \ +} G_STMT_END + +void eel_exit_if_self_checks_failed (void); +void eel_before_check_function (const char *name); +void eel_after_check_function (void); +void eel_before_check (const char *expression, + const char *file_name, + int line_number); +void eel_after_check (void); + +/* Both 'result' and 'expected' get freed with g_free */ +void eel_report_check_failure (char *result, + char *expected); +void eel_check_boolean_result (gboolean result, + gboolean expected_value); +void eel_check_integer_result (long result, + long expected_value); +void eel_check_double_result (double result, + double expected_value); +void eel_check_rectangle_result (EelIRect result, + int expected_x0, + int expected_y0, + int expected_x1, + int expected_y1); +void eel_check_dimensions_result (EelDimensions result, + int expected_width, + int expected_height); +void eel_check_point_result (EelIPoint result, + int expected_x, + int expected_y); +void eel_check_string_result (char *result, + const char *expected_value); + +#define EEL_SELF_CHECK_FUNCTION_PROTOTYPE(function) \ + void function (void); + +#define EEL_CALL_SELF_CHECK_FUNCTION(function) \ + eel_before_check_function (#function); \ + function (); \ + eel_after_check_function (); + +#endif /* EEL_SELF_CHECKS_H */ |