lemonldap-ng/lemonldap-ng-portal/t/01-BuildUrl.t

41 lines
1.2 KiB
Perl

use Test::More;
use strict;
require 't/test-lib.pm';
my $app = LLNG::Manager::Test->new( {
ini => {
logLevel => 'error',
}
}
)->p;
my @tests = (
[] => 'http://auth.example.com/',
['foo'] => 'http://auth.example.com/foo',
[ 'foo', 'bar' ] => 'http://auth.example.com/foo/bar',
[ { p => 1 } ] => 'http://auth.example.com/?p=1',
['https://foo'] => 'https://foo',
[ 'https://foo', 'bar' ] => 'https://foo/bar',
[ 'https://foo', 'bar', 'baz' ] => 'https://foo/bar/baz',
[ 'https://foo', { p => 1 } ] => 'https://foo?p=1',
[ 'https://foo', 'bar', { p => 1 } ] => 'https://foo/bar?p=1',
);
{
no warnings;
$Data::Dumper::Indent = 0;
$Data::Dumper::Terse = 1;
}
for ( my $i = 0 ; $i < @tests ; $i += 2 ) {
my @args = @{ $tests[$i] };
my $expected = $tests[ $i + 1 ];
ok( $app->buildUrl(@args) eq $expected,
Dumper( \@args ) . "\t=>\t" . $tests[ $i + 1 ] )
or explain( $app->buildUrl(@args) . '', $expected );
count(1);
}
done_testing( count() );