<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="cutter-Test-Utilities">
<refmeta>
<refentrytitle role="top_of_page" id="cutter-Test-Utilities.top_of_page"
>Test Utilities</refentrytitle>
<manvolnum
>3</manvolnum>
<refmiscinfo
>Cutterライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname
>Test Utilities</refname>
<refpurpose
>テストをもっと簡単に書くためのユーティリティ。</refpurpose>
</refnamediv>

<refsect1 id="cutter-Test-Utilities.functions" role="functions_proto">
<title role="functions_proto.title"
>Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row
><entry role="function_type"
><link linkend="void"
><returnvalue
>void</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take"
>cut_take</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="void"
><returnvalue
>void</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-memory"
>cut_take_memory</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-string"
>cut_take_string</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-strdup"
>cut_take_strdup</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-strndup"
>cut_take_strndup</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="void"
><returnvalue
>void</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-memdup"
>cut_take_memdup</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-printf"
>cut_take_printf</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;** </entry
><entry role="function_name"
><link linkend="cut-take-string-array"
>cut_take_string_array</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-diff"
>cut_take_diff</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-replace"
>cut_take_replace</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="define_keyword"
>#define</entry
><entry role="function_name"
><link linkend="cut-take-convert"
>cut_take_convert</link
><phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-take-inspect-string"
>cut_take_inspect_string</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="void"
><returnvalue
>void</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="cut-set-fixture-data-dir"
>cut_set_fixture_data_dir</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-build-fixture-data-path"
>cut_build_fixture_data_path</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="define_keyword"
>#define</entry
><entry role="function_name"
><link linkend="cut-build-fixture-path"
>cut_build_fixture_path</link
><phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-get-fixture-data-string"
>cut_get_fixture_data_string</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="define_keyword"
>#define</entry
><entry role="function_name"
><link linkend="cut-get-fixture-data"
>cut_get_fixture_data</link
><phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="void"
><returnvalue
>void</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="cut-remove-path"
>cut_remove_path</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-build-path"
>cut_build_path</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;* </entry
><entry role="function_name"
><link linkend="cut-build-path-array"
>cut_build_path_array</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="void"
><returnvalue
>void</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="cut-make-directory"
>cut_make_directory</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>


<refsect1 id="cutter-Test-Utilities.description" role="desc">
<title role="desc.title"
>説明</title>
<para
>テストを書くためには、テスト環境を前処理・後処理するコードや、検証する結果を準備するコードなどたくさんのコードを書く必要があります。Cutterはもっと簡単にテストを書くためにユーティリティを提供します。</para>
<para
>このユーティリティはGLibサポート無しでも使えます。</para>

