Test Utilities with GLib support

Test Utilities with GLib support — Utilities to write tests more easily with GLib support.

Synopsis

GString *           gcut_get_fixture_data               (const gchar *path,
                                                         ...);
GHashTable *        gcut_hash_table_string_string_new   (const gchar *key,
                                                         ...);
GHashTable *        gcut_hash_table_string_string_new_va_list
                                                        (const gchar *key,
                                                         va_list args);
GList *             gcut_list_int_new                   (guint n,
                                                         gint value,
                                                         ...);
GList *             gcut_list_new                       (const gpointer element,
                                                         ...);
void                gcut_list_object_free               (GList *list);
void                gcut_list_string_free               (GList *list);
GList *             gcut_list_string_new                (const gchar *value,
                                                         ...);
GList *             gcut_list_string_new_array          (const gchar **strings);
GList *             gcut_list_uint_new                  (guint n,
                                                         guint value,
                                                         ...);
GError *            gcut_take_error                     (GError *error);
GHashTable *        gcut_take_hash_table                (GHashTable *hash_table);
const GList *       gcut_take_list                      (const GList *list,
                                                         CutDestroyFunction destroy_function);
GHashTable *        gcut_take_new_hash_table_string_string
                                                        (const gchar *key,
                                                         ...);
const GList *       gcut_take_new_list_int              (guint n,
                                                         gint value,
                                                         ...);
#define             gcut_take_new_list_object           (object,
                                                         ...)
const GList *       gcut_take_new_list_string           (const gchar *value,
                                                         ...);
const GList *       gcut_take_new_list_string_array     (const gchar **strings);
#define             gcut_take_new_list_string_backward_compatibility(value,
                                                         ...)
const GList *       gcut_take_new_list_uint             (guint n,
                                                         guint value,
                                                         ...);
GString *           gcut_take_new_string                (const gchar *string);
GObject *           gcut_take_object                    (GObject *object);
GString *           gcut_take_string                    (GString *string);

Description

To write tests, you need to write codes that set up/tear down test environment, prepare expected and actual values and so on. Cutter provides test utilities to you write your tests more easily.

The utilities work with GLib.

Details

gcut_get_fixture_data ()

GString *           gcut_get_fixture_data               (const gchar *path,
                                                         ...);

Reads the fixture data at "path/..." and returns it as a GString that is owned by Cutter. The description of cut_build_fixture_path() shows how the fixture data path is determined.

path :

a first element of the path to the fixture data.

... :

remaining elements in path. NULL-terminate is required.

Returns :

a content of the fixture data as GString owend by Cutter. Don't free it.

Since 1.1.6


gcut_hash_table_string_string_new ()

GHashTable *        gcut_hash_table_string_string_new   (const gchar *key,
                                                         ...);

Creates a hash table that has string key and string value from passed key/value pairs.

key :

The first key string.

... :

A NULL-terminated list of rest arguments. The first item is the string value of the first key, followed optionally by more key/value pairs. It must end with NULL.

Returns :

a newly-allocated GHashTable that contains passed key/value pairs and must be freed with g_hash_table_unref().

Since 1.0.4


gcut_hash_table_string_string_new_va_list ()

GHashTable *        gcut_hash_table_string_string_new_va_list
                                                        (const gchar *key,
                                                         va_list args);

Creates a hash table that has string key and string value from passed key/value pairs.

key :

The first key string.

args :

A NULL-terminated list of rest arguments. The first item is the string value of the first key, followed optionally by more key/value pairs. It must end with NULL.

Returns :

a newly-allocated GHashTable that contains passed key/value pairs and must be freed with g_hash_table_unref().

Since 1.0.5


gcut_list_int_new ()

GList *             gcut_list_int_new                   (guint n,
                                                         gint value,
                                                         ...);

Creates a list from passed integer values.

e.g.:

gcut_list_int_new(3, -10, 1, 29); -> (-10, 1, 29)

n :

the number of integer values.

value :

the first integer value.

... :

remaining integer values in list.

Returns :

a newly-allocated GList that contains passed integer values and must be freed with g_list_free().

Since 1.1.5


gcut_list_new ()

GList *             gcut_list_new                       (const gpointer element,
                                                         ...);

Creates a list from passed elements.

e.g.:

GCutEgg *echo_egg, *cat_egg;

echo_egg = gcut_egg_new("echo", "Hello", NULL);
cat_egg = gcut_egg_new("cat", "/etc/hosts", NULL);
egg_list = gcut_list_new(echo_egg, cat_egg, NULL);

element :

the first gpointer.

... :

remaining elements in list. NULL-terminate.

Returns :

a newly-allocated GList that contains passed elements.

Since 1.1.1


gcut_list_object_free ()

void                gcut_list_object_free               (GList *list);

Frees list and contained objects. It's safe that list contains NULL.

list :

the list that contains GObject's to be unrefed.

Since 1.1.1


gcut_list_string_free ()

void                gcut_list_string_free               (GList *list);

Frees list and contained strings.

list :

the list that contains strings to be freed.

Since 1.0.3


gcut_list_string_new ()

GList *             gcut_list_string_new                (const gchar *value,
                                                         ...);

Creates a list from passed strings.

value :

the first string.

... :

remaining strings in list. NULL-terminate.

Returns :

a newly-allocated GList that contains passed strings and must be freed with gcut_list_string_free().

