From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- .../TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp | 37 ++++++++++++++++++---- 1 file changed, 31 insertions(+), 6 deletions(-) (limited to 'Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp') diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp index 16db87d98..886356b7e 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp @@ -41,7 +41,7 @@ static void testWebKitDOMNodeInsertion(WebViewTest* test, gconstpointer) g_assert(test->runWebProcessTest("WebKitDOMNode", "insertion")); } -static void testWebKitDOMNodeTagNames(WebViewTest* test, gconstpointer) +static void prepareDOMForTagNamesTests(WebViewTest* test) { static const char* testHTML = "" "" ""; - test->loadHtml(testHTML, 0); + test->loadHtml(testHTML, nullptr); test->waitUntilLoadFinished(); +} - g_assert(test->runWebProcessTest("WebKitDOMNode", "tag-names")); +static void testWebKitDOMNodeTagNamesNodeList(WebViewTest* test, gconstpointer) +{ + prepareDOMForTagNamesTests(test); + g_assert(test->runWebProcessTest("WebKitDOMNode", "tag-names-node-list")); } -void beforeAll() +static void testWebKitDOMNodeTagNamesHTMLCollection(WebViewTest* test, gconstpointer) +{ + prepareDOMForTagNamesTests(test); + g_assert(test->runWebProcessTest("WebKitDOMNode", "tag-names-html-collection")); +} + +static void testWebKitDOMObjectCache(WebViewTest* test, gconstpointer) { - webkit_web_context_set_web_extensions_directory(webkit_web_context_get_default(), WEBKIT_TEST_WEB_EXTENSIONS_DIR); + static const char* testHTML = "

DOM Cache test

link
"; + // Run the test 3 times to make sure the DOM objects are correctly released when the + // document is detached from the frame for every new document created. + for (unsigned i = 0; i < 3; ++i) { + test->loadHtml(testHTML, nullptr); + test->waitUntilLoadFinished(); + + g_assert(test->runWebProcessTest("WebKitDOMNode", "dom-cache")); + } +} + + +void beforeAll() +{ WebViewTest::add("WebKitDOMNode", "hierarchy-navigation", testWebKitDOMNodeHierarchyNavigation); WebViewTest::add("WebKitDOMNode", "insertion", testWebKitDOMNodeInsertion); - WebViewTest::add("WebKitDOMNode", "tag-names", testWebKitDOMNodeTagNames); + WebViewTest::add("WebKitDOMNode", "tag-names-node-list", testWebKitDOMNodeTagNamesNodeList); + WebViewTest::add("WebKitDOMNode", "tag-names-html-collection", testWebKitDOMNodeTagNamesHTMLCollection); + WebViewTest::add("WebKitDOMNode", "dom-cache", testWebKitDOMObjectCache); } void afterAll() -- cgit v1.2.1