[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); }
[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, " ")); }
//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(); } }
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); }
[Test] public void ParseEmpty() { Tree <CellBase> result = new HtmlTables().Parse(string.Empty); Assert.IsTrue(result.Branches.Count == 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, " ")); }
[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, " ")); }
[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, " ")); }
[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, " ")); }
[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, " ")); }
[Test] public void ParseCommentedTablesIgnored() { var result = new HtmlTables().Parse("leader<!--<table><tr><td>ignored</td></tr></table>-->trailer"); Assert.AreEqual(string.Empty, Format(result, " ")); }