</refsect1>
<refsect1 id="cutter-Test-Utilities.functions_details" role="details">
<title role="details.title"
>Functions</title>
<refsect2 id="cut-take" role="function" condition="since:1.0.5">
<title
>cut_take&#160;()</title>
<indexterm zone="cut-take" role="1.0.5"
><primary
>cut_take</primary
></indexterm>
<programlisting language="C"
><link linkend="void"
><returnvalue
>void</returnvalue
></link
>&#160;*
cut_take (<parameter
><link linkend="void"
><type
>void</type
></link
> *object</parameter
>,
          <parameter
><link linkend="CutDestroyFunction"
><type
>CutDestroyFunction</type
></link
> destroy_function</parameter
>);</programlisting>
<para
><parameter
>object</parameter
>の所有権をCutterに渡し、<parameter
>object</parameter
>自身を返します。<parameter
>object</parameter
>は<parameter
>destroy_func</parameter
>を用いて破棄されます。</para>
<refsect3 id="cut-take.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>object</para
></entry>
<entry role="parameter_description"
><para
>Cutterが所有権をもつことになるオブジェクト。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>destroy_function</para
></entry>
<entry role="parameter_description"
><para
>オブジェクト用の破棄関数。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する<parameter
>object</parameter
>。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.5"
>1.0.5</link
></para
></refsect2>
<refsect2 id="cut-take-memory" role="function" condition="since:1.0.5">
<title
>cut_take_memory&#160;()</title>
<indexterm zone="cut-take-memory" role="1.0.5"
><primary
>cut_take_memory</primary
></indexterm>
<programlisting language="C"
>const <link linkend="void"
><returnvalue
>void</returnvalue
></link
>&#160;*
cut_take_memory (<parameter
><link linkend="void"
><type
>void</type
></link
> *memory</parameter
>);</programlisting>
<para
><parameter
>memory</parameter
>の所有権をCutterに渡し、<parameter
>memory</parameter
>自身を返します。<parameter
>memory</parameter
>は<link linkend="free"
><function
>free()</function
></link
>で破棄されます。</para>
<refsect3 id="cut-take-memory.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>memory</para
></entry>
<entry role="parameter_description"
><para
>Cutterが所有権を持つことになるメモリ。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-memory.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する<parameter
>memory</parameter
>。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.5"
>1.0.5</link
></para
></refsect2>
<refsect2 id="cut-take-string" role="function">
<title
>cut_take_string&#160;()</title>
<indexterm zone="cut-take-string"
><primary
>cut_take_string</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_string (<parameter
><link linkend="char"
><type
>char</type
></link
> *string</parameter
>);</programlisting>
<para
><parameter
>string</parameter
>の所有権をCutterに渡し、<parameter
>string</parameter
>それ自身を返します。</para>
<refsect3 id="cut-take-string.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>文字列。</para
></entry>
<entry role="parameter_description"
><para
>Cutterが所有権を持つことになる文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-string.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する<parameter
>string</parameter
>。解放しないで下さい。</para>
</refsect3
></refsect2>
<refsect2 id="cut-take-strdup" role="function" condition="since:1.0.5">
<title
>cut_take_strdup&#160;()</title>
<indexterm zone="cut-take-strdup" role="1.0.5"
><primary
>cut_take_strdup</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_strdup (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *string</parameter
>);</programlisting>
<para
><parameter
>string</parameter
>を複製し、その所有権をCutterに渡し、複製されたメモリを返します。</para>
<refsect3 id="cut-take-strdup.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>文字列。</para
></entry>
<entry role="parameter_description"
><para
>複製される文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-strdup.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する複製された文字列。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.5"
>1.0.5</link
></para
></refsect2>
<refsect2 id="cut-take-strndup" role="function" condition="since:1.0.5">
<title
>cut_take_strndup&#160;()</title>
<indexterm zone="cut-take-strndup" role="1.0.5"
><primary
>cut_take_strndup</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_strndup (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *string</parameter
>,
                  <parameter
><link linkend="size-t"
><type
>size_t</type
></link
> size</parameter
>);</programlisting>
<para
><parameter
>string</parameter
>の先頭<parameter
>size</parameter
>バイトを複製し、その所有権ををCutterに渡し、複製された文字列を返します。複製された文字列は常に<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端しています。</para>
<refsect3 id="cut-take-strndup.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>文字列。</para
></entry>
<entry role="parameter_description"
><para
>複製される文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>size</para
></entry>
<entry role="parameter_description"
><para
>複製するバイト数。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-strndup.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する複製された文字列。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.5"
>1.0.5</link
></para
></refsect2>
<refsect2 id="cut-take-memdup" role="function" condition="since:1.0.5">
<title
>cut_take_memdup&#160;()</title>
<indexterm zone="cut-take-memdup" role="1.0.5"
><primary
>cut_take_memdup</primary
></indexterm>
<programlisting language="C"
>const <link linkend="void"
><returnvalue
>void</returnvalue
></link
>&#160;*
cut_take_memdup (<parameter
>const <link linkend="void"
><type
>void</type
></link
> *memory</parameter
>,
                 <parameter
><link linkend="size-t"
><type
>size_t</type
></link
> size</parameter
>);</programlisting>
<para
><parameter
>memory</parameter
>の<parameter
>size</parameter
>バイトを複製し、その所有権をCutterに渡し、複製されたメモリを返します。</para>
<refsect3 id="cut-take-memdup.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>memory</para
></entry>
<entry role="parameter_description"
><para
>複製されるメモリ。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>size</para
></entry>
<entry role="parameter_description"
><para
>複製するバイト数。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-memdup.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する複製されたメモリ。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.5"
>1.0.5</link
></para
></refsect2>
<refsect2 id="cut-take-printf" role="function">
<title
>cut_take_printf&#160;()</title>
<indexterm zone="cut-take-printf"
><primary
>cut_take_printf</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_printf (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *format</parameter
>,
                 <parameter
>...</parameter
>);</programlisting>
<para
><link linkend="printf"
><function
>printf()</function
></link
>のように文字列を整形しますが、整形された文字列はCutterが所有します。</para>
<refsect3 id="cut-take-printf.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>format</para
></entry>
<entry role="parameter_description"
><para
>整形文字列。<link linkend="printf"
><function
>printf()</function
></link
>のドキュメントを見てください。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>整形文字列に挿入されるパラメータ。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-printf.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する整形された文字列。解放しないで下さい。</para>
</refsect3
></refsect2>
<refsect2 id="cut-take-string-array" role="function">
<title
>cut_take_string_array&#160;()</title>
<indexterm zone="cut-take-string-array"
><primary
>cut_take_string_array</primary
></indexterm>
<programlisting language="C"
><link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;**
cut_take_string_array (<parameter
><link linkend="char"
><type
>char</type
></link
> **strings</parameter
>);</programlisting>
<para
>配列の所有権をCutterに渡し、<parameter
>strings</parameter
>それ自身を返します。</para>
<refsect3 id="cut-take-string-array.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>文字列。</para
></entry>
<entry role="parameter_description"
><para
>Cutterが所有権を持つことになる文字列の配列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-string-array.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する<parameter
>strings</parameter
>。解放しないで下さい。</para>
</refsect3
></refsect2>
<refsect2 id="cut-take-diff" role="function">
<title
>cut_take_diff&#160;()</title>
<indexterm zone="cut-take-diff"
><primary
>cut_take_diff</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_diff (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *from</parameter
>,
               <parameter
>const <link linkend="char"
><type
>char</type
></link
> *to</parameter
>);</programlisting>
<para
><parameter
>from</parameter
>と<parameter
>to</parameter
>のdiffを計算します。diffの所有者はCutterです。</para>
<refsect3 id="cut-take-diff.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>from</para
></entry>
<entry role="parameter_description"
><para
>元の文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>to</para
></entry>
<entry role="parameter_description"
><para
>修正された文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-diff.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する<parameter
>from</parameter
>と<parameter
>to</parameter
>のdiff。開放しないでください。</para>
</refsect3
></refsect2>
<refsect2 id="cut-take-replace" role="function" condition="since:1.0.6">
<title
>cut_take_replace&#160;()</title>
<indexterm zone="cut-take-replace" role="1.0.6"
><primary
>cut_take_replace</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_replace (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *target</parameter
>,
                  <parameter
>const <link linkend="char"
><type
>char</type
></link
> *pattern</parameter
>,
                  <parameter
>const <link linkend="char"
><type
>char</type
></link
> *replacement</parameter
>);</programlisting>
<para
><parameter
>target</parameter
>文字列中で、<parameter
>pattern</parameter
>にマッチする部分を<parameter
>replacement</parameter
>で置き換えます。</para>
<refsect3 id="cut-take-replace.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>target</para
></entry>
<entry role="parameter_description"
><para
>置換対象の文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>pattern</para
></entry>
<entry role="parameter_description"
><para
>正規表現パターン。（文字列で指定）</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>replacement</para
></entry>
<entry role="parameter_description"
><para
>マッチした部分を置き換える文字列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-replace.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する複製された文字列。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.6"
>1.0.6</link
></para
></refsect2>
<refsect2 id="cut-take-convert" role="macro" condition="since:1.1.3">
<title
>cut_take_convert()</title>
<indexterm zone="cut-take-convert" role="1.1.3"
><primary
>cut_take_convert</primary
></indexterm>
<programlisting language="C"
>#define             cut_take_convert(string, to_code_set, from_code_set)</programlisting>
<para
><parameter
>string</parameter
>のコードセットを<parameter
>from_code_set</parameter
>から<parameter
>to_code_set</parameter
>へ変換します。</para>
<refsect3 id="cut-take-convert.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>文字列。</para
></entry>
<entry role="parameter_description"
><para
>変換対象の文字列。<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>to_code_set</para
></entry>
<entry role="parameter_description"
><para
>変換先のコードセット名。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>from_code_set</para
></entry>
<entry role="parameter_description"
><para
><parameter
>string</parameter
>のコードセット名。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-convert.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する変換された文字列。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.3"
>1.1.3</link
></para
></refsect2>
<refsect2 id="cut-take-inspect-string" role="function" condition="since:1.1.4">
<title
>cut_take_inspect_string&#160;()</title>
<indexterm zone="cut-take-inspect-string" role="1.1.4"
><primary
>cut_take_inspect_string</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_take_inspect_string (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *string</parameter
>);</programlisting>
<para
><parameter
>string</parameter
>の詳細を返す。</para>
<refsect3 id="cut-take-inspect-string.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>文字列。</para
></entry>
<entry role="parameter_description"
><para
>詳細な情報を取得したい文字列。<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>または<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端でなければいけません。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-take-inspect-string.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する整形された文字列。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.4"
>1.1.4</link
></para
></refsect2>
<refsect2 id="cut-set-fixture-data-dir" role="function" condition="since:1.0.2">
<title
>cut_set_fixture_data_dir&#160;()</title>
<indexterm zone="cut-set-fixture-data-dir" role="1.0.2"
><primary
>cut_set_fixture_data_dir</primary
></indexterm>
<programlisting language="C"
><link linkend="void"><returnvalue>void</returnvalue></link>
cut_set_fixture_data_dir (<parameter>const <link linkend="char"><type>char</type></link> *path</parameter>,
                          <parameter>...</parameter>);</programlisting>
