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++; } }
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); } }
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); } }