Ejemplo n.º 1
0
        public void GetHeaderStrings_SetMultipleHeaders_AllHeaderValuesReturned()
        {
            MockHeaderParser parser = new MockHeaderParser(true);
            MockHeaders headers = new MockHeaders(parser);

            // Add header value with invalid newline chars.
            headers.Add(knownHeader, rawPrefix + "1");
            headers.Add("header2", "value2");
            headers.Add("header3", (string)null);
            headers.Add("header4", "value41");
            headers.Add("header4", "value42");

            string[] expectedHeaderNames = { knownHeader, "header2", "header3", "header4" };
            string[] expectedHeaderValues = { parsedPrefix + "1", "value2", "", "value41, value42" };
            int i = 0;

            foreach (var header in headers.GetHeaderStrings())
            {
                Assert.NotEqual(expectedHeaderNames.Length, i);
                Assert.Equal(expectedHeaderNames[i], header.Key);
                Assert.Equal(expectedHeaderValues[i], header.Value);
                i++;
            }
        }
Ejemplo n.º 2
0
        public void GetHeaderStrings_SetMultipleValuesOnSingleValueHeader_AllHeaderValuesReturned()
        {
            MockHeaderParser parser = new MockHeaderParser(false);
            MockHeaders headers = new MockHeaders(parser);

            headers.TryAddWithoutValidation(knownHeader, "value1");
            headers.TryAddWithoutValidation(knownHeader, rawPrefix);

            foreach (var header in headers.GetHeaderStrings())
            {
                Assert.Equal(knownHeader, header.Key);
                // Note that the added rawPrefix did not get parsed
                Assert.Equal("value1, " + rawPrefix, header.Value);
            }
        }
Ejemplo n.º 3
0
        public void GetHeaderStrings_SetValidAndInvalidHeaderValues_AllHeaderValuesReturned()
        {
            MockHeaderParser parser = new MockHeaderParser("---");
            MockHeaders headers = new MockHeaders(parser);

            // Add header value with invalid newline chars.
            headers.Add(knownHeader, rawPrefix + "1");
            headers.TryAddWithoutValidation(knownHeader, "value2,value3");
            headers.TryAddWithoutValidation(knownHeader, invalidHeaderValue);

            foreach (var header in headers.GetHeaderStrings())
            {
                Assert.Equal(knownHeader, header.Key);
                // Note that raw values don't get parsed but just added to the result.
                Assert.Equal("value2,value3---" + invalidHeaderValue + "---" + parsedPrefix + "1", header.Value);
            }
        }