private void CheckInvalidTryParse(string input) { ViaHeaderValue result = null; Assert.False(ViaHeaderValue.TryParse(input, out result)); Assert.Null(result); }
public void Parse_Invalid() { try { ViaHeaderValue.Parse(null); Assert.Fail("#1"); } catch (FormatException) { } try { ViaHeaderValue.Parse(" "); Assert.Fail("#2"); } catch (FormatException) { } try { ViaHeaderValue.Parse("a"); Assert.Fail("#3"); } catch (FormatException) { } try { ViaHeaderValue.Parse("1 nowhere.com :43"); Assert.Fail("#4"); } catch (FormatException) { } }
private void CheckInvalidParse(string input) { Assert.Throws <FormatException>(() => { ViaHeaderValue.Parse(input); }); Assert.False(ViaHeaderValue.TryParse(input, out ViaHeaderValue result)); Assert.Null(result); }
private void CheckValidTryParse(string input, ViaHeaderValue expectedResult) { ViaHeaderValue result = null; Assert.True(ViaHeaderValue.TryParse(input, out result)); Assert.Equal(expectedResult, result); }
private static void CheckInvalidGetViaLength(string input, int startIndex) { object result = null; Assert.Equal(0, ViaHeaderValue.GetViaLength(input, startIndex, out result)); Assert.Null(result); }
public void GetHashCode_UseSameAndDifferentRanges_SameOrDifferentHashCodes() { ViaHeaderValue via1 = new ViaHeaderValue("x11", "host"); ViaHeaderValue via2 = new ViaHeaderValue("x11", "HOST"); ViaHeaderValue via3 = new ViaHeaderValue("X11", "host"); ViaHeaderValue via4 = new ViaHeaderValue("x11", "host", "HTTP"); ViaHeaderValue via5 = new ViaHeaderValue("x11", "host", "http"); ViaHeaderValue via6 = new ViaHeaderValue("x11", "host", null, "(comment)"); ViaHeaderValue via7 = new ViaHeaderValue("x11", "host", "HTTP", "(comment)"); ViaHeaderValue via8 = new ViaHeaderValue("x11", "host", "HTTP", "(COMMENT)"); ViaHeaderValue via9 = new ViaHeaderValue("x12", "host"); ViaHeaderValue via10 = new ViaHeaderValue("x11", "host2"); ViaHeaderValue via11 = new ViaHeaderValue("x11", "host", "WS"); ViaHeaderValue via12 = new ViaHeaderValue("x11", "host", string.Empty, string.Empty); Assert.Equal(via1.GetHashCode(), via2.GetHashCode()); Assert.Equal(via1.GetHashCode(), via3.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via4.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via6.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via7.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via9.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via10.GetHashCode()); Assert.NotEqual(via4.GetHashCode(), via11.GetHashCode()); Assert.Equal(via4.GetHashCode(), via5.GetHashCode()); Assert.NotEqual(via4.GetHashCode(), via6.GetHashCode()); Assert.NotEqual(via6.GetHashCode(), via7.GetHashCode()); Assert.NotEqual(via7.GetHashCode(), via8.GetHashCode()); Assert.Equal(via1.GetHashCode(), via12.GetHashCode()); }
public void TryParse_Invalid() { ViaHeaderValue res; Assert.IsFalse(ViaHeaderValue.TryParse("", out res), "#1"); Assert.IsNull(res, "#2"); }
public void Equals_UseSameAndDifferentRanges_EqualOrNotEqualNoExceptions() { ViaHeaderValue via1 = new ViaHeaderValue("x11", "host"); ViaHeaderValue via2 = new ViaHeaderValue("x11", "HOST"); ViaHeaderValue via3 = new ViaHeaderValue("X11", "host"); ViaHeaderValue via4 = new ViaHeaderValue("x11", "host", "HTTP"); ViaHeaderValue via5 = new ViaHeaderValue("x11", "host", "http"); ViaHeaderValue via6 = new ViaHeaderValue("x11", "host", null, "(comment)"); ViaHeaderValue via7 = new ViaHeaderValue("x11", "host", "HTTP", "(comment)"); ViaHeaderValue via8 = new ViaHeaderValue("x11", "host", "HTTP", "(COMMENT)"); ViaHeaderValue via9 = new ViaHeaderValue("x12", "host"); ViaHeaderValue via10 = new ViaHeaderValue("x11", "host2"); ViaHeaderValue via11 = new ViaHeaderValue("x11", "host", "WS"); ViaHeaderValue via12 = new ViaHeaderValue("x11", "host", string.Empty, string.Empty); Assert.False(via1.Equals(null), "x11 host vs. <null>"); Assert.True(via1.Equals(via2), "x11 host vs. x11 HOST"); Assert.True(via1.Equals(via3), "x11 host vs. X11 host"); Assert.False(via1.Equals(via4), "x11 host vs. HTTP/x11 host"); Assert.False(via4.Equals(via1), "HTTP/x11 host vs. x11 host"); Assert.False(via1.Equals(via6), "x11 host vs. HTTP/x11 (comment)"); Assert.False(via6.Equals(via1), "HTTP/x11 (comment) vs. x11 host"); Assert.False(via1.Equals(via7), "x11 host vs. HTTP/x11 host (comment)"); Assert.False(via7.Equals(via1), "HTTP/x11 host (comment) vs. x11 host"); Assert.False(via1.Equals(via9), "x11 host vs. x12 host"); Assert.False(via1.Equals(via10), "x11 host vs. x11 host2"); Assert.False(via4.Equals(via11), "HTTP/x11 host vs. WS/x11 host"); Assert.True(via4.Equals(via5), "HTTP/x11 host vs. http/x11 host"); Assert.False(via4.Equals(via6), "HTTP/x11 host vs. x11 host (comment)"); Assert.False(via6.Equals(via4), "x11 host (comment) vs. HTTP/x11 host"); Assert.False(via6.Equals(via7), "x11 host (comment) vs. HTTP/x11 host (comment)"); Assert.False(via7.Equals(via6), "HTTP/x11 host (comment) vs. x11 host (comment)"); Assert.False(via7.Equals(via8), "HTTP/x11 host (comment) vs. HTTP/x11 host (COMMENT)"); Assert.True(via1.Equals(via12), "x11 host vs. x11 host <empty> <empty>"); }
private static void CheckGetViaLength(string input, int startIndex, int expectedLength, ViaHeaderValue expectedResult) { object result = null; Assert.Equal(expectedLength, ViaHeaderValue.GetViaLength(input, startIndex, out result)); Assert.Equal(expectedResult, result); }
public void Parse() { var res = ViaHeaderValue.Parse("1.1 nowhere.com"); Assert.IsNull(res.ProtocolName, "#1"); Assert.AreEqual("nowhere.com", res.ReceivedBy, "#2"); Assert.AreEqual("1.1", res.ProtocolVersion, "#3"); }
public void TryParse() { ViaHeaderValue res; Assert.IsTrue(ViaHeaderValue.TryParse("a b", out res), "#1"); Assert.AreEqual("b", res.ReceivedBy, "#2"); Assert.AreEqual("a", res.ProtocolVersion, "#3"); Assert.IsNull(res.Comment, "#4"); Assert.IsNull(res.ProtocolName, "#5"); }
private void CheckValidParsedValue(string input, int startIndex, ViaHeaderValue expectedResult, int expectedIndex) { HttpHeaderParser parser = GenericHeaderParser.MultipleValueViaParser; object result = null; Assert.True(parser.TryParseValue(input, null, ref startIndex, out result), string.Format("TryParse returned false: {0}", input)); Assert.Equal(expectedIndex, startIndex); Assert.Equal(result, expectedResult); }
public void Ctor_AllParams_AllFieldsInitializedCorrectly() { ViaHeaderValue via = new ViaHeaderValue("1.1", "host", "HTTP", "(comment)"); Assert.Equal("1.1", via.ProtocolVersion); Assert.Equal("host", via.ReceivedBy); Assert.Equal("HTTP", via.ProtocolName); Assert.Equal("(comment)", via.Comment); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "h", "p", "(x"); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "h", "p", "x)"); }); }
public void Equals() { var value = new ViaHeaderValue("ab", "x"); Assert.AreEqual(value, new ViaHeaderValue("ab", "x"), "#1"); Assert.AreEqual(value, new ViaHeaderValue("AB", "X"), "#2"); Assert.AreNotEqual(value, new ViaHeaderValue("AA", "x"), "#3"); value = new ViaHeaderValue("ab", "DD", "cc"); Assert.AreEqual(value, new ViaHeaderValue("Ab", "DD", "cC"), "#4"); Assert.AreNotEqual(value, new ViaHeaderValue("AB", "DD"), "#5"); Assert.AreNotEqual(value, new ViaHeaderValue("Ab", "dd", "cc", "(c)"), "#6"); }
public void Ctor_ProtocolVersionReceivedByAndProtocolNameOnlyOverload_CallForwardedToOtherCtor() { ViaHeaderValue via = new ViaHeaderValue("1.1", "host", "HTTP"); Assert.Equal("1.1", via.ProtocolVersion); Assert.Equal("host", via.ReceivedBy); Assert.Equal("HTTP", via.ProtocolName); Assert.Null(via.Comment); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "h", "x y"); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "h", "x "); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "h", " x"); }); }
public void ToString_UseDifferentRanges_AllSerializedCorrectly() { ViaHeaderValue via = new ViaHeaderValue("1.1", "host:80"); Assert.Equal("1.1 host:80", via.ToString()); via = new ViaHeaderValue("1.1", "[::1]", "HTTP"); Assert.Equal("HTTP/1.1 [::1]", via.ToString()); via = new ViaHeaderValue("1.0", "www.example.com", "WS", "(comment)"); Assert.Equal("WS/1.0 www.example.com (comment)", via.ToString()); via = new ViaHeaderValue("1.0", "www.example.com:80", null, "(comment)"); Assert.Equal("1.0 www.example.com:80 (comment)", via.ToString()); }
public void Parse() { var res = ViaHeaderValue.Parse("1.1 nowhere.com"); Assert.IsNull(res.ProtocolName, "#1"); Assert.AreEqual("nowhere.com", res.ReceivedBy, "#2"); Assert.AreEqual("1.1", res.ProtocolVersion, "#3"); Assert.AreEqual("1.1 nowhere.com", res.ToString(), "#4"); res = ViaHeaderValue.Parse("foo / 1.1 nowhere.com:43 ( lalala ) "); Assert.AreEqual("foo", res.ProtocolName, "#10"); Assert.AreEqual("1.1", res.ProtocolVersion, "#11"); Assert.AreEqual("nowhere.com:43", res.ReceivedBy, "#12"); Assert.AreEqual("( lalala )", res.Comment, "#13"); Assert.AreEqual("foo/1.1 nowhere.com:43 ( lalala )", res.ToString(), "#14"); }
public void Properties() { var value = new ViaHeaderValue("s", "p"); Assert.IsNull(value.ProtocolName, "#1"); Assert.AreEqual("s", value.ProtocolVersion, "#2"); Assert.AreEqual("p", value.ReceivedBy, "#3"); value = new ViaHeaderValue("s", "rb", "name"); Assert.AreEqual("name", value.ProtocolName, "#4"); Assert.AreEqual("s", value.ProtocolVersion, "#5"); Assert.AreEqual("rb", value.ReceivedBy, "#6"); value = new ViaHeaderValue("s", "rb", "name", "(cmt)"); Assert.AreEqual("name", value.ProtocolName, "#7"); Assert.AreEqual("s", value.ProtocolVersion, "#8"); Assert.AreEqual("rb", value.ReceivedBy, "#9"); Assert.AreEqual("(cmt)", value.Comment, "#10"); }
public void Ctor_ProtocolVersionAndReceivedByOnlyOverload_CallForwardedToOtherCtor() { ViaHeaderValue via = new ViaHeaderValue("1.1", ".token"); Assert.Equal("1.1", via.ProtocolVersion); Assert.Equal(".token", via.ReceivedBy); Assert.Null(via.ProtocolName); Assert.Null(via.Comment); via = new ViaHeaderValue("x11", "[::1]:1818"); Assert.Equal("x11", via.ProtocolVersion); Assert.Equal("[::1]:1818", via.ReceivedBy); AssertExtensions.Throws <ArgumentException>("protocolVersion", () => { new ViaHeaderValue(null, "host"); }); AssertExtensions.Throws <ArgumentException>("protocolVersion", () => { new ViaHeaderValue("", "host"); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("x y", "h"); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("x ", "h"); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue(" x", "h"); }); AssertExtensions.Throws <ArgumentException>("receivedBy", () => { new ViaHeaderValue("1.1", null); }); AssertExtensions.Throws <ArgumentException>("receivedBy", () => { new ViaHeaderValue("1.1", ""); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "x y"); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", "x "); }); Assert.Throws <FormatException>(() => { new ViaHeaderValue("v", " x"); }); }
public void Clone_Call_CloneFieldsMatchSourceFields() { ViaHeaderValue source = new ViaHeaderValue("1.1", "host"); ViaHeaderValue clone = (ViaHeaderValue)((ICloneable)source).Clone(); Assert.Equal(source.ProtocolVersion, clone.ProtocolVersion); Assert.Equal(source.ReceivedBy, clone.ReceivedBy); Assert.Equal(source.ProtocolName, clone.ProtocolName); Assert.Equal(source.Comment, clone.Comment); source = new ViaHeaderValue("1.1", "host", "HTTP"); clone = (ViaHeaderValue)((ICloneable)source).Clone(); Assert.Equal(source.ProtocolVersion, clone.ProtocolVersion); Assert.Equal(source.ReceivedBy, clone.ReceivedBy); Assert.Equal(source.ProtocolName, clone.ProtocolName); Assert.Equal(source.Comment, clone.Comment); source = new ViaHeaderValue("1.1", "host", "HTTP", "(comment)"); clone = (ViaHeaderValue)((ICloneable)source).Clone(); Assert.Equal(source.ProtocolVersion, clone.ProtocolVersion); Assert.Equal(source.ReceivedBy, clone.ReceivedBy); Assert.Equal(source.ProtocolName, clone.ProtocolName); Assert.Equal(source.Comment, clone.Comment); }
public static bool TryParse(string input, out ViaHeaderValue parsedValue);
public static bool TryParse(string input, out ViaHeaderValue parsedValue) { throw new NotImplementedException(); }
public static bool TryParse (string input, out ViaHeaderValue parsedValue) { throw new NotImplementedException (); }
private void CheckValidParse(string input, ViaHeaderValue expectedResult) { ViaHeaderValue result = ViaHeaderValue.Parse(input); Assert.Equal(expectedResult, result); }
public static bool TryParse(string input, out ViaHeaderValue parsedValue) { parsedValue = null; var lexer = new Lexer(input); var t = lexer.Scan(); if (t != Token.Type.Token) { return(false); } var next = lexer.Scan(); ViaHeaderValue value = new ViaHeaderValue(); if (next == Token.Type.SeparatorSlash) { next = lexer.Scan(); if (next != Token.Type.Token) { return(false); } value.ProtocolName = lexer.GetStringValue(t); value.ProtocolVersion = lexer.GetStringValue(next); next = lexer.Scan(); } else { value.ProtocolVersion = lexer.GetStringValue(t); } if (next != Token.Type.Token) { return(false); } if (lexer.PeekChar() == ':') { lexer.EatChar(); t = lexer.Scan(); if (t != Token.Type.Token) { return(false); } } else { t = next; } value.ReceivedBy = lexer.GetStringValue(next, t); string comment; if (!lexer.ScanCommentOptional(out comment)) { return(false); } value.Comment = comment; parsedValue = value; return(true); }
private void CheckInvalidParse(string input) { Assert.Throws <FormatException>(() => { ViaHeaderValue.Parse(input); }); }
/// <summary> /// Sets the Via header of the request to the specified value. /// </summary> /// <param name="value">The Via header value.</param> /// <returns>An <see cref="IRequest"/> object that represents the request.</returns> public static IRequest Via(this IWith @this, ViaHeaderValue value) => @this.AddHeaderValue(headers => headers.Via, value);
public static bool TryParse (string input, out ViaHeaderValue parsedValue) { parsedValue = null; var lexer = new Lexer (input); var t = lexer.Scan (); if (t != Token.Type.Token) return false; var next = lexer.Scan (); ViaHeaderValue value = new ViaHeaderValue (); if (next == Token.Type.SeparatorSlash) { next = lexer.Scan (); if (next != Token.Type.Token) return false; value.ProtocolName = lexer.GetStringValue (t); value.ProtocolVersion = lexer.GetStringValue (next); next = lexer.Scan (); } else { value.ProtocolVersion = lexer.GetStringValue (t); } if (next != Token.Type.Token) return false; if (lexer.PeekChar () == ':') { lexer.EatChar (); t = lexer.Scan (); if (t != Token.Type.Token) return false; } else { t = next; } value.ReceivedBy = lexer.GetStringValue (next, t); string comment; if (!lexer.ScanCommentOptional (out comment)) return false; value.Comment = comment; parsedValue = value; return true; }