MimeMapperTests.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // ReSharper disable InconsistentNaming
  2. using Masuit.Tools.Mime;
  3. using NUnit.Framework;
  4. namespace Masuit.Tools.UnitTest.Mvc
  5. {
  6. [TestFixture]
  7. public class MimeMapperTests
  8. {
  9. private IMimeMapper _mapper;
  10. [SetUp]
  11. public void Setup()
  12. {
  13. _mapper = new MimeMapper();
  14. }
  15. [Test]
  16. public void GetDefaultExtension()
  17. {
  18. Assert.AreEqual("text/plain", _mapper.GetMimeFromExtension("txt"));
  19. }
  20. [Test]
  21. public void Search_Works_For_Extensions_With_Dot_As_Well()
  22. {
  23. Assert.IsNotNull(_mapper.GetMimeFromExtension("css"));
  24. Assert.AreEqual(_mapper.GetMimeFromExtension("css"), _mapper.GetMimeFromExtension(".css"));
  25. }
  26. [Test]
  27. public void It_Returns_Default_Mime_For_Null_In_Extension()
  28. {
  29. Assert.AreEqual("application/octet-stream", _mapper.GetMimeFromExtension(null));
  30. }
  31. [Test]
  32. public void It_Returns_Default_Mime_For_Not_Found_Extension()
  33. {
  34. Assert.AreEqual("application/octet-stream", _mapper.GetMimeFromExtension("not found"));
  35. }
  36. [Test]
  37. public void It_Searches_In_Full_Path()
  38. {
  39. Assert.AreEqual("image/gif", _mapper.GetMimeFromPath("C:\\folder1\\folder2\\text.gif"));
  40. }
  41. [Test]
  42. public void It_Searches_In_Relative_Path()
  43. {
  44. Assert.AreEqual("image/gif", _mapper.GetMimeFromPath("..\\..\\..\\text.gif"));
  45. }
  46. [Test]
  47. public void Extension_Overrides_Default_Mime()
  48. {
  49. _mapper = new MimeMapper(new MimeMappingItem
  50. {
  51. Extension = "txt",
  52. MimeType = "my own mime type"
  53. });
  54. Assert.AreEqual("my own mime type", _mapper.GetMimeFromPath(".txt"));
  55. Assert.AreEqual("my own mime type", _mapper.GetMimeFromPath("..\\..\\..\\text.txt"));
  56. }
  57. [Test]
  58. public void Search_Works_For_Files_With_Dots_In_Name()
  59. {
  60. Assert.AreEqual("text/javascript", _mapper.GetMimeFromPath("jquery.min.js"));
  61. Assert.AreEqual("text/javascript", _mapper.GetMimeFromPath("http://example.com/jquery.min.js"));
  62. }
  63. [Test]
  64. public void It_Returns_Default_Mime_For_Files_Without_Extension()
  65. {
  66. Assert.AreEqual("application/octet-stream", _mapper.GetMimeFromPath("testfile"));
  67. Assert.AreEqual("application/octet-stream", _mapper.GetMimeFromPath("\\\\network\\share\\testfile"));
  68. }
  69. }
  70. }