<para
><link linkend="cut-get-fixture-data-string"
><function
>cut_get_fixture_data_string()</function
></link
>などで使われるフィクスチャデータのディレクトリを指定します。</para>
<refsect3 id="cut-set-fixture-data-dir.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>フィクスチャデータディレクトリのパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。1.0.7から<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端が必須となりました。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.2"
>1.0.2</link
></para
></refsect2>
<refsect2 id="cut-build-fixture-data-path" role="function" condition="deprecated:1.1.6: Use cut_build_fixture_path() instead.|since:1.0.2">
<title
>cut_build_fixture_data_path&#160;()</title>
<indexterm zone="cut-build-fixture-data-path" role="deprecated"
><primary
>cut_build_fixture_data_path</primary
></indexterm
><indexterm zone="cut-build-fixture-data-path" role="1.0.2"
><primary
>cut_build_fixture_data_path</primary
></indexterm>
<programlisting language="C"
><link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_build_fixture_data_path (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *path</parameter
>,
                             <parameter
>...</parameter
>);</programlisting>
<warning
><para
><literal
>CPPCUT_END_TEST_DECLS</literal
>はバージョン1.1.0から非推奨になりました。新しく書くコードでは使わないでください。代わりにnamespaceを使ってください。</para
> <para
><link linkend="cut-set-actual"
><function
>cut_set_actual()</function
></link
>も見てください。</para>
</warning>
<para
>フィクスチャデータへのパスを生成します。もし、<parameter
>path</parameter
>が相対パスなら、パスは<link linkend="cut-set-fixture-data-dir"
><function
>cut_set_fixture_data_dir()</function
></link
>で指定したディレクトリか、現在のディレクトリからの相対パスとして処理されます。</para>
<refsect3 id="cut-build-fixture-data-path.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>フィクスチャデータのパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。1.0.7から<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端が必須となりました。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-build-fixture-data-path.returns" role="returns">
<title
>Returns</title>
<para
>フィクスチャデータのパス。返された文字列が必要なくなったときは開放してください。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.2"
>1.0.2</link
></para
></refsect2>
<refsect2 id="cut-build-fixture-path" role="macro" condition="since:1.1.6">
<title
>cut_build_fixture_path()</title>
<indexterm zone="cut-build-fixture-path" role="1.1.6"
><primary
>cut_build_fixture_path</primary
></indexterm>
<programlisting language="C"
>#define             cut_build_fixture_path(...)</programlisting>
<para
>フィクスチャデータへのパスを生成します。もし、<parameter
>path</parameter
>が相対パスなら、パスは<link linkend="cut-set-fixture-data-dir"
><function
>cut_set_fixture_data_dir()</function
></link
>で指定したディレクトリか、現在のディレクトリからの相対パスとして処理されます。</para>
<refsect3 id="cut-build-fixture-path.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>フィクスチャデータのパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端が必須です。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-build-fixture-path.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有するフィクスチャデータのパス。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="cut-get-fixture-data-string" role="function" condition="since:1.0.2">
<title
>cut_get_fixture_data_string&#160;()</title>
<indexterm zone="cut-get-fixture-data-string" role="1.0.2"
><primary
>cut_get_fixture_data_string</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_get_fixture_data_string (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *path</parameter
>,
                             <parameter
>...</parameter
>);</programlisting>
<para
>"<parameter
>path</parameter
>/..."にあるフィクスチャデータを読み込み、文字列として返します。文字列はCutterが所持します。<link linkend="cut-build-fixture-data-path"
><function
>cut_build_fixture_data_path()</function
></link
>の説明にはフィクスチャデータのパスがどのように決定されるかが書かれています。</para>
<refsect3 id="cut-get-fixture-data-string.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>フィクスチャデータのパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。1.0.7から<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端が必須となりました。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-get-fixture-data-string.returns" role="returns">
<title
>Returns</title>
<para
>フィクスチャデータの内容。Cutterが所有しているので開放しないください。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.2"
>1.0.2</link
></para
></refsect2>
<refsect2 id="cut-get-fixture-data" role="macro" condition="since:1.1.6">
<title
>cut_get_fixture_data()</title>
<indexterm zone="cut-get-fixture-data" role="1.1.6"
><primary
>cut_get_fixture_data</primary
></indexterm>
<programlisting language="C"
>#define             cut_get_fixture_data(size, ...)</programlisting>
<para
>"<parameter
>path</parameter
>/..."にあるフィクスチャデータを読み込み、文字列として返します。文字列はCutterが所持します。<link linkend="cut-build-fixture-data-path"
><function
>cut_build_fixture_data_path()</function
></link
>の説明にはフィクスチャデータのパスがどのように決定されるかが書かれています。</para>
<refsect3 id="cut-get-fixture-data.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>size</para
></entry>
<entry role="parameter_description"
><para
>フィクスチャデータのサイズを返すアドレスまたは<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>フィクスチャデータのパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端が必須です。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-get-fixture-data.returns" role="returns">
<title
>Returns</title>
<para
>フィクスチャデータの内容。Cutterが所有しているので開放しないください。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="cut-remove-path" role="function" condition="since:1.0.2">
<title
>cut_remove_path&#160;()</title>
<indexterm zone="cut-remove-path" role="1.0.2"
><primary
>cut_remove_path</primary
></indexterm>
<programlisting language="C"
><link linkend="void"><returnvalue>void</returnvalue></link>
cut_remove_path (<parameter>const <link linkend="char"><type>char</type></link> *path</parameter>,
                 <parameter>...</parameter>);</programlisting>
