start = pos - 1;
while (pos < s.Length) {
ch = s [pos++];
+
+ //
+ // The backslash character ("\") MAY be used as a single-character
+ // quoting mechanism only within quoted-string
+ //
+ if (ch == '\\') {
+ if (pos + 1 < s.Length) {
+ ++pos;
+ continue;
+ }
+
+ break;
+ }
+
if (ch == '"') {
ttype = Token.Type.QuotedString;
break;
Assert.AreEqual ("\"mm\"", res.Tag, "#11");
Assert.IsTrue (res.IsWeak, "#12");
Assert.AreEqual ("W/\"mm\"", res.ToString (), "#13");
+
+
+ res = EntityTagHeaderValue.Parse ("\"\\\"123\\\"\"");
+ Assert.AreEqual ("\"\\\"123\\\"\"", res.Tag, "#21");
+ Assert.IsFalse (res.IsWeak, "#22");
+ Assert.AreEqual ("\"\\\"123\\\"\"", res.ToString (), "#23");
}
[Test]