Assertion Utilities for GEnum and GFlags

Assertion Utilities for GEnum and GFlags — Utilities to write assertions related to GEnum or GFlags more easily.

Synopsis

#define             GCUT_ENUM_ERROR
enum                GCutEnumError;
GQuark              gcut_enum_error_quark               (void);
gchar *             gcut_enum_inspect                   (GType enum_type,
                                                         gint enum_value);
gint                gcut_enum_parse                     (GType enum_type,
                                                         const gchar *enum_value,
                                                         GError **error);
guint               gcut_flags_get_all                  (GType flags_type,
                                                         GError **error);
gchar *             gcut_flags_inspect                  (GType flags_type,
                                                         guint flags_value);
guint               gcut_flags_parse                    (GType flags_type,
                                                         const gchar *flags_value,
                                                         GError **error);

Description

To write assertions, you need to check equality and show expected and actual values.

The utilities help you to write assertions that are related to GEnum or GFlags.

Details

GCUT_ENUM_ERROR

#define GCUT_ENUM_ERROR (gcut_enum_error_quark())

Error domain for enum related operations. Errors in this domain will be from the GCutEnumError enumeration.

Since 1.0.6


enum GCutEnumError

typedef enum {
    GCUT_ENUM_ERROR_INVALID_TYPE,
    GCUT_ENUM_ERROR_INVALID_VALUE
} GCutEnumError;

Error codes returned by enum related operation.

GCUT_ENUM_ERROR_INVALID_TYPE

Invalid type.

GCUT_ENUM_ERROR_INVALID_VALUE

Invalid value.

Since 1.0.6


gcut_enum_error_quark ()

GQuark              gcut_enum_error_quark               (void);


gcut_enum_inspect ()

gchar *             gcut_enum_inspect                   (GType enum_type,
                                                         gint enum_value);

Inspects enum_type value, enum_value. The returned string should be freed when no longer needed.

enum_type :

a GEnum type.

enum_value :

a GEnum value to be inspected.

Returns :

inspected enum_value as a string.

Since 1.0.5


gcut_enum_parse ()

gint                gcut_enum_parse                     (GType enum_type,
                                                         const gchar *enum_value,
                                                         GError **error);

Parses enum_value and returns a enum value of enum_type. enum_value should be enum name or nick name. If enum_value isn't match then error is set to a GCutEnumError.

enum_type :

a GEnum type.

enum_value :

a string to be parsed.

error :

return location for an error, or NULL

Returns :

enum value of enum_type corresponded to enum_value.

Since 1.0.6


gcut_flags_get_all ()

guint               gcut_flags_get_all                  (GType flags_type,
                                                         GError **error);

Gets a flags value that includes all available flag values.

flags_type :

a GFlags type.

error :

return location for an error, or NULL

Returns :

a flags value that includes all available flag values.

Since 1.0.6


gcut_flags_inspect ()

gchar *             gcut_flags_inspect                  (GType flags_type,
                                                         guint flags_value);

Inspects flags_type value, flags_value. The returned string should be freed when no longer needed.

flags_type :

a GFlags type.

flags_value :

a GFlags value to be inspected.

Returns :

inspected flags_value as a string.

Since 1.0.5


gcut_flags_parse ()

guint               gcut_flags_parse                    (GType flags_type,
                                                         const gchar *flags_value,
                                                         GError **error);

Parses flags_value and returns a flags value of flags_type. flags_value should be formated as "nick-or-name1|nick-or-name2|...|nick-or-nameN". If flags_value includes unknown flag then error is set to a GCutEnumError.

flags_type :

a GFlags type.

flags_value :

a string to be parsed.

error :

return location for an error, or NULL

Returns :

flags value of flags_type corresponded to flags_value.

Since 1.0.6