#endif
directory.CreateSubdirectory (dir);
} else {
- string[] dirs = dir.Split (Path.PathSeparatorChars);
+ string[] dirs = dir.Split (Path.PathSeparatorChars, StringSplitOptions.RemoveEmptyEntries);
DirectoryInfo dinfo = directory;
for (int i = 0; i < dirs.Length; i++) {
public void DeleteDirectory (string dir)
{
try {
+ if (Path.IsPathRooted (dir))
+ dir = dir.Substring (1);
DirectoryInfo subdir = directory.CreateSubdirectory (dir);
subdir.Delete ();
}
}
}
#endif
+ [Test]
+ public void RootedDirectory ()
+ {
+ IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForAssembly ();
+ try {
+ isf.CreateDirectory ("test/nested/directory/structure/without/root");
+ isf.CreateDirectory ("/test/nested/directory/structure/with/root");
+ }
+ finally {
+ isf.DeleteDirectory ("test/nested/directory/structure/without/root");
+ isf.DeleteDirectory ("test/nested/directory/structure/without");
+
+ isf.DeleteDirectory ("/test/nested/directory/structure/with/root");
+ isf.DeleteDirectory ("/test/nested/directory/structure/with");
+ isf.DeleteDirectory ("/test/nested/directory/structure");
+ isf.DeleteDirectory ("/test/nested/directory");
+ isf.DeleteDirectory ("/test/nested");
+ isf.DeleteDirectory ("/test");
+ }
+ }
}
}