diff --git a/src/Workspaces/CoreTest/WorkspaceServiceTests/TemporaryStorageServiceTests.cs b/src/Workspaces/CoreTest/WorkspaceServiceTests/TemporaryStorageServiceTests.cs index 29ad94ac3e7eb5495f413166eec4c6e77bd6a754..a5d11d363e292e78bc9ba2d07d298e447ad55e00 100644 --- a/src/Workspaces/CoreTest/WorkspaceServiceTests/TemporaryStorageServiceTests.cs +++ b/src/Workspaces/CoreTest/WorkspaceServiceTests/TemporaryStorageServiceTests.cs @@ -79,7 +79,6 @@ private void TestTemporaryStorage(ITemporaryStorageService temporaryStorageServi Assert.NotSame(text, text2); Assert.Equal(text.ToString(), text2.ToString()); - Assert.Equal(text.Encoding, text2.Encoding); temporaryStorage.Dispose(); } @@ -334,15 +333,33 @@ public void TestTemporaryStorageTextEncoding() // test normal string var text = SourceText.From(new string(' ', 4096) + "public class A {}", Encoding.ASCII); - TestTemporaryStorage(service, text); + TestTemporaryStorageWithEncoding(service, text); // test empty string text = SourceText.From(string.Empty); - TestTemporaryStorage(service, text); + TestTemporaryStorageWithEncoding(service, text); // test large string text = SourceText.From(new string(' ', 1024 * 1024) + "public class A {}"); - TestTemporaryStorage(service, text); + TestTemporaryStorageWithEncoding(service, text); + } + + private void TestTemporaryStorageWithEncoding(ITemporaryStorageService temporaryStorageService, SourceText text) + { + // create a temporary storage location + var temporaryStorage = temporaryStorageService.CreateTemporaryTextStorage(System.Threading.CancellationToken.None); + + // write text into it + temporaryStorage.WriteTextAsync(text).Wait(); + + // read text back from it + var text2 = temporaryStorage.ReadTextAsync().Result; + + Assert.NotSame(text, text2); + Assert.Equal(text.ToString(), text2.ToString()); + Assert.Equal(text.Encoding, text2.Encoding); + + temporaryStorage.Dispose(); } } }