mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-13 11:23:14 +01:00
Initial commit after moving to Tango instead of Phobos. Lots of bugfixes... This build is not suitable for most things.
52 lines
2.1 KiB
D
52 lines
2.1 KiB
D
/*****************************************************************
|
|
|
|
Simple example that shows possible inputs to normalize and the
|
|
corresponding outputs.
|
|
|
|
Put into public domain by Lars Ivar Igesund.
|
|
|
|
*****************************************************************/
|
|
|
|
import tango.io.Stdout;
|
|
|
|
import tango.util.PathUtil;
|
|
|
|
int main()
|
|
{
|
|
version (Posix) {
|
|
Stdout(normalize ( "/foo/../john")).newline;
|
|
Stdout(normalize ( "foo/../john")).newline;
|
|
Stdout(normalize ( "foo/bar/..")).newline;
|
|
Stdout(normalize ( "foo/bar/../john")).newline;
|
|
Stdout(normalize ( "foo/bar/doe/../../john")).newline;
|
|
Stdout(normalize ( "foo/bar/doe/../../john/../bar")).newline;
|
|
Stdout(normalize ( "./foo/bar/doe")).newline;
|
|
Stdout(normalize ( "./foo/bar/doe/../../john/../bar")).newline;
|
|
Stdout(normalize ( "./foo/bar/../../john/../bar")).newline;
|
|
Stdout(normalize ( "foo/bar/./doe/../../john")).newline;
|
|
Stdout(normalize ( "../../foo/bar/./doe/../../john")).newline;
|
|
Stdout(normalize ( "../../../foo/bar")).newline;
|
|
Stdout("** Should now throw exception as the following path is invalid for normalization.").newline;
|
|
Stdout(normalize ( "/../../../foo/bar")).newline;
|
|
}
|
|
version (Windows) {
|
|
Stdout(normalize ( "C:\\foo\\..\\john")).newline;
|
|
Stdout(normalize ( "foo\\..\\john")).newline;
|
|
Stdout(normalize ( "foo\\bar\\..")).newline;
|
|
Stdout(normalize ( "foo\\bar\\..\\john")).newline;
|
|
Stdout(normalize ( "foo\\bar\\doe\\..\\..\\john")).newline;
|
|
Stdout(normalize ( "foo\\bar\\doe\\..\\..\\john\\..\\bar")).newline;
|
|
Stdout(normalize ( ".\\foo\\bar\\doe")).newline;
|
|
Stdout(normalize ( ".\\foo\\bar\\doe\\..\\..\\john\\..\\bar")).newline;
|
|
Stdout(normalize ( ".\\foo\\bar\\..\\..\\john\\..\\bar")).newline;
|
|
Stdout(normalize ( "foo\\bar\\.\\doe\\..\\..\\john")).newline;
|
|
Stdout(normalize ( "..\\..\\foo\\bar\\.\\doe\\..\\..\\john")).newline;
|
|
Stdout(normalize ( "..\\..\\..\\foo\\bar")).newline;
|
|
Stdout("** Should now throw exception as the following path is invalid for normalization.").newline;
|
|
Stdout(normalize ( "C:\\..\\..\\..\\foo\\bar")).newline;
|
|
}
|
|
|
|
|
|
return 0;
|
|
}
|