コード例 #1
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationTagNameDetection()
 {
     var s = new TextSource("<span>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual("span", ((HtmlTagToken)token).Name);
 }
コード例 #2
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationFinalEOF()
 {
     var s = new TextSource("");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.EndOfFile, token.Type);
 }
コード例 #3
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationTagSelfClosingDetected()
 {
     var s = new TextSource("<img />");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(true, ((HtmlTagToken)token).IsSelfClosing);
 }
コード例 #4
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationStartTagDetection()
 {
     var s = new TextSource("<p>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.StartTag, token.Type);
     Assert.AreEqual("p", ((HtmlTagToken)token).Name);
 }
コード例 #5
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationBogusCommentEmpty()
 {
     var s = new TextSource("<!>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Comment, token.Type);
     Assert.AreEqual(String.Empty, token.Data);
 }
コード例 #6
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationBogusCommentQuestionMark()
 {
     var s = new TextSource("<?>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Comment, token.Type);
     Assert.AreEqual("?", token.Data);
 }
コード例 #7
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationBogusCommentClosingTag()
 {
     var s = new TextSource("</ >");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Comment, token.Type);
     Assert.AreEqual(" ", token.Data);
 }
コード例 #8
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationLongerCharacterReference()
 {
     var content = "&abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTV;";
     var s = new TextSource(content);
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Character, token.Type);
     Assert.AreEqual(content, token.Data);
 }
コード例 #9
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationTagSpacesBehind()
 {
     var s = new TextSource("<i   >");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual("i", ((HtmlTagToken)token).Name);
 }
コード例 #10
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationUnusualDoctype()
 {
     var s = new TextSource("<!DOCTYPE root_element SYSTEM \"DTD_location\">");
     var t = new HtmlTokenizer(s, null);
     var e = t.Get();
     Assert.AreEqual(HtmlTokenType.Doctype, e.Type);
     var d = (HtmlDoctypeToken)e;
     Assert.IsNotNull(d.Name);
     Assert.AreEqual("root_element", d.Name);
     Assert.IsFalse(d.IsSystemIdentifierMissing);
     Assert.AreEqual("DTD_location", d.SystemIdentifier);
 }
コード例 #11
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationDoctypeDetected()
 {
     var s = new TextSource("<!doctype html>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Doctype, token.Type);
 }
コード例 #12
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
        public void TokenizationCharacterReferenceNotIt()
        {
            var str = string.Empty;
            var src = "I'm &notit; I tell you";
            var s = new TextSource(src);
            var t = new HtmlTokenizer(s, null);
            var token = default(HtmlToken);

            do
            {
                token = t.Get();

                if (token.Type == HtmlTokenType.Character)
                    str += token.Data;
            }
            while (token.Type != HtmlTokenType.EndOfFile);

            Assert.AreEqual("I'm ¬it; I tell you", str);
        }
コード例 #13
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationCommentDetected()
 {
     var s = new TextSource("<!-- hi my friend -->");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Comment, token.Type);
 }
コード例 #14
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationCDataDetected()
 {
     var s = new TextSource("<![CDATA[hi mum how <!-- are you doing />]]>");
     var t = new HtmlTokenizer(s, null);
     t.IsAcceptingCharacterData = true;
     var token = t.Get();
     Assert.AreEqual(HtmlTokenType.Character, token.Type);
 }
コード例 #15
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationCarriageReturnLineFeed()
 {
     var s = new TextSource("\r\n");
     var t = new HtmlTokenizer(s, null);
     var e = t.Get();
     Assert.AreEqual(HtmlTokenType.Character, e.Type);
     Assert.AreEqual("\n", e.Data);
 }
コード例 #16
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
        public void TokenizationCDataCorrectCharacters()
        {
            StringBuilder sb = new StringBuilder();
            var s = new TextSource("<![CDATA[hi mum how <!-- are you doing />]]>");
            var t = new HtmlTokenizer(s, null);
            var token = default(HtmlToken);
            t.IsAcceptingCharacterData = true;

            do
            {
                token = t.Get();

                if (token.Type == HtmlTokenType.Character)
                    sb.Append(token.Data);
            }
            while (token.Type != HtmlTokenType.EndOfFile);

            Assert.AreEqual("hi mum how <!-- are you doing />", sb.ToString());
        }
コード例 #17
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationAttributesDetected()
 {
     var s = new TextSource("<a target='_blank' href='http://whatever' title='ho'>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual(3, ((HtmlTagToken)token).Attributes.Count);
 }
コード例 #18
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationAttributeNameDetection()
 {
     var s = new TextSource("<input required>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual("required", ((HtmlTagToken)token).Attributes[0].Key);
 }
コード例 #19
0
ファイル: HtmlTokenization.cs プロジェクト: kk9599/AngleSharp
 public void TokenizationTagMixedCaseHandling()
 {
     var s = new TextSource("<InpUT>");
     var t = new HtmlTokenizer(s, null);
     var token = t.Get();
     Assert.AreEqual("input", ((HtmlTagToken)token).Name);
 }