public void WhenBaseUrlIsNullItHandlesAbsoluteHeadLinks() { // Arrange string html = @" <html> <head> <link rel=""search"" type=""application/opensearchdescription+xml"" href=""http://example.com"" title=""Content search"" /> </head> </html>"; HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); // Act ILink l1 = doc.Links((Uri)null).Select("search"); ILink l2 = doc.Links((Response)null).Select("search"); ILink l3 = doc.DocumentNode.Links((Uri)null).Select("search"); ILink l4 = doc.DocumentNode.Links((Response)null).Select("search"); ILink l5 = doc.DocumentNode.SelectNodes("//*").Links((Uri)null).Select("search"); ILink l6 = doc.DocumentNode.SelectNodes("//*").Links((Response)null).Select("search"); ILink l7 = doc.DocumentNode.SelectNodes("//link").First().Link((Uri)null); ILink l8 = doc.DocumentNode.SelectNodes("//link").First().Link((Response)null); // Assert Assert.AreEqual("http://example.com/", l1.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l2.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l3.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l4.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l5.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l6.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l7.HRef.AbsoluteUri); Assert.AreEqual("http://example.com/", l8.HRef.AbsoluteUri); }