public void FirstDispositionNameThrows() { Assert.ThrowsArgumentNull(() => { HttpContentCollectionExtensions.FirstDispositionName(null, "A"); }, "contents"); IEnumerable <HttpContent> content = HttpContentCollectionExtensionsTests.CreateContent(); Assert.ThrowsArgumentNull(() => { HttpContentCollectionExtensions.FirstDispositionName(content, null); }, "dispositionName"); foreach (string empty in TestData.EmptyStrings) { Assert.ThrowsArgumentNull(() => { HttpContentCollectionExtensions.FirstDispositionName(content, empty); }, "dispositionName"); } }
/// <summary> /// Returns the first <see cref="HttpContent"/> in a sequence that has a <see cref="ContentDispositionHeaderValue"/> header field /// with a <see cref="ContentDispositionHeaderValue.Name"/> property equal to <paramref name="dispositionName"/>. /// </summary> /// <param name="contents">The contents to evaluate</param> /// <param name="dispositionName">The disposition name to look for.</param> /// <returns>The first <see cref="HttpContent"/> in the sequence with a matching disposition name.</returns> public static HttpContent FirstDispositionName(this IEnumerable <HttpContent> contents, string dispositionName) { if (contents == null) { throw new ArgumentNullException("contents"); } if (String.IsNullOrWhiteSpace(dispositionName)) { throw new ArgumentNullException("dispositionName"); } return(contents.First((item) => { return HttpContentCollectionExtensions.FirstDispositionName(item, dispositionName); })); }