public void RemoveAbbrKeepInnerTests(string html, string tagName, string expected) { string results = HTMLRemover.RemoveKeepInner(html, tagName); results.Should().Be(expected); }
public string GetDisplayText(string tag) { string name = GetValue(tag); if (string.IsNullOrWhiteSpace(name)) { return(string.Empty); } if (tag == "Operators" && name == "<a href=\"/wiki/British_Railways\" class=\"mw-redirect\" title=\"British Railways\">British Railways</a></td></tr>") { return("British Railways"); } if (tag == "Operators" && name == "<div class=\"plainlist\"><ul><li><a href=\"/wiki/Great_Central_R") { return("Great Central Railways"); } if (tag == "Operators" && name == "<div class=\"plainlist\"><ul><li><a href=\"/wiki/Great_Western_Railway\" title=\"Great Western") { return("Great Central Railways"); } if (tag == "Length" && name == "<div class=\"plainlist\"><ul><li><i>Streamlined:</i> 73 ft <span class=\"frac nowrap\">9<span class=\"visualhide\"> </span><sup>3</sup>⁄<sub>4</sub></span> in (22.498 m)</li><li><i>Conventional:</i> 73 ft <span class=\"frac nowrap\">10<span class=\"visualhide\"> </span><sup>1</sup>⁄<sub>4</sub></span> in (22.511 m)</li></ul></div></td></tr>") { return("73 ft 10 1⁄4 in (22.511 m) Conventional"); } if (tag == "Length" && name.Contains("visualhide")) { return(HTMLRemover.RemoveAll(name)); } if (tag == "Whyte" && name.Contains("2-6-4")) { if (name == "<a href=\"/wiki/2-6-4T\" class=\"mw-redirect\" title=\"2-6-4T\">2-6-4T</a></td></tr>") { return("2-6-4T"); } return("2-6-4" + HTMLRemover.RemoveKeepInner(name, "abbr")); } if (name.Contains("18.8 short tons")) { int endA = name.LastIndexOf("<a"); if (endA > 2) { name = name.Substring(0, endA - 1); } } if (name.Contains("buffers")) { int endA = name.LastIndexOf("<a"); if (endA > 2) { name = name.Substring(0, endA - 5); } } string displayName = name; if (name.Contains("<a")) { int endA = name.LastIndexOf("</a"); name = name.Substring(0, endA); int endB = name.LastIndexOf("\">") + 2; displayName = name.Substring(endB, name.Length - endB); displayName = displayName.Replace("R. A. Riddles", "Robert Riddles"); displayName = displayName.Replace("R. A. Riddles", "Robert Riddles"); displayName = displayName.Replace("R.A. Riddles", "Robert Riddles"); } else { displayName = name.Replace("</td></tr>", string.Empty); displayName = displayName.Replace("</body></table>", string.Empty); displayName = displayName.Replace("</tbody></table>", string.Empty); } if (tag == "Whyte") { if (displayName.Contains("Pacific")) { return("4-6-2"); } } return(displayName); }