public void FileInfoReturnsCorrectDirectoryNameForLongPathFile() { Assert.IsTrue(Directory.Exists(longPathDirectory)); string tempLongPathFilename; do { tempLongPathFilename = Path.Combine(longPathDirectory, Path.GetRandomFileName()); } while (File.Exists(tempLongPathFilename)); Assert.IsFalse(File.Exists(tempLongPathFilename)); using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine("test"); } try { Assert.IsTrue(File.Exists(tempLongPathFilename)); var fileInfo = new FileInfo(tempLongPathFilename); Assert.AreEqual(longPathDirectory, fileInfo.DirectoryName); } finally { File.Delete(tempLongPathFilename); } }
public void TestCreateTextAndWrite() { Assert.IsTrue(Directory.Exists(longPathDirectory)); string tempLongPathFilename; do { tempLongPathFilename = Path.Combine(longPathDirectory, Path.GetRandomFileName()); } while (File.Exists(tempLongPathFilename)); Assert.IsFalse(File.Exists(tempLongPathFilename)); const string fileText = "test"; using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine(fileText); } try { Assert.IsTrue(File.Exists(tempLongPathFilename)); var fileInfo = new FileInfo(tempLongPathFilename); Assert.AreEqual(fileText.Length + Environment.NewLine.Length, fileInfo.Length); } finally { File.Delete(tempLongPathFilename); } }
public void CanCreateFileInfoWithLongPathFile() { string tempLongPathFilename; do { tempLongPathFilename = Path.Combine(longPathDirectory, Path.GetRandomFileName()); } while (File.Exists(tempLongPathFilename)); Assert.IsFalse(File.Exists(tempLongPathFilename)); using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine("test"); } try { Assert.IsTrue(File.Exists(tempLongPathFilename)); var fileInfo = new FileInfo(tempLongPathFilename); Assert.IsNotNull(fileInfo); // just to use fileInfo variable } finally { File.Delete(tempLongPathFilename); } }
public void TestAppendText() { var filename = new StringBuilder(longPathDirectory).Append(@"\").Append("file16.ext").ToString(); using (var writer = File.CreateText(filename)) { writer.Write("start"); } Assert.IsTrue(File.Exists(filename)); try { using (var writer = new FileInfo(filename).AppendText()) { writer.WriteLine("end"); } using (var reader = File.OpenText(filename)) { var text = reader.ReadLine(); Assert.AreEqual("startend", text); } } finally { File.Delete(filename); } }
public void TestProblemWithSystemIoExists() { Assert.Throws <PathTooLongException>(() => { var filename = new StringBuilder(longPathDirectory).Append(@"\").Append("file4.ext").ToString(); using (var writer = File.CreateText(filename)) { writer.WriteLine("test"); } Assert.IsTrue(File.Exists(filename)); try { using (var fileStream = new System.IO.FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None)) using (var bw = new BinaryWriter(fileStream)) { bw.Write(10u); } } finally { File.Delete(filename); } }); }
public StreamWriter CreateText(string path) { var name = path.Split('\\').Last(); ValidateNameLength(name); return(File.CreateText(path)); }
public void TestInUseMove() { const bool recursive = true; #if SHORT_SOURCE var tempPathFilename1 = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.GetRandomFileName()); System.IO.Directory.CreateDirectory(tempPathFilename1); Assert.IsTrue(System.IO.Directory.Exists(Path.GetFullPath(tempPathFilename1))); var tempPathFilename2 = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.GetRandomFileName()); System.IO.Directory.CreateDirectory(tempPathFilename2); Assert.IsTrue(System.IO.Directory.Exists(System.IO.Path.GetFullPath(tempPathFilename2))); try { using ( var writer = System.IO.File.CreateText(System.IO.Path.Combine(tempPathFilename2, "TestInUseMove"))) { string destinationPath = System.IO.Path.GetFullPath(System.IO.Path.Combine(tempPathFilename1, System.IO.Path.GetFileName(tempPathFilename2))); System.IO.Directory.Move(tempPathFilename2, destinationPath); Assert.IsTrue(System.IO.Directory.Exists(System.IO.Path.GetFullPath(tempPathFilename1))); Assert.IsFalse(System.IO.Directory.Exists(System.IO.Path.GetFullPath(tempPathFilename2))); Assert.IsTrue(System.IO.Directory.Exists(destinationPath)); } } catch (Exception e) { throw; } finally { Directory.Delete(tempPathFilename1, recursive); Directory.Delete(tempPathFilename2, recursive); } #endif var tempLongPathFilename1 = Path.Combine(uncDirectory, Path.GetRandomFileName()); Directory.CreateDirectory(tempLongPathFilename1); Assert.IsTrue(Directory.Exists(Path.GetFullPath(tempLongPathFilename1))); var tempLongPathFilename2 = Path.Combine(uncDirectory, Path.GetRandomFileName()); Directory.CreateDirectory(tempLongPathFilename2); Assert.IsTrue(Directory.Exists(Path.GetFullPath(tempLongPathFilename2))); try { using ( var writer = File.CreateText(Path.Combine(tempLongPathFilename2, "TestInUseMove"))) { string destinationPath = Path.GetFullPath(Path.Combine(tempLongPathFilename1, Path.GetFileName(tempLongPathFilename2))); Directory.Move(tempLongPathFilename2, destinationPath); Assert.IsTrue(Directory.Exists(Path.GetFullPath(tempLongPathFilename1))); Assert.IsFalse(Directory.Exists(Path.GetFullPath(tempLongPathFilename2))); Assert.IsTrue(Directory.Exists(destinationPath)); } } finally { Directory.Delete(tempLongPathFilename1, recursive); Directory.Delete(tempLongPathFilename2, recursive); } }
public void SetUp() { rootTestDir = TestContext.CurrentContext.TestDirectory; longPathDirectory = Util.MakeLongPath(rootTestDir); longPathRoot = longPathDirectory.Substring(0, TestContext.CurrentContext.TestDirectory.Length + 1 + longPathDirectory.Substring(rootTestDir.Length + 1).IndexOf('\\')); Directory.CreateDirectory(longPathDirectory); Debug.Assert(Directory.Exists(longPathDirectory)); longPathFilename = new StringBuilder(longPathDirectory).Append(@"\").Append(Filename).ToString(); using (var writer = File.CreateText(longPathFilename)) { writer.WriteLine("test"); } Debug.Assert(File.Exists(longPathFilename)); }
public void TestReadAllTextEncoding() { var filename = new StringBuilder(longPathDirectory).Append(@"\").Append("file3.ext").ToString(); const string fileText = "test"; using (File.CreateText(filename)) { } try { File.WriteAllText(filename, fileText, Encoding.Unicode); Assert.AreEqual(fileText, File.ReadAllText(filename, Encoding.Unicode)); } finally { File.Delete(filename); } }
public void TestReadAllTextWithEncoding() { var tempLongPathFilename = new StringBuilder(longPathDirectory).Append(@"\").Append("file26.ext").ToString(); var fi = new FileInfo(tempLongPathFilename); try { using (var streamWriter = File.CreateText(tempLongPathFilename, Encoding.Unicode)) { streamWriter.WriteLine("file26"); } Assert.AreEqual("file26" + Environment.NewLine, File.ReadAllText(fi.FullName, Encoding.Unicode)); } finally { File.Delete(tempLongPathFilename); } }
public void TestOpenCreatesEmpty() { var tempLongPathFilename = Path.Combine(longPathDirectory, Path.GetRandomFileName()); try { using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine("test"); } var fi = new FileInfo(tempLongPathFilename); using (var fileStream = fi.Open(FileMode.Append, FileAccess.Read, FileShare.Read)) { Assert.AreEqual(-1, fileStream.ReadByte()); } } finally { File.Delete(tempLongPathFilename); } }
public void TestCreateText() { var filename = new StringBuilder(longPathDirectory).Append(@"\").Append("file3.ext").ToString(); const string fileText = "test"; using (var writer = File.CreateText(filename)) { writer.WriteLine(fileText); } try { Assert.IsTrue(File.Exists(filename)); using (var reader = File.OpenText(filename)) { var text = reader.ReadLine(); Assert.AreEqual(fileText, text); } } finally { File.Delete(filename); } }
public static StreamWriter CreateText(string path) { return(File.CreateText(path)); }