public void Empty()
        {
            reader = HtmlReaderFactory.FromString("", parseErrors);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
Exemple #2
0
        public void TagDataTagData()
        {
            reader = HtmlReaderFactory.FromString("<br/>a<p/>b", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("br", reader.Name);
            Assert.IsTrue(reader.SelfClosingElement);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("a", reader.Text);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("p", reader.Name);
            Assert.IsTrue(reader.SelfClosingElement);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("b", reader.Text);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
Exemple #3
0
        public void AttributeValueNamedCharacterReference()
        {
            reader = HtmlReaderFactory.FromString("<a title=\"&lt;\">", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual("<", reader.GetAttribute("title"));

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
        public void DataNamedCharacterReference3()
        {
            reader = HtmlReaderFactory.FromString("I'm &notin; I tell you", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("I'm ∉ I tell you", reader.Text);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
        public void DataHexCharacterReference()
        {
            reader = HtmlReaderFactory.FromString("&#x41;", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("A", reader.Text);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
        public void Data()
        {
            reader = HtmlReaderFactory.FromString("a", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("a", reader.Text);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
Exemple #7
0
        public void BogusCommentState2()
        {
            reader = HtmlReaderFactory.FromString("<!/div>", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Comment, reader.TokenKind);
            Assert.AreEqual("/div", reader.Text);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(1, parseErrors.Count);
        }
Exemple #8
0
        public void TagMissingAttribute()
        {
            reader = HtmlReaderFactory.FromString("<a>", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("a", reader.Name);
            Assert.IsNull(reader.GetAttribute("href"));
            Assert.IsFalse(reader.SelfClosingElement);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
Exemple #9
0
        public void TagUnquotedAttributeValue()
        {
            reader = HtmlReaderFactory.FromString("<a href=javascript:;>", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("a", reader.Name);
            Assert.AreEqual("javascript:;", reader.GetAttribute("href"));
            Assert.IsFalse(reader.SelfClosingElement);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
        public void DataNamedCharacterReference2()
        {
            reader = HtmlReaderFactory.FromString("I'm &notit; I tell you", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("I'm ¬it; I tell you", reader.Text);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(1, parseErrors.Count);
            Assert.AreEqual(1, parseErrors[0].LineNumber);
            Assert.AreEqual(6, parseErrors[0].LinePosition);
        }
Exemple #11
0
        public void GetAttributeReturnsFirstAttributeValue()
        {
            reader = HtmlReaderFactory.FromString("<img src=\"a\" src=\"b\" />", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("img", reader.Name);

            Assert.AreEqual(2, reader.AttributeCount);
            Assert.AreEqual("a", reader.GetAttribute("src"));

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
Exemple #12
0
        public void RcDataEmpty()
        {
            reader = HtmlReaderFactory.FromString("<title></title>", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("title", reader.Name);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.EndTag, reader.TokenKind);
            Assert.AreEqual("title", reader.Name);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }
Exemple #13
0
        public void RcDataWithCharacterReference()
        {
            reader = HtmlReaderFactory.FromString("<title>&amp;</title><p>", parseErrors);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("title", reader.Name);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Text, reader.TokenKind);
            Assert.AreEqual("&", reader.Text);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.EndTag, reader.TokenKind);
            Assert.AreEqual("title", reader.Name);

            Assert.IsTrue(reader.Read());
            Assert.AreEqual(HtmlTokenKind.Tag, reader.TokenKind);
            Assert.AreEqual("p", reader.Name);

            Assert.IsFalse(reader.Read());
            Assert.AreEqual(0, parseErrors.Count);
        }