using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; using Aspose.Html; namespace querySelectorTest { [TestClass] public class UnitTest1 { private readonly HTMLDocument _document = new HTMLDocument("http://asposedemo20170904120448.azurewebsites.net/home/CssSelectorTest"); [TestMethod] public void TestMethod01() { //Class var element = _document.QuerySelector(".intro"); Assert.AreEqual(element.TagName, "DIV"); } [TestMethod] public void TestMethod02() { //Id var element = _document.QuerySelector("#Lastname"); Assert.AreEqual(element.TagName, "SPAN"); } [TestMethod] public void TestMethod03() { //class and id var collection = _document.QuerySelectorAll(".intro, #Lastname"); Assert.IsNotNull(collection); Assert.AreEqual(2, collection.Length); Assert.AreEqual("DIV", collection[0].TagName); Assert.AreEqual("SPAN", collection[1].TagName); } [TestMethod] public void TestMethod04() { //tag var collection = _document.QuerySelectorAll("h1"); Assert.AreEqual(1,collection.Length); Assert.AreEqual("H1",collection[0].TagName); } [TestMethod] public void TestMethod05() { var collection = _document.QuerySelectorAll("h1, p"); Assert.AreEqual(8, collection.Length); Assert.AreEqual("H1",collection[0].TagName); for (var i = 1; i < 8; i++) { Assert.AreEqual("P", collection[i].TagName); } } [TestMethod] public void TestMethod06() { var collection = _document.QuerySelectorAll("div p"); Assert.AreEqual(4, collection.Length); Assert.IsTrue(collection.All(el=>el.TagName.Equals("P"))); } [TestMethod] public void TestMethod07() { var collection = _document.QuerySelectorAll("div > p"); Assert.AreEqual(3, collection.Length); Assert.IsTrue(collection.All(el => el.TagName.Equals("P"))); foreach (var element in collection) { Assert.AreEqual(element.TagName, "P"); } } [TestMethod] public void TestMethod08() { var collection = _document.QuerySelectorAll("ul + h3"); Assert.AreEqual(1,collection.Length); Assert.AreEqual("H3",collection[0].TagName); } [TestMethod] public void TestMethod09() { var collection = _document.QuerySelectorAll("ul ~ table"); Assert.AreEqual(1, collection.Length); Assert.IsTrue(collection.All(el=>el.TagName.Equals("TABLE"))); } [TestMethod] public void TestMethod10() { var collection = _document.QuerySelectorAll("*"); Assert.AreEqual(71,collection.Length); } [TestMethod] public void TestMethod11() { var collection = _document.QuerySelectorAll("[id]"); Assert.AreEqual(9,collection.Length); } [TestMethod] public void TestMethod12() { var collection = _document.QuerySelectorAll("[id=my-Address]"); Assert.AreEqual(1, collection.Length); Assert.AreEqual("P",collection[0].TagName); } [TestMethod] public void TestMethod13() { var collection = _document.QuerySelectorAll("p[title*=beautiful]"); Assert.AreEqual("P", collection[0].TagName); Assert.AreEqual(collection.Length, 1); } [TestMethod] public void TestMethod14() { var collection = _document.QuerySelectorAll("[id$=ess]"); Assert.AreEqual("P",collection[0].TagName); Assert.AreEqual(1,collection.Length); } [TestMethod] public void TestMethod15() { var collection = _document.QuerySelectorAll("[id|=my]"); Assert.AreEqual("P",collection[0].TagName, "P"); Assert.AreEqual(1, collection.Length); } [TestMethod] public void TestMethod16() { var collection = _document.QuerySelectorAll("[id^=L]"); Assert.AreEqual(2, collection.Length); Assert.AreEqual(collection[0].TagName, "SPAN"); Assert.AreEqual(collection[1].TagName, "UL"); } [TestMethod] public void TestMethod17() { //TODO: Improve this test var collection = _document.QuerySelectorAll("[title~=beautiful]"); Assert.AreEqual(1, collection.Length); Assert.AreEqual("P", collection[0].TagName); } [TestMethod] public void TestMethod17A() { //TODO: Improve this test var otherDocument = new HTMLDocument(@"http://asposedemo20170904120448.azurewebsites.net/home/jobposting"); var collection = otherDocument.QuerySelectorAll("[itemtype~=JobPosting]"); Assert.AreEqual(1, collection.Length); Assert.AreEqual("DIV", collection[0].TagName); } [TestMethod] public void TestMethod18() { var collection = _document.QuerySelectorAll("[id*=s]"); Assert.AreEqual(3, collection.Length, 3); Assert.AreEqual("SPAN",collection[0].TagName, "SPAN"); Assert.AreEqual("P",collection[1].TagName) ; Assert.AreEqual("UL",collection[2].TagName); } [TestMethod] public void TestMethod19() { var collection = _document.QuerySelectorAll(":checked"); Assert.AreEqual(2, collection.Length); Assert.AreEqual("INPUT",collection[0].TagName); Assert.AreEqual("INPUT",collection[1].TagName); } [TestMethod] public void TestMethod20() { var collection = _document.QuerySelectorAll(":disabled"); Assert.AreEqual(1, collection.Length, 1); Assert.AreEqual("INPUT", collection[0].TagName); } [TestMethod] public void TestMethod21() { var collection = _document.QuerySelectorAll(":enabled"); Assert.IsTrue(collection.All(el=>el.TagName.Equals("INPUT"))); Assert.AreEqual(8, collection.Length); } [TestMethod] public void TestMethod22() { var collection = _document.QuerySelectorAll(":empty"); Assert.AreEqual(12,collection.Length, 12); } //[TestMethod] //public void TestMethod23() //{ // //TODO: IMPROVE THIS TEST // var collection = _document.QuerySelectorAll(":focus"); // Assert.AreEqual(0,collection.Length); //} //[TestMethod] //public void TestMethod24() //{ // //TODO: IMPROVE THIS TEST // var collection = _document.QuerySelectorAll("p:first-child"); // Assert.AreEqual(1, collection.Length); // Assert.AreEqual("P", collection[0].TagName); //} //[TestMethod] //public void TestMethod25() //{ // //TODO: IMPROVE THIS TEST // var collection = _document.QuerySelectorAll("p:first-letter"); // Assert.AreEqual(collection.Length, 0); // Assert.AreEqual("P", collection[0].TagName); //} //[TestMethod] //public void TestMethod26() //{ // //TODO: IMPROVE THIS TEST // var collection= _document.QuerySelectorAll("p:first-line"); // Assert.AreEqual("P", collection[0].TagName); // Assert.AreEqual(collection.Length, 0); //} } }