File: normalize_path.t

package info (click to toggle)
libdancer-perl 1.3521%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,460 kB
  • sloc: perl: 7,436; xml: 2,211; sh: 54; makefile: 32; sql: 5
file content (28 lines) | stat: -rw-r--r-- 678 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use strict;
use warnings;

use Test::More tests => 10;
use Dancer::FileUtils 'normalize_path';

my %paths = (
    'one/../two'           => 'two',
    '/one/../two'          => '/two',
    '//one/../two'         => '//two',
    '/one/../two/../three' => '/three',
    'one/two/three/../'    => 'one/two/',
    '/one/two/three/../'   => '/one/two/',
    'one/./two/./three/'   => 'one/two/three/',
    'a/../b'               => 'b',
    'a/b/../../c'          => 'c',
    'a/b/c/../../../d'     => 'd',
);

foreach my $path ( keys %paths ) {
    my $result = $paths{$path};

    is(
        normalize_path($path),
        $result,
        "Normalized $path => $result",
    );
}