Exemple #1
0
        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']");
            });
        }
Exemple #6
0
 private void Func(GeckoDomDocument doc)
 {
 }