<para
><parameter
>path</parameter
>と、その下にあるパスを再帰的に削除します。いかなるエラーも報告しません。</para>
<refsect3 id="cut-remove-path.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>削除するパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。1.0.7から<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端が必須となりました。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.2"
>1.0.2</link
></para
></refsect2>
<refsect2 id="cut-build-path" role="function" condition="since:1.0.7">
<title
>cut_build_path&#160;()</title>
<indexterm zone="cut-build-path" role="1.0.7"
><primary
>cut_build_path</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_build_path (<parameter
>const <link linkend="char"
><type
>char</type
></link
> *path</parameter
>,
                <parameter
>...</parameter
>);</programlisting>
<para
><parameter
>path</parameter
>と続く要素を使ってパスを作ります。</para>
<refsect3 id="cut-build-path.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>パスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-build-path.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する作成したパス。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.0.7"
>1.0.7</link
></para
></refsect2>
<refsect2 id="cut-build-path-array" role="function" condition="since:1.1.5">
<title
>cut_build_path_array&#160;()</title>
<indexterm zone="cut-build-path-array" role="1.1.5"
><primary
>cut_build_path_array</primary
></indexterm>
<programlisting language="C"
>const <link linkend="char"
><returnvalue
>char</returnvalue
></link
>&#160;*
cut_build_path_array (<parameter
>const <link linkend="char"
><type
>char</type
></link
> **paths</parameter
>);</programlisting>
<para
><parameter
>paths</parameter
>からパスを作ります。</para>
<refsect3 id="cut-build-path-array.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>パスの要素を含んだ<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端の文字列の配列。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="cut-build-path-array.returns" role="returns">
<title
>Returns</title>
<para
>Cutterが所有する作成したパス。解放しないで下さい。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.5"
>1.1.5</link
></para
></refsect2>
<refsect2 id="cut-make-directory" role="function" condition="since:1.1.1">
<title
>cut_make_directory&#160;()</title>
<indexterm zone="cut-make-directory" role="1.1.1"
><primary
>cut_make_directory</primary
></indexterm>
<programlisting language="C"
><link linkend="void"><returnvalue>void</returnvalue></link>
cut_make_directory (<parameter>const <link linkend="char"><type>char</type></link> *path</parameter>,
                    <parameter>...</parameter>);</programlisting>
<para
><parameter
>path</parameter
>と、その途中にあるパスを再帰的に作成します。いかなるエラーも報告しません。</para>
<refsect3 id="cut-make-directory.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>パス。</para
></entry>
<entry role="parameter_description"
><para
>作成するパスの最初の要素。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>...</para
></entry>
<entry role="parameter_description"
><para
>パスの残りの要素。<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>終端。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.1"
>1.1.1</link
></para
></refsect2>

</refsect1>

</refentry>
