From b5f0af19c7d207320026a75b1cb098af454a2ddc Mon Sep 17 00:00:00 2001 From: Dan Barratt Date: Fri, 9 Nov 2012 11:04:58 +1300 Subject: [PATCH] Add overload for MimeTypes.GetMimeType(string) --- source/XeroApi.Tests/MimeTypesTests.cs | 32 +++++++++++++++++++++++ source/XeroApi.Tests/XeroApi.Tests.csproj | 1 + source/XeroApi/MimeTypes.cs | 5 ++++ 3 files changed, 38 insertions(+) create mode 100644 source/XeroApi.Tests/MimeTypesTests.cs diff --git a/source/XeroApi.Tests/MimeTypesTests.cs b/source/XeroApi.Tests/MimeTypesTests.cs new file mode 100644 index 0000000..3ddfd59 --- /dev/null +++ b/source/XeroApi.Tests/MimeTypesTests.cs @@ -0,0 +1,32 @@ +using System.IO; +using NUnit.Framework; + +namespace XeroApi.Tests +{ + public class MimeTypesTests + { + [Test] + public void it_can_return_the_mime_type_for_a_filename() + { + string mimeType = MimeTypes.GetMimeType("anyFilename.pdf"); + + Assert.AreEqual("application/pdf", mimeType); + } + + [Test] + public void it_can_return_the_mime_type_for_a_filepath() + { + string mimeType = MimeTypes.GetMimeType(@"c:\any\dir\anyFilename.jpeg"); + + Assert.AreEqual("image/jpeg", mimeType); + } + + [Test] + public void it_can_return_the_mime_type_for_a_fileinfo() + { + var mimeType = MimeTypes.GetMimeType(new FileInfo("anyFilename.docx")); + + Assert.AreEqual("application/vnd.openxmlformats-officedocument.wordprocessingml.document", mimeType); + } + } +} diff --git a/source/XeroApi.Tests/XeroApi.Tests.csproj b/source/XeroApi.Tests/XeroApi.Tests.csproj index 4080fd2..34bd9e8 100644 --- a/source/XeroApi.Tests/XeroApi.Tests.csproj +++ b/source/XeroApi.Tests/XeroApi.Tests.csproj @@ -47,6 +47,7 @@ + diff --git a/source/XeroApi/MimeTypes.cs b/source/XeroApi/MimeTypes.cs index 7e9f47f..854d523 100644 --- a/source/XeroApi/MimeTypes.cs +++ b/source/XeroApi/MimeTypes.cs @@ -37,5 +37,10 @@ public static string GetMimeType(FileInfo fileInfo) return mimeType; } + + public static string GetMimeType(string fileName) + { + return GetMimeType(new FileInfo(fileName)); + } } }