## GLibサポート付きテストユーティリティ GLibサポート付きテストユーティリティ — テストをもっと簡単に書くためのGLibサポート付きユーティリティ。 |

## 概要

    GObject *           gcut_take_object                    (GObject *object);
    GError *            gcut_take_error                     (GError *error);
    const GList *       gcut_take_list                      (const GList *list,
                                                             CutDestroyFunction destroy_function);
    GHashTable *        gcut_take_hash_table                (GHashTable *hash_table);
    GList *             gcut_list_string_new                (const gchar *value,
                                                             ...);
    GList *             gcut_list_string_new_array          (const gchar **strings);
    const GList *       gcut_take_new_list_string           (const gchar *value,
                                                             ...);
    #define             gcut_take_new_list_string_backward_compatibility(value, ...)
    const GList *       gcut_take_new_list_string_array     (const gchar **strings);
    void                gcut_list_string_free               (GList *list);
    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);
    GHashTable *        gcut_take_new_hash_table_string_string
                                                            (const gchar *key,
                                                             ...);

## 説明

テストを書くためには、テスト環境を前処理・後処理するコードや、検証する結果を準備するコードなどたくさんのコードを書く必要があります。Cutterはもっと簡単にテストを書くためにユーティリティを提供します。

このユーティリティはGLibと一緒に使います。

## 詳細

### gcut_take_object ()

    GObject *           gcut_take_object                    (GObject *object);

`object`の所有権をCutterに渡し、`object`を返します。

`object` : | Cutterに所有権を渡すGObject。
戻り値 : | Cutterが所有権をもつ`object`。`g_object_unref()`しないでください。

1.0.3から

### gcut_take_error ()

    GError *            gcut_take_error                     (GError *error);

Cutterに`error`の所有権を渡し、`error`それ自身を返します。

`error` : | Cutterに所有権を渡すGError。
戻り値 : | Cutterが所有権をもつGError。`g_error_free()`しないでください。

1.0.3から

### gcut_take_list ()

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

`list`の所有権をCutterに渡し、`list`それ自身を返します。

`list` : | Cutterに所有権を渡すGList。
`destroy_function` : | `list`の各要素を破棄する関数、または`NULL`。
戻り値 : | Cutterが所有権を持つGList。`g_list_free()`しないでください。

1.0.3から

### gcut_take_hash_table ()

    GHashTable *        gcut_take_hash_table                (GHashTable *hash_table);

`hash_table`の所有権をCutterに渡し、`hash_table`それ自身を返します。

`hash_table` : | Cutterに所有権を渡すGHashTable。
戻り値 : | Cutterが所有権をもつGHashTable。`g_hash_table_unref()`しないでください。

1.0.4から

### gcut_list_string_new ()

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

渡された文字列からリストを作ります。

`value` : | 最初の文字列。
`...` : | リストの残りの文字列。`NULL`終端。
戻り値 : | 渡された文字列を含むGList。`gcut_list_string_free()`で開放すること。

1.0.3から

### gcut_list_string_new_array ()

    GList *             gcut_list_string_new_array          (const gchar **strings);

渡された文字列配列からリストを作ります。

`strings` : | 文字列の配列。`NULL`終端。
戻り値 : | 渡された文字列配列と同じ内容のGList。`gcut_list_string_free()`で開放すること。

1.0.6から

### gcut_take_new_list_string ()

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

渡された文字列からリストを作ります。作られたリストはCutterが所有権を持ちます。

`value` : | 最初の文字列。
`...` : | リストの残りの文字列。`NULL`終端。
戻り値 : | 渡された文字列と同じ内容のGList。Cutterが所有権を持ちます。

1.0.5から

### gcut_take_new_list_string_backward_compatibility()

    #define             gcut_take_new_list_string_backward_compatibility(value, ...)

### 警告

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

`value` : |
`...` : |

### gcut_take_new_list_string_array ()

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

渡された文字列の配列からリストを作ります。Cutterが所有権を持ちます。

`strings` : | 文字列の配列。`NULL`終端。
戻り値 : | 渡された文字列の配列と同じ内容のGList。Cutterが所有。

1.0.6から

### gcut_list_string_free ()

    void                gcut_list_string_free               (GList *list);

`list`と`list`内にある文字列を開放します。

`list` : | 開放する文字列のリスト。

1.0.3から

### gcut_hash_table_string_string_new ()

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

引数で指定されたキーと値のペアから、文字列のキーと値を持つハッシュテーブルを作成します。

`key` : | 最初のキー文字列。
`...` : | 残りの引数の`NULL`終端のリスト。まず、最初のキーの文字列値を指定します。続いて、任意の数だけキー・値のペアを指定します。最後に`NULL`を指定しなければいけません。
戻り値 : | 渡されたキー・値を持つGHashTable。`g_hash_table_unref()`で開放してください。

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);

引数で指定されたキーと値のペアから、文字列のキーと値を持つハッシュテーブルを作成します。

`key` : | 最初のキー文字列。
`args` : | 残りの引数の`NULL`終端のリスト。まず、最初のキーの文字列値を指定します。続いて、任意の数だけキー・値のペアを指定します。最後に`NULL`を指定しなければいけません。
戻り値 : | 渡されたキー・値を持つGHashTable。`g_hash_table_unref()`で開放してください。

1.0.5から

### gcut_take_new_hash_table_string_string ()

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

渡されたキー・値のペアから文字列のキー・値を持つハッシュテーブルを作成します。作成されたハッシュテーブルはCutterが所有権を持つので、`g_hash_table_unref()`を呼ばないでください。

`key` : | 最初のキー文字列。
`...` : | 残りの引数の`NULL`終端のリスト。まず、最初のキーの文字列値を指定します。続いて、任意の数だけキー・値のペアを指定します。最後に`NULL`を指定しなければいけません。
戻り値 : | 渡されたキー・値を持つGHashTable。

1.0.5から