public void TestGetDirectoryName() { var path = @"/bdir/cdir/ddir/file.txt"; var newPath = LexicalPath.GetDirectoryName(path); Assert.AreEqual(@"/bdir/cdir/ddir", newPath); path = @"bdir/.././cdir/ddir/file.txt"; newPath = LexicalPath.GetDirectoryName(path); Assert.AreEqual(@"cdir/ddir", newPath); path = @"//./////////cdir"; newPath = LexicalPath.GetDirectoryName(path); Assert.AreEqual(@"/", newPath); path = @"/"; newPath = LexicalPath.GetDirectoryName(path); Assert.AreEqual(@"/", newPath); }
public void TestClean() { string path = @"/adir/bdir/cdir/ddir/file.txt"; string newPath = LexicalPath.Clean(path); Assert.AreEqual(path, newPath); path = @"/adir/bdir/cdir/../../ddir/file.txt"; newPath = LexicalPath.Clean(path); Assert.AreEqual(@"/adir/ddir/file.txt", newPath); path = @"/adir/bdir/././//////cdir/../../ddir/file.txt"; newPath = LexicalPath.Clean(path); Assert.AreEqual(@"/adir/ddir/file.txt", newPath); path = @"./././././//adir/bdir/././//////cdir/../../ddir/file.txt"; newPath = LexicalPath.Clean(path); Assert.AreEqual(@"adir/ddir/file.txt", newPath); path = @"../.././//./adir/bdir/cdir/ddir/file.txt"; newPath = LexicalPath.Clean(path); Assert.AreEqual(@"../../adir/bdir/cdir/ddir/file.txt", newPath); }