public void op_FromString_string() { var expected = new HttpHeader("name", "value"); var actual = HttpHeader.FromString("name: value"); Assert.Equal(expected, actual); }
public void op_FromString_string_whenEndsWithColon() { var expected = new HttpHeader("name", string.Empty); var actual = HttpHeader.FromString("name:"); Assert.Equal(expected, actual); }
public static HttpHeaderDictionary FromString(string value) { if (null == value) { throw new ArgumentNullException("value"); } var result = new HttpHeaderDictionary(); #if NET20 var lines = IEnumerableExtensionMethods.ToQueue(StringExtensionMethods.Split(value, Environment.NewLine, StringSplitOptions.None)); #else var lines = value.Split(Environment.NewLine, StringSplitOptions.None).ToQueue(); #endif if (0 == lines.Count) { return(result); } while (0 != lines.Count) { var line = lines.Dequeue(); if (0 == line.Length) { break; } result.Add(HttpHeader.FromString(line)); } return(result); }
public void Read(TextReader reader) { if (null == reader) { throw new ArgumentNullException("reader"); } while (true) { var peek = reader.Peek(); var line = reader.ReadLine(); if (peek.EqualsOneOf(-1, 13)) { break; // EOF or CR } while (reader.Peek().EqualsOneOf(9, 32)) { line += Environment.NewLine + reader.ReadLine(); // HT or SPACE } Add(HttpHeader.FromString(line)); } }
public void op_FromString_string_whenMissingColon() { Assert.Throws <FormatException>(() => HttpHeader.FromString("name value")); }
public void op_FromString_stringNull() { Assert.Throws <ArgumentNullException>(() => HttpHeader.FromString(null)); }
public void op_FromString_stringEmpty() { Assert.Throws <ArgumentOutOfRangeException>(() => HttpHeader.FromString(string.Empty)); }
public void op_FromString_string_whenStartsWithColon() { Assert.Throws <FormatException>(() => HttpHeader.FromString(": value")); }