Archive-Probe

 view release on metacpan or  search on metacpan

t/extract_flat_test.t  view on Meta::CPAN

        $tmpdir,
        'b.tgz'
    );
    my $c_bz2 = catfile(
        $tmpdir,
        'c.bz2'
    );
    my $d_zip = catfile(
        $tmpdir,
        'd.zip'
    );
    my $e_7z = catfile(
        $tmpdir,
        'e.7z'
    );
    my $dir_txt = catfile(
        $tmpdir,
       'dir.txt'
    );
    my $ret = $probe->extract($base, $tmpdir, 0, 1);
    ok(
        $ret &&
        -f $dir_txt &&
        -f $b_tgz &&
        !-f $c_bz2 &&
        !-f $d_zip &&
        !-f $e_7z &&
        !-f $ver_abc,
        'Flat non-recurisve extract deep nested archive(starts w/ dir)'
    );
    # cleanup the temp directory to free disk space
    rmtree($tmpdir);

    # Recursive extract start with diretory test case
    $tmpdir = tempdir('_arXXXXXXXX', DIR => File::Spec->tmpdir());
    $ver_abc = catfile(
        $tmpdir,
        'version.abc'
    );
    $b_tgz = catfile(
        $tmpdir,
        'b.tgz'
    );
    $c_bz2 = catfile(
        $tmpdir,
        'c.bz2'
    );
    $d_zip = catfile(
        $tmpdir,
        'd.zip'
    );
    $e_7z = catfile(
        $tmpdir,
        'e.7z'
    );
    $dir_txt = catfile(
        $tmpdir,
       'dir.txt'
    );
    $ret = $probe->extract($base, $tmpdir, 1, 1);
    # verify that the dir.txt exists in top level folder
    ok(
        $ret &&
        -f $dir_txt &&
        -f $b_tgz &&
        -f $c_bz2 &&
        -f $d_zip &&
        -f $e_7z &&
        -f $ver_abc,
        'Flat Recurisve extract top level file in deep nested archive(starts w/ dir)'
    );
    # cleanup the temp directory to free disk space
    rmtree($tmpdir);

    # Non-recursive extract start with file test case
    $ver_abc = catfile(
        $tmpdir,
        'version.abc'
    );
    $b_tgz = catfile(
        $tmpdir,
        'b.tgz'
    );
    $c_bz2 = catfile(
        $tmpdir,
        'c.bz2'
    );
    $d_zip = catfile(
        $tmpdir,
        'd.zip'
    );
    $e_7z = catfile(
        $tmpdir,
        'e.7z'
    );
    $dir_txt = catfile(
        $tmpdir,
       'dir.txt'
    );
    $base = catfile($test_data_dir, $test_data_no, "a.rar");
    $ret = $probe->extract($base, $tmpdir, 0, 1);
    ok(
        $ret &&
        -f $dir_txt &&
        -f $b_tgz &&
        !-f $c_bz2 &&
        !-f $d_zip &&
        !-f $e_7z &&
        !-f $ver_abc,
        'Flat non-recurisve extract deep nested archive(starts w/ file)'
    );
    # cleanup the temp directory to free disk space
    rmtree($tmpdir);

    # Recursive extract start with file test case
    $tmpdir = tempdir('_arXXXXXXXX', DIR => File::Spec->tmpdir());
    $ver_abc = catfile(
        $tmpdir,
        'version.abc'
    );
    $b_tgz = catfile(
        $tmpdir,
        'b.tgz'
    );
    $c_bz2 = catfile(
        $tmpdir,
        'c.bz2'
    );
    $d_zip = catfile(
        $tmpdir,
        'd.zip'
    );
    $e_7z = catfile(
        $tmpdir,
        'e.7z'
    );
    $dir_txt = catfile(
        $tmpdir,
       'dir.txt'
    );
    $ret = $probe->extract($base, $tmpdir, 1, 1);
    # verify that all files are extracted into the top level folder
    ok(
        $ret &&
        -f $dir_txt &&
        -f $b_tgz &&
        -f $c_bz2 &&
        -f $d_zip &&
        -f $e_7z &&
        -f $ver_abc,
        'Flat Recurisve extract top level file in deep nested archive(starts w/ file)'
    );
    # cleanup the temp directory to free disk space
    rmtree($tmpdir);

}

# vim: set ai nu nobk expandtab sw=4 ts=4 tw=72 :



( run in 1.920 second using v1.01-cache-2.11-cpan-39bf76dae61 )