diff --git a/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs b/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs index e5a8684b3d..37e4a49da0 100644 --- a/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs +++ b/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs @@ -53,6 +53,7 @@ namespace ICSharpCode.SharpDevelop reader = new StreamReader(stream, Encoding.UTF8); break; } else { + stream.Position = 0; byte[] buffer = new byte[BUFFER_SIZE]; int length = stream.Read(buffer, 0, BUFFER_SIZE); return FindMimeType(buffer, 0, length); diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj index 18bdd2d84d..7d59390954 100644 --- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj +++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj @@ -204,5 +204,8 @@ + + + \ No newline at end of file diff --git a/src/Main/Base/Test/MimeDetectionTests.cs b/src/Main/Base/Test/MimeDetectionTests.cs index 12f612642d..afaf84889e 100644 --- a/src/Main/Base/Test/MimeDetectionTests.cs +++ b/src/Main/Base/Test/MimeDetectionTests.cs @@ -54,6 +54,7 @@ namespace ICSharpCode.SharpDevelop.Tests { TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_be_test.txt"), "text/plain"); TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_le_test.txt"), "text/plain"); + TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_bug1.txt"), "text/plain"); } byte[] LoadFile(string resourceName) diff --git a/src/Main/Base/Test/mime_bug1.txt b/src/Main/Base/Test/mime_bug1.txt new file mode 100644 index 0000000000..2887279105 --- /dev/null +++ b/src/Main/Base/Test/mime_bug1.txt @@ -0,0 +1 @@ +1° \ No newline at end of file