diff options
Diffstat (limited to 'tools/build/v2/test/engine/builtin_normalize_path.jam')
-rw-r--r-- | tools/build/v2/test/engine/builtin_normalize_path.jam | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/build/v2/test/engine/builtin_normalize_path.jam b/tools/build/v2/test/engine/builtin_normalize_path.jam new file mode 100644 index 0000000000..76e0a9ddb0 --- /dev/null +++ b/tools/build/v2/test/engine/builtin_normalize_path.jam @@ -0,0 +1,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" ] ; |