Apache2-SSI

 view release on metacpan or  search on metacpan

t/SSITest.pm  view on Meta::CPAN

    return( $self->ok( $f->finfo->is_file ) );
}

sub test18
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = $self->_get_test_uri_1 || return;
    return( $self->ok( $f->parent->document_uri eq BASE_URI ) );
}

sub test19
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = $self->_get_test_uri_1 || return;
    return( $self->ok( $f->uri eq BASE_URI . '/include.cgi' ) );
}

## Tests for Apache2::SSI::File
sub test20
{
    my $self = shift( @_ );
    my $f = $self->_get_test_file_1;
    return( $self->ok( defined( $f ) && $f->isa( 'Apache2::SSI::File' ) ) );
}

## Non-existing file object
sub test21
{
    my $self = shift( @_ );
    my $failed = $self->_get_test_file_2;
    return( $self->ok( defined( $failed ) && $failed->isa( 'Apache2::SSI::File' ) ) );
}

## Non-existing file code
sub test22
{
    my $self = shift( @_ );
    my $failed = $self->_get_test_file_2;
    return( $self->ok( defined( $failed ) && $failed->code == 404 ) );
}

## Non-existing file code
sub test23
{
    my $self = shift( @_ );
    my $failed = $self->_get_test_file_2;
    return( $self->ok( defined( $failed ) && $failed->finfo->filetype == Apache2::SSI::Finfo::FILETYPE_NOFILE ) );
}

## Filename match expectation
sub test24
{
    my $self = shift( @_ );
    my $f = $self->_get_test_file_1;
    my $base = $f->base_dir;
    return( $self->ok( $f->filename eq $self->apache_request->document_root . BASE_URI . '/include.cgi' ) );
}

## filename updated with non-existing file
sub test25
{
    my $self = shift( @_ );
    my $f = $self->_get_test_file_1;
    my $base = $f->base_dir;
    my $f2 = $f->clone;
    $f2->filename( $self->apache_request->document_root . BASE_URI . "/../ssi/plop.pl" );
    return( $self->ok( $f2->filename eq $self->apache_request->document_root . BASE_URI . "/plop.pl" ) );
}

## Resulting code from filename updated with non-existing file
sub test26
{
    my $self = shift( @_ );
    my $f = $self->_get_test_file_1;
    my $base = $f->base_dir;
    my $f2 = $f->clone;
    $f2->filename( $self->apache_request->document_root . BASE_URI . "/../ssi/plop.pl" );
    return( $self->ok( $f2->code == 404 ) );
}

## Resulting file type from filename updated with non-existing file
sub test27
{
    my $self = shift( @_ );
    my $f = $self->_get_test_file_1;
    my $base = $f->base_dir;
    my $f2 = $f->clone;
    $f2->filename( $self->apache_request->document_root . BASE_URI . "/../ssi/plop.pl" );
    return( $self->ok( $f2->finfo->filetype == Apache2::SSI::Finfo::FILETYPE_NOFILE ) );
}

sub test28
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = $self->_get_test_file_1 || return;
    return( $self->ok( ( (CORE::stat( $self->apache_request->document_root . '/' . TEST_URI_1 ))[2] & 07777 ) eq $f->finfo->mode ) );
}

sub test29
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = $self->_get_test_file_1 || return;
    return( $self->ok( $f->finfo->is_file ) );
}

sub test30
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = $self->_get_test_file_1 || return;
    return( $self->ok( $f->parent->filename eq $self->apache_request->document_root . BASE_URI ) );
}

sub _get_test_uri_1
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = Apache2::SSI::URI->new(
        apache_request => $r,
        document_uri => TEST_URI_1,
        document_root => $r->document_root,
        debug => $self->{debug},
    ) || return( $self->error( "Unable to get the Apache2::SSI::URI object for uri \"", TEST_URI_1, "\"." ) );
    return( $f );
}

sub _get_test_uri_2
{
    my $self = shift( @_ );
    my $r = $self->apache_request || return( $self->error( "No Apache2::RequestRec object set!" ) );
    my $f = Apache2::SSI::URI->new(
        apache_request => $r,
        base_uri => BASE_URI,
        document_uri => TEST_URI_2,
        document_root => $r->document_root,
        debug => $self->{debug},
    ) || return( $self->error( "Unable to get the Apache2::SSI::URI object for uri \"", TEST_URI_2, "\"." ) );
    return( $f );
}



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