public void TypeJavaScript()
        {
            LinkTag linkTag = new LinkTag(new TagData(0, 0, "", ""), new CompositeTagData(null, null, null),
                                          new LinkData("javascript://www.someurl.com", "", "", false, true));

            Assert.IsTrue(linkTag.JavascriptLink, "This is a javascript link");
        }
        public void TypeHttps()
        {
            LinkTag linkTag = new LinkTag(new TagData(0, 0, "", ""), new CompositeTagData(null, null, null),
                                          new LinkData("https://www.someurl.com", "", "", false, false));

            Assert.IsTrue(linkTag.HTTPSLink, "This is a https link");
        }
        public void TypeFtp()
        {
            LinkTag linkTag = new LinkTag(new TagData(0, 0, "", ""), new CompositeTagData(null, null, null),
                                          new LinkData("ftp://www.someurl.com", "", "", false, false));

            Assert.IsTrue(linkTag.FTPLink, "This is an ftp link");
        }
        public void LinkNodeBug5()
        {
            CreateParser(
                "<a href=http://note.kimo.com.tw/>���O</a>&nbsp; <a \n" +
                "href=http://photo.kimo.com.tw/>��ï</a>&nbsp; <a\n" +
                "href=http://address.kimo.com.tw/>�q�T��</a>&nbsp;&nbsp;", "http://www.cj.com");
            Parser.LineSeparator = "\r\n";
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(6);
            // The node should be an LinkTag
            Assert.IsTrue(node[0] is LinkTag, "Node should be a LinkTag");
            LinkTag linkNode = (LinkTag)node[2];

            AssertStringEquals("Link incorrect!!", "http://photo.kimo.com.tw/", linkNode.Link);
            Assert.AreEqual(48, linkNode.ElementBegin, "Link beginning");
            Assert.AreEqual(38, linkNode.ElementEnd, "Link ending");

            LinkTag linkNode2 = (LinkTag)node[4];

            AssertStringEquals("Link incorrect!!", "http://address.kimo.com.tw/", linkNode2.Link);
            Assert.AreEqual(46, linkNode2.ElementBegin, "Link beginning");
            Assert.AreEqual(42, linkNode2.ElementEnd, "Link ending");
        }
        public void ToPlainTextString()
        {
            CreateParser("<A HREF='mailto:[email protected]'>hello</A>", "http://www.cj.com/");
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(1);
            Assert.IsTrue(node[0] is LinkTag, "Node should be a HTMLLinkTag");
            LinkTag linkTag = (LinkTag)node[0];

            Assert.AreEqual("hello", linkTag.ToPlainTextString(), "Link Plain Text");
        }
        public void LinkNodeBug3()
        {
            CreateParser("<A HREF=\"/mylink.html\">abcd</A>", "http://www.cj.com/");
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(1);
            // The node should be an HTMLLinkTag
            Assert.IsTrue(node[0] is LinkTag, "Node should be a HTMLLinkTag");
            LinkTag linkNode = (LinkTag)node[0];

            Assert.AreEqual("http://www.cj.com/mylink.html", linkNode.Link, "Link incorrect");
        }
        public void LinkNodeBug2()
        {
            CreateParser("<A HREF=\"../../test.html\">abcd</A>", "http://www.google.com/test/test/index.html");
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(1);
            // The node should be an HTMLLinkTag
            Assert.IsTrue(node[0] is LinkTag, "Node should be a HTMLLinkTag");
            LinkTag linkNode = (LinkTag)node[0];

            Assert.AreEqual("http://www.google.com/test.html", linkNode.Link, "The image location");
        }
        public void TypeHttpLink()
        {
            LinkTag linkTag = new LinkTag(new TagData(0, 0, "", ""), new CompositeTagData(null, null, null),
                                          new LinkData("http://www.someurl.com", "", "", false, false));

            Assert.IsTrue(linkTag.HTTPLink, "This is a http link : " + linkTag.Link);
            linkTag = new LinkTag(new TagData(0, 0, "", ""), new CompositeTagData(null, null, null),
                                  new LinkData("somePage.html", "", "", false, false));
            Assert.IsTrue(linkTag.HTTPLink, "This relative link is alsp a http link : " + linkTag.Link);
            linkTag = new LinkTag(new TagData(0, 0, "", ""), new CompositeTagData(null, null, null),
                                  new LinkData("ftp://somePage.html", "", "", false, false));
            Assert.IsFalse(linkTag.HTTPLink, "This is not a http link : " + linkTag.Link);
        }
        public void LinkNodeSingleQuoteBug()
        {
            CreateParser("<A HREF='abcd.html'>hello</A>", "http://www.cj.com/");

            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(1);
            Assert.IsTrue(node[0] is LinkTag, "Node should be a HTMLLinkTag");
            LinkTag linkNode = (LinkTag)node[0];

            Assert.AreEqual("http://www.cj.com/abcd.html", linkNode.Link, "Link incorrect");
        }
        public void LinkNodeMailtoBug()
        {
            CreateParser("<A HREF='mailto:[email protected]'>hello</A>", "http://www.cj.com/");
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(1);
            Assert.IsTrue(node[0] is LinkTag, "Node should be a HTMLLinkTag");
            LinkTag linkNode = (LinkTag)node[0];

            AssertStringEquals("Link incorrect", "*****@*****.**", linkNode.Link);
            Assert.AreEqual(true, linkNode.MailLink, "Link Type");
        }
        public void TabText()
        {
            string testHTML = "<a\thref=\"http://cbc.ca\">";

            CreateParser(testHTML);
            parser.RegisterScanners();
            ParseAndAssertNodeCount(1);
            Assert.IsTrue(node[0] is LinkTag, "Node should be a LinkTag");
            LinkTag tag  = (LinkTag)node[0];
            string  href = tag["HREF"];

            AssertStringEquals("Resolved Link", "http://cbc.ca", href);
        }
        public void NullTagBug()
        {
            CreateParser("<A HREF=>Something</A>", "http://www.google.com/test/index.html");
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(1);
            // The node should be an HTMLLinkTag
            Assert.IsTrue(node[0] is LinkTag, "Node should be a HTMLLinkTag");
            LinkTag linkTag = (LinkTag)node[0];

            Assert.AreEqual("", linkTag.Link, "The link location");
            Assert.AreEqual("Something", linkTag.LinkText, "The link text");
        }
        public void ToHTML()
        {
            CreateParser(
                "<A HREF='mailto:[email protected]'>hello</A>\n" +
                "<LI><font color=\"FF0000\" size=-1><b>Tech Samachar:</b></font><a \n" +
                "href=\"http://ads.samachar.com/bin/redirect/tech.txt?http://www.samachar.com/tech\n" +
                "nical.html\"> Journalism 3.0</a> by Rajesh Jain", "http://www.cj.com/");
            Parser.LineSeparator = "\r\n";
            // Register the image scanner
            parser.AddScanner(new LinkScanner("-l"));

            ParseAndAssertNodeCount(9);
            Assert.IsTrue(node[0] is LinkTag, "First Node should be a HTMLLinkTag");
            LinkTag linkTag = (LinkTag)node[0];

            Assert.IsTrue(node[7] is LinkTag, "Eighth Node should be a HTMLLinkTag");
            linkTag = (LinkTag)node[7];
        }