# file : tests/function/path/testscript # copyright : Copyright (c) 2014-2016 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file .include ../../common.test s = ($cxx.target.class != windows ? '/' : '\') : canonicalize : { $* <'print $canonicalize([path] a/b)' >"a$(s)b" : path $* <'print $canonicalize([paths] a/b a/c)' >"a$(s)b a$(s)c" : paths $* <'print $canonicalize([dir_path] a/b)' >"a$(s)b$s" : dir-path $* <'print $canonicalize([dir_paths] a/b a/c/)' >"a$(s)b$s a$(s)c$s" : dir-paths $* <'print $path.canonicalize(a/b)' >"a$(s)b" : untyped $* <'print $path.canonicalize(a/b/ a/c)' >"a$(s)b$s a$(s)c" : mixed } : normalize : { $* <'print $normalize([path] a/../b)' >"b" : path $* <'print $normalize([paths] a/../b a/../c)' >"b c" : paths $* <'print $normalize([dir_path] a/../b)' >"b$s" : dir-path $* <'print $normalize([dir_paths] a/../b a/../c/)' >"b$s c$s" : dir-paths $* <'print $path.normalize(a/../b)' >"b" : untyped $* <'print $path.normalize(a/../b/ a/../c)' >"b$s c" : mixed : actualize : if ($cxx.target.class == windows) { mkdir Foo; # @@ regex #$* <'print $path.normalize($out_base/foo, true)' >~'/.+\Foo/' # cross $* <'print $path.normalize($out_base/foo, true)' >"$~\\Foo" } } : invalid-path : p = ($cxx.target.class != windows ? /../foo : 'c:/../foo'); $* <"\$path.normalize\('$p')" 2>>"EOE" != 0 error: invalid path: '$p' EOE