MimeMapperTests.cs 2.2 KB

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