Since 1.0.3


gcut_list_string_new_array ()

GList *             gcut_list_string_new_array          (const gchar **strings);

Creates a list from passed string array.

strings :

the string array. NULL-terminate.

Returns :

a newly-allocated GList that contains passed string array and must be freed with gcut_list_string_free().

Since 1.0.6


gcut_list_uint_new ()

GList *             gcut_list_uint_new                  (guint n,
                                                         guint value,
                                                         ...);

Creates a list from passed unsigned integer values.

e.g.:

gcut_list_uint_new(3, 0, 1, 2); -> (0, 1, 2)

n :

the number of unsigned integer values.

value :

the first unsigned integer value.

... :

remaining unsigned integer values in list.

Returns :

a newly-allocated GList that contains passed unsigned integer values and must be freed with g_list_free().

Since 1.1.5


gcut_take_error ()

GError *            gcut_take_error                     (GError *error);

Passes ownership of error to Cutter and returns a error itself.

error :

the GError to be owned by Cutter.

Returns :

a GError owned by Cutter. Don't g_error_free() it.

Since 1.0.3


gcut_take_hash_table ()

GHashTable *        gcut_take_hash_table                (GHashTable *hash_table);

Passes ownership of hash_table to Cutter and returns hash_table itself.

hash_table :

the GHashTable to be owned by Cutter.

Returns :

a GHashTable owned by Cutter. Don't g_hash_table_unref() it.

Since 1.0.4


gcut_take_list ()

const GList *       gcut_take_list                      (const GList *list,
                                                         CutDestroyFunction destroy_function);

Passes ownership of list to Cutter and returns list itself.

list :

the GList to be owned by Cutter.

destroy_function :

the destroy function that destroys the elements of list, or NULL.

Returns :

a GList owned by Cutter. Don't g_list_free() it.

Since 1.0.3


gcut_take_new_hash_table_string_string ()

GHashTable *        gcut_take_new_hash_table_string_string
                                                        (const gchar *key,
                                                         ...);

Creates a hash table that has string key and string value from passed key/value pairs. The created hash table is owned by Cutter. So don't g_hash_table_unref() it.

key :

The first key string.

... :

A NULL-terminated list of rest arguments. The string value of the first key, followed optionally by more key/value pairs. It must end with NULL.

Returns :

a newly-allocated GHashTable that contains passed key/value pairs.

Since 1.0.5


gcut_take_new_list_int ()

const GList *       gcut_take_new_list_int              (guint n,
                                                         gint value,
                                                         ...);

Creates a list from passed integer values that is owned by Cutter.

e.g.:

gcut_take_new_list_int(3, -10, 1, 29); -> (-10, 1, 29)

n :

the number of integer values.

value :

the first integer value.

... :

remaining strings in list.

Returns :

a newly-allocated GList that contains passed integer values and is owned by Cutter.

Since 1.1.5


gcut_take_new_list_object()

#define             gcut_take_new_list_object(object, ...)

Creates a list from passed objects that is owned by Cutter.

object :

the first GObject.

... :

remaining objects in list. NULL-terminate.

Returns :

a newly-allocated GList that contains passed objects and is owned by Cutter.

Since 1.1.1


gcut_take_new_list_string ()

const GList *       gcut_take_new_list_string           (const gchar *value,
                                                         ...);

Creates a list from passed strings that is owned by Cutter.

value :

the first string.

... :

remaining strings in list. NULL-terminate.

Returns :

a newly-allocated GList that contains passed strings and is owned by Cutter.

Since 1.0.5


gcut_take_new_list_string_array ()

const GList *       gcut_take_new_list_string_array     (const gchar **strings);

Creates a list from passed string array that is owned by Cutter.

strings :

the string array. NULL-terminate.

Returns :

a newly-allocated GList that contains passed string array and is owned by Cutter.

Since 1.0.6


gcut_take_new_list_string_backward_compatibility()

#define             gcut_take_new_list_string_backward_compatibility(value, ...)

Warning

gcut_take_new_list_string_backward_compatibility is deprecated and should not be used in newly-written code.


gcut_take_new_list_uint ()

const GList *       gcut_take_new_list_uint             (guint n,
                                                         guint value,
                                                         ...);

Creates a list from passed unsigned integer values that is owned by Cutter.

e.g.:

gcut_take_new_list_uint(3, 0, 1, 2); -> (0, 1, 2)

n :

the number of unsigned integer values.

value :

the first unsigned integer value.

... :

remaining strings in list.

Returns :

a newly-allocated GList that contains passed unsigned integer values and is owned by Cutter.

Since 1.1.5


gcut_take_new_string ()

GString *           gcut_take_new_string                (const gchar *string);

Creates a GString object from passed string.

string :

the string. It can be NULL.

Returns :

a GString owned by Cutter. Don't g_string_free() it.

Since 1.1.6


gcut_take_object ()

GObject *           gcut_take_object                    (GObject *object);

Passes ownership of object to Cutter and returns object.

object :

the GObject to be owned by Cutter.

Returns :

object owned by Cutter. Don't g_object_unref() it.

Since 1.0.3


gcut_take_string ()

GString *           gcut_take_string                    (GString *string);

Passes ownership of string to Cutter and returns string itself.

string :

the GString to be owned by Cutter.

Returns :

a GString owned by Cutter. Don't g_string_free() it.

Since 1.1.6