Beispiel #1
0
        [Test] public void ParseNoTables()
        {
            Tree <CellBase> result = new HtmlTables().Parse("set the table");

            Assert.IsTrue(result.Branches.Count == 0);
            result = new HtmlTables().Parse("set the <table");
            Assert.IsTrue(result.Branches.Count == 0);
        }
Beispiel #2
0
        [Test] public void ParseContentWithoutTables()
        {
            // This is somewhat redundant with ParseNoTables, but I added
            // it to make sure I understand the behavior of Format()
            var result = new HtmlTables().Parse("<p>Hello world!</p>");

            Assert.AreEqual(string.Empty, Format(result, " "));
        }
Beispiel #3
0
        //public void BuildKeywords()
        //{
        //    #region Url
        //    if (Url.ToLower().Contains("truyen"))
        //    {
        //        Keywords.Add("#image"); //Demo
        //    }
        //    else if(Url.IsImageUrl())
        //    {
        //        Keywords.Add("#image"); //Demo
        //    }
        //    #endregion
        //    #region TextContent
        //    if (HtmlContent.ToLower().Contains("Ngân hàng".ToLower())
        //        || HtmlContent.ToLower().Contains("bank".ToLower())
        //        )
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    else if (HtmlContent.ToLower().Contains("tỷ giá"))
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    else if (HtmlContent.ToLower().Contains("lãi suất".ToLower()))
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    else if (HtmlContent.ToLower().Contains("vietlott".ToLower()))
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    else if (HtmlContent.ToLower().Contains("xổ số".ToLower()))
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    else if (HtmlContent.ToLower().Contains("bảng giá".ToLower()))
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    else if (HtmlContent.ToLower().Contains("hàng hóa".ToLower()))
        //    {
        //        Keywords.Add("#table"); //Demo
        //    }
        //    #endregion

        //    Keywords = Keywords.Distinct().ToList();
        //}

        public void GetHtmlTables()
        {
            var tables = html.DocumentNode.SelectNodes("//table");

            if (tables != null)
            {
                foreach (string table in tables.Select(t => t.OuterHtml))
                {
                    HtmlTable _table = new HtmlTable(table);
                    HtmlTables.Add(_table);
                }
                HtmlTables = HtmlTables.Distinct().ToList();
            }
        }
Beispiel #4
0
        public TypedValue Parse(Type type, TypedValue instance, Tree <string> parameters)
        {
            Tree <CellBase> table = new HtmlTables().Parse(parameters.Value);

            return(new TypedValue(table.Branches[0].Branches.Aggregate(
                                      (IDictionary)Activator.CreateInstance(type),
                                      (dictionary, row) => {
                dictionary.Add(
                    Processor.Parse(type.GetGenericArguments()[0], row.Branches[0].Value.Text)
                    .Value,
                    Processor.Parse(type.GetGenericArguments()[1], row.Branches[1].Value.Text)
                    .Value);
                return dictionary;
            })));
        }
    public void populateTable()
    {
        // array for column names
        string[] aColumnNames = new string[] { "ID", "Form Name", "Creator", "Date", "Published" };

        // database column names
        string[] aDBFieldNames = new string[] { "id", "FormName", "CreatedBy", "CreatedAt", "Published" };

        // a list of parameters for stored procedors only!
        List <string> sParams = new List <string>();

        sParams.Clear();

        //sParams.Add("@id:" + "sample params");

        HtmlTables ht = new HtmlTables();

        ht.SP_populateHtmlTables(pnlMain, "example", "IF_SP_READ_FORMS", aColumnNames, aDBFieldNames, sParams);
    }
Beispiel #6
0
        [Test] public void ParseEmpty()
        {
            Tree <CellBase> result = new HtmlTables().Parse(string.Empty);

            Assert.IsTrue(result.Branches.Count == 0);
        }
Beispiel #7
0
        public void ParseCommentSeveralCommentBlocks()
        {
            var result = new HtmlTables().Parse("<!--first--><p>other content</p><!--<table><tr><td>first</td></tr></table>-->");

            Assert.AreEqual(string.Empty, Format(result, " "));
        }
Beispiel #8
0
        [Test] public void ParseCommentInsideTable()
        {
            var result = new HtmlTables().Parse("<table><tr><td>first</td></tr><!--<tr><td>first</td></tr>--></table>");

            Assert.AreEqual(" <table> <tr> <td> first</td></tr> <!--<tr><td>first</td></tr>--></table>", Format(result, " "));
        }
Beispiel #9
0
        [Test] public void ParseCommentUnclosed()
        {
            var result = new HtmlTables().Parse("<table><tr><td>leader</td></tr></table><!--<table><tr><td>ignored</td></tr></table><table><tr><td>trailer</td></tr></table>");

            Assert.AreEqual(" <table> <tr> <td> leader</td></tr></table> <!--<table><tr><td>ignored</td></tr></table><table><tr><td>trailer</td></tr></table>", Format(result, " "));
        }
Beispiel #10
0
        [Test] public void ParseCommentTarnishedTableElement()
        {
            var result = new HtmlTables().Parse("<!--table><tr><td>ignored</td></tr></table--><table><tr><td>trailer</td></tr></table>");

            Assert.AreEqual(" <!--table><tr><td>ignored</td></tr></table--> <table> <tr> <td> trailer</td></tr></table>", Format(result, " "));
        }
Beispiel #11
0
        [Test] public void ParseCommentedTableAsLeader()
        {
            var result = new HtmlTables().Parse("<!--<table><tr><td>ignored</td></tr></table>--><table><tr><td>foo</td></tr></table>");

            Assert.AreEqual(" <!--<table><tr><td>ignored</td></tr></table>--> <table> <tr> <td> foo</td></tr></table>", Format(result, " "));
        }
Beispiel #12
0
        [Test] public void ParseCommentedTablesIgnored()
        {
            var result = new HtmlTables().Parse("leader<!--<table><tr><td>ignored</td></tr></table>-->trailer");

            Assert.AreEqual(string.Empty, Format(result, " "));
        }