Exemple #1
0
        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));
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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());
        }