public void DomMemoryLeakTest_IDisposable() { int count; count = GetWindowRefCount(browser); browser.TestLoadHtml(""); { GeckoHtmlElement element = browser.DomDocument.CreateHtmlElement("div"); Assert.NotNull(element); Assert.AreEqual("div", element.TagName.ToLowerInvariant()); } // wait for browser.DomDocument finalizer GC.Collect(); GC.WaitForPendingFinalizers(); for (int i = 0; i < 1000; i++) { using (GeckoDomDocument document = browser.Document) { Func(document); } } count = GetDocumentRefCount(browser); //DomDocument can be 1 or 2 Assert.Less(count, 3); Console.Error.WriteLine("nsIDOMDocument count was {0}", count); // wait for GeckoWindow finalizers GC.Collect(); GC.WaitForPendingFinalizers(); count = GetWindowRefCount(browser); Console.Error.WriteLine("nsIDOMWindow count was {0}", count); // DomWindow must be only one or none Assert.LessOrEqual(count, 1); }
public void SelectFirstTest_MultiResult() { var parser = new DomParser(); GeckoDomDocument doc = parser.ParseFromString("<html><body><span id='myspan'>hello world</span><span id='myspan'>hello world</span><span id='myspan'>hello world</span></body></html>"); GeckoNode span = doc.SelectFirst(@".//*[@id='myspan']"); Assert.AreEqual("hello world", span.TextContent); }
public void SelectSingleTest() { var parser = new DomParser(); GeckoDomDocument doc = parser.ParseFromString("<html><body><span id='myspan'>hello world</span></body></html>"); var span = doc.SelectSingle(@".//*[@id='myspan']"); Assert.NotNull(span); Assert.AreEqual("hello world", span.TextContent); }
public void ParseFromString_AValidDocumentString_CreatesNavigatableDOM() { var parser = new DomParser(); GeckoDomDocument doc = parser.ParseFromString("<html><body><span id='myspan'>hello world</span></body></html>"); var span = doc.GetElementById("myspan"); Assert.NotNull(span); Assert.AreEqual("hello world", span.TextContent); }
public void SelectSingleTest_MultiResult() { var parser = new DomParser(); GeckoDomDocument doc = parser.ParseFromString("<html><body><span id='myspan'>hello world</span><span id='myspan'>hello world</span><span id='myspan'>hello world</span></body></html>"); GeckoNode span = null; Assert.Throws <GeckoDomException>(delegate { span = doc.SelectSingle(@".//*[@id='myspan']"); }); }
private void Func(GeckoDomDocument doc) { }