private bool WildCardMatch(MediaType mediaType) { if (mediaType.SubType == "*") return mediaType.ContentType == "*" || string.Equals(ContentType, mediaType.ContentType, StringComparison.InvariantCultureIgnoreCase); return false; }
public void ShouldReturnSubType() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.SubType, Is.EqualTo("html")); }
/// <summary> /// Returns true if the given mediaType matches this media type. /// Wildcard matches are allowed - in other words, if this /// media type is text/html, then any of text/html, text/*, /// or */* will match. /// </summary> public virtual bool Matches(string mediaType) { var other = new MediaType(mediaType); return Equals(other) || WildCardMatch(other); }
public void ShouldReturnContentType() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.ContentType, Is.EqualTo("text")); }
public void ShouldReturnEmptySubTypeOnMalformedMediaType() { var mediaType = new MediaType("text"); Assert.That(mediaType.ContentType, Is.EqualTo("text")); Assert.That(mediaType.SubType, Is.EqualTo("")); }
public void ShouldNotMatchDifferentMediaType() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.Matches("text/xml"), Is.False); }
public void ShouldMatchWildcardSubTypeCaseInsensitive() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.Matches("TEXT/*")); }
public void ShouldMatchWildcardedSubType() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.Matches("text/*")); }
public void ShouldMatchExact() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.Matches("text/html"), Is.True); }
public void MatchingIsCaseInsensitive() { var mediaType = new MediaType("text/html"); Assert.That(mediaType.Matches("TEXT/HTML")); }