public void TestGenericTypes(BasicMimeType inMimeType, string inMimeTypeStr) { True(inMimeType != BasicMimeType.none); True(inMimeType.IsGenericType()); True(inMimeTypeStr.NotNulle()); True(inMimeTypeStr.EndsWith("/none")); BasicMimeType mtypeFromStr = BasicMimeTypesX.ParseMimeType(inMimeTypeStr); // none; see next line. Tests that MUST have `allowGenericMatchOnNotFound: true`, // and that default is the reverse True(mtypeFromStr == BasicMimeType.none); mtypeFromStr = BasicMimeTypesX.ParseMimeType(inMimeTypeStr, allowGenericMatchOnNotFound: true); True(inMimeType == mtypeFromStr); }
public void TestBunchOfFullValidTypes( BasicMimeType inMimeType, string inMimeTypeStr, string inExt) { // ASSERT: NOT testing None || Generic types || null mstring || extensions True(inMimeTypeStr.NotNulle()); True(inExt.NotNulle()); False(inMimeType.IsGenericTypeOrNone()); BasicMimeType mtypeFromStr = BasicMimeTypesX.ParseMimeType(inMimeTypeStr); True(mtypeFromStr == inMimeType); BasicMimeType extMtype = BasicMimeTypesX.GetMimeTypeFromFileExtension(inExt); True(mtypeFromStr == extMtype); string gottenMTypeStrFromInEnum = inMimeType.MimeTypeString(); True(inMimeTypeStr == gottenMTypeStrFromInEnum); }
/// <summary></summary> /// <param name="mimeType"></param> /// <param name="extension"></param> /// <param name="uri">Input uri to extend some possible detections, currently /// only used when <paramref name="detectYtubeVimeoTypes"/>.</param> /// <param name="detectYtubeVimeoTypes">True to detect a mime-type for youtube / vimeo.</param> public static BasicMimeType GetMimeTypeFromTypeOrExtension( string mimeType, string extension, Uri uri = null, bool detectYtubeVimeoTypes = false) { mimeType = mimeType.NullIfEmptyTrimmed(); BasicMimeType mime = BasicMimeType.none; if (mimeType != null) { mime = BasicMimeTypesX.ParseMimeType(mimeType, allowGenericMatchOnNotFound: true); } if (extension.NotNulle() && mime.IsGenericTypeOrNone()) //.HasNoSubtypeOrNone()) { { BasicMimeType _extMime = BasicMimeType.none.GetMimeTypeFromFileExtension(extension); mime = mime.GetMostQualifiedMimeType(_extMime); } if (detectYtubeVimeoTypes && uri != null) { if (mime == BasicMimeType.none || (extension.IsNulle() && mimeType == null)) // hmmm, i guess let this override if these conditions met { string linkHost = uri.Host; if (linkHost.CountN() > 5) { if (linkHost.Contains("vimeo")) { mime = BasicMimeType.video_vimeo; } else if (linkHost.Contains("youtu")) { mime = BasicMimeType.video_youtube; } } } } return(mime); }
public void Test_InvalidOrMissing_Extensions(string ext) { BasicMimeType extMtype = BasicMimeTypesX.GetMimeTypeFromFileExtension(ext); True(extMtype == BasicMimeType.none); }