SYNOPSIS

    use Arch::Test::Framework;

    my $fw = Arch::Test::Framework->new;
    my $tree = $fw->make_tree($dir, $version);

    my $dir = $tree->add_dir;
    $tree->add_file($dir);
    $tree->import;

DESCRIPTION

Arch::Test::Tree provides methods to quickly build and modify Arch project trees within the Arch::Test framework.

METHODS

new, root, framework, run_tla, add_file, add_dir, add_link, modify_file, rename_file, rename_dir, remove_file, remove_dir, inventory, import, commit.

new [framework] [path]

Create a new Arch::Test::Tree instance for path. This method should not be called directly.

root

Returns the project trees root directory.

framework

Returns the associated Arch::Test::Framework reference. Run \*(C`tla @args\*(C' from the tree root.

add_file [dir [name [content]]]

Add a new file name in directory dir. Fill file with content. dir defaults to the project root (\*(C`.\*(C'). If name is not specified, a unique filename is generated. A default content is generated if none is given.

add_dir [parent [name]]

Add a new directory under parent, or \*(C`.\*(C' if parent is not specified. If name is not given, a unique name is generated.

add_link [parent [name [target]]]

Add a new symbolic link under parent, or \*(C`.\*(C' if parent is not specified. If name is not given, a unique name is generated. If target is omitted, a (probably) non-existing target is generated.

modify_file file [content]

Change files content to content, or append \*(C`Has been modified.\*(C' if new content is omitted.

rename_file old new

Rename file old to new. Returns new.

rename_dir old new

Rename directory old to new. Returns new.

remove_file file

Delete file and its associated arch id.

remove_dir dir

Recursively delete dir and its content.

inventory [flags]

Returns the inventory as generated by running \*(C`tla inventory flags\*(C'. flags default to \*(C`-Bs\*(C' if not specified.

import [summary [log]]

Create a \*(C`base-0\*(C' revision from tree using the summary line summary and log as log text. If tree contains a log file, summary and log can be omitted.

commit [summary [log]]

Commit a \*(C`patch-n\*(C' revision from tree using the summary line summary and log as log text. If tree contains a log file, summary and log can be omitted.

AUTHORS

Mikhael Goikhman ([email protected]\*(--Perl-GPL/arch-perl\*(--devel).

Enno Cramer ([email protected]/arch-perl\*(--devel).