summaryrefslogtreecommitdiff
path: root/tools/build/v2/test/engine/builtin_normalize_path.jam
blob: 76e0a9ddb0fe74ae3fe385f9d5e78dbb07ed6d50 (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#~ Copyright 2008 Jurko Gospodnetic.
#~ Distributed under the Boost Software License, Version 1.0.
#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)

ECHO --- Testing NORMALIZE_PATH builtin... ;

assert "."     : (==) : [ NORMALIZE_PATH ] ;
assert "."     : (==) : [ NORMALIZE_PATH "" ] ;
assert "."     : (==) : [ NORMALIZE_PATH "." ] ;
assert ".."    : (==) : [ NORMALIZE_PATH ".." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "/" ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "\\" ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "//" ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "\\\\" ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "//\\\\//\\\\" ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "/." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "/./" ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "\\\\///.///\\\\\\" ] ;
assert "."     : (==) : [ NORMALIZE_PATH "./././././." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "/./././././." ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo" ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo/" ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\" ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\\\/////" ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\\\/////././." ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\\\/////./././" ] ;
assert "."     : (==) : [ NORMALIZE_PATH "foo/.." ] ;
assert "."     : (==) : [ NORMALIZE_PATH "foo////.." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "///foo/\\\\/.." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "\\\\\\foo\\//\\.." ] ;
assert "."     : (==) : [ NORMALIZE_PATH "foo/./.." ] ;
assert "."     : (==) : [ NORMALIZE_PATH "foo/././././.." ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo/./././bar/./././.././././baz/./././.." ] ;
assert "/foo"  : (==) : [ NORMALIZE_PATH "/foo/./././bar/./././.././././baz/./././.." ] ;
assert "foo"   : (==) : [ NORMALIZE_PATH "foo/./././bar/./././////.././././baz/./././.." ] ;
assert "/foo"  : (==) : [ NORMALIZE_PATH "/foo/./././bar/./././////.././././baz/./././.." ] ;
assert ".."    : (==) : [ NORMALIZE_PATH "./.." ] ;
assert ".."    : (==) : [ NORMALIZE_PATH "././././.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "../.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "./../.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "././././../.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "./.././././.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "././././.././././.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "..//\\\\\\//.." ] ;
assert "../.." : (==) : [ NORMALIZE_PATH "../..\\\\/\\\\" ] ;
assert "."     : (==) : [ NORMALIZE_PATH "foo/../bar/../baz/.." ] ;
assert "."     : (==) : [ NORMALIZE_PATH "foo////..////bar////.//////.////../baz/.." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "/foo/../bar/../baz/.." ] ;
assert "/"     : (==) : [ NORMALIZE_PATH "/foo////..////bar////.//////.////../baz/.." ] ;

# Invalid rooted paths with leading dotdots.
assert         : (==) : [ NORMALIZE_PATH "/.." ] ;
assert         : (==) : [ NORMALIZE_PATH "/../" ] ;
assert         : (==) : [ NORMALIZE_PATH "//\\\\//\\\\/.." ] ;
assert         : (==) : [ NORMALIZE_PATH "\\\\//\\\\//\\.." ] ;
assert         : (==) : [ NORMALIZE_PATH "/../.." ] ;
assert         : (==) : [ NORMALIZE_PATH "/../../.." ] ;
assert         : (==) : [ NORMALIZE_PATH "/foo/bar/../baz/../../.." ] ;
assert         : (==) : [ NORMALIZE_PATH "/../for/././../././bar/././../././.." ] ;
assert         : (==) : [ NORMALIZE_PATH "/../foo/bar" ] ;