Skip to content

Commit 56fe3ee

Browse files
committed
Fixes #34
1 parent 89c351e commit 56fe3ee

File tree

3 files changed

+847
-6
lines changed

3 files changed

+847
-6
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
using System;
2+
using NUnit.Framework;
3+
using Simplify.Web.Util;
4+
5+
namespace Simplify.Web.Tests.Util
6+
{
7+
[TestFixture]
8+
public class MimeTypeAssistantTests
9+
{
10+
[Test]
11+
public void GetMimeType_SomeExistingTypeWithDot_MimeTypeReturned()
12+
{
13+
// Arrange
14+
const string extension = ".txt";
15+
16+
// Act
17+
var result = MimeTypeAssistant.GetMimeType(extension);
18+
19+
// Assert
20+
Assert.AreEqual("text/plain", result);
21+
}
22+
23+
[Test]
24+
public void GetMimeType_SomeExistingTypeWithoutDot_MimeTypeReturned()
25+
{
26+
// Arrange
27+
const string extension = "txt";
28+
29+
// Act
30+
var result = MimeTypeAssistant.GetMimeType(extension);
31+
32+
// Assert
33+
Assert.AreEqual("text/plain", result);
34+
}
35+
36+
[Test]
37+
public void GetMimeTypeByFilePath_SomeFilePath_MimeTypeReturned()
38+
{
39+
// Arrange
40+
const string filePath = "C:\\MyFile.txt";
41+
42+
// Act
43+
var result = MimeTypeAssistant.GetMimeTypeByFilePath(filePath);
44+
45+
// Assert
46+
Assert.AreEqual("text/plain", result);
47+
}
48+
49+
[Test]
50+
public void GetExtension_SomeExistingMimeType_FileExtensionReturned()
51+
{
52+
// Arrange
53+
const string mimeType = "text/plain";
54+
55+
// Act
56+
var result = MimeTypeAssistant.GetExtension(mimeType);
57+
58+
// Assert
59+
Assert.AreEqual(".txt", result);
60+
}
61+
62+
[Test]
63+
public void GetExtension_NonExistingMimeType_FileExtensionReturned()
64+
{
65+
// Arrange
66+
const string mimeType = "test";
67+
68+
// Act & Assert
69+
var result = Assert.Throws<ArgumentException>(() => MimeTypeAssistant.GetExtension(mimeType));
70+
71+
// Assert
72+
Assert.AreEqual("Requested mime type is not registered: test", result.Message);
73+
}
74+
75+
[Test]
76+
public void GetExtension_NonExistingMimeTypeNoExceptions_EmptyString()
77+
{
78+
// Arrange
79+
const string mimeType = "test";
80+
81+
// Act & Assert
82+
var result = MimeTypeAssistant.GetExtension(mimeType, false);
83+
84+
// Assert
85+
Assert.AreEqual("", result);
86+
}
87+
}
88+
}

src/Simplify.Web/Core/StaticFiles/StaticFileResponse.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Threading.Tasks;
33
using Microsoft.AspNetCore.Http;
44
using Simplify.System;
5+
using Simplify.Web.Util;
56

67
namespace Simplify.Web.Core.StaticFiles
78
{
@@ -68,12 +69,7 @@ private void SetModificationHeaders(DateTime lastModifiedTime)
6869
/// <param name="fileName">Name of the file.</param>
6970
private void SetMimeType(string fileName)
7071
{
71-
fileName = fileName.ToLower();
72-
73-
if (fileName.EndsWith(".css"))
74-
_response.ContentType = "text/css";
75-
else if (fileName.EndsWith(".js"))
76-
_response.ContentType = "text/javascript";
72+
_response.ContentType = MimeTypeAssistant.GetMimeTypeByFilePath(fileName);
7773
}
7874
}
7975
}

0 commit comments

Comments
 (0)