public void ContentLength_ReadValue_DelegateInvoked() { _headers = new HttpContentHeaders(() => { return(15); }); // The delegate is invoked to return the length. Assert.Equal(15, _headers.ContentLength); Assert.Equal((long)15, _headers.GetParsedValues(HttpKnownHeaderNames.ContentLength)); // After getting the calculated content length, set it to null. _headers.ContentLength = null; Assert.Equal(null, _headers.ContentLength); Assert.False(_headers.Contains(HttpKnownHeaderNames.ContentLength)); _headers.ContentLength = 27; Assert.Equal((long)27, _headers.ContentLength); Assert.Equal((long)27, _headers.GetParsedValues(HttpKnownHeaderNames.ContentLength)); }
public void ContentLength_ReadValue_TryComputeLengthInvoked() { _headers = new HttpContentHeaders(new ComputeLengthHttpContent(() => 15)); // The delegate is invoked to return the length. Assert.Equal(15, _headers.ContentLength); Assert.Equal((long)15, _headers.GetParsedValues(KnownHeaders.ContentLength.Descriptor)); // After getting the calculated content length, set it to null. _headers.ContentLength = null; Assert.Equal(null, _headers.ContentLength); Assert.False(_headers.Contains(KnownHeaders.ContentLength.Name)); _headers.ContentLength = 27; Assert.Equal((long)27, _headers.ContentLength); Assert.Equal((long)27, _headers.GetParsedValues(KnownHeaders.ContentLength.Descriptor)); }
public void ContentLocation_UseAddMethodWithInvalidValue_InvalidValueRecognized() { _headers.TryAddWithoutValidation("Content-Location", " http://example.com http://other"); Assert.Null(_headers.GetParsedValues("Content-Location")); Assert.Equal(1, _headers.GetValues("Content-Location").Count()); Assert.Equal(" http://example.com http://other", _headers.GetValues("Content-Location").First()); _headers.Clear(); _headers.TryAddWithoutValidation("Content-Location", "http://host /other"); Assert.Null(_headers.GetParsedValues("Content-Location")); Assert.Equal(1, _headers.GetValues("Content-Location").Count()); Assert.Equal("http://host /other", _headers.GetValues("Content-Location").First()); }
public void ContentLength_SetCustomValue_DelegateNotInvoked() { _headers = new HttpContentHeaders(() => { throw new ShouldNotBeInvokedException(); }); _headers.ContentLength = 27; Assert.Equal((long)27, _headers.ContentLength); Assert.Equal((long)27, _headers.GetParsedValues(HttpKnownHeaderNames.ContentLength)); // After explicitly setting the content length, set it to null. _headers.ContentLength = null; Assert.Equal(null, _headers.ContentLength); Assert.False(_headers.Contains(HttpKnownHeaderNames.ContentLength)); // Make sure the header gets serialized correctly _headers.ContentLength = 12345; Assert.Equal("12345", _headers.GetValues("Content-Length").First()); }