Changeset 160540 in webkit


Ignore:
Timestamp:
Dec 13, 2013 2:24:37 AM (10 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Add a unit tests to WebKit2 to test node names
https://bugs.webkit.org/show_bug.cgi?id=125686

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/tests/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::runTest):
(registerTests):

  • UIProcess/API/gtk/tests/TestDOMNode.cpp:

(testWebKitDOMNodeTagNames):
(beforeAll):

Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r160537 r160540  
     12013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Add a unit tests to WebKit2 to test node names
     4        https://bugs.webkit.org/show_bug.cgi?id=125686
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        * UIProcess/API/gtk/tests/DOMNodeTest.cpp:
     9        (WebKitDOMNodeTest::testTagNames):
     10        (WebKitDOMNodeTest::runTest):
     11        (registerTests):
     12        * UIProcess/API/gtk/tests/TestDOMNode.cpp:
     13        (testWebKitDOMNodeTagNames):
     14        (beforeAll):
     15
    1162013-12-13  Zan Dobersek  <zdobersek@igalia.com>
    217
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/DOMNodeTest.cpp

    r153327 r160540  
    2323#include <gio/gio.h>
    2424#include <webkit2/webkit-web-extension.h>
     25#include <wtf/gobject/GOwnPtr.h>
    2526
    2627class WebKitDOMNodeTest : public WebProcessTest {
     
    170171    }
    171172
     173    bool testTagNames(WebKitWebExtension* extension, GVariant* args)
     174    {
     175        static const char* expectedTagNames[] = { "HTML", "HEAD", "BODY", "VIDEO", "SOURCE", "VIDEO", "SOURCE", "INPUT" };
     176
     177        WebKitWebPage* page = webkit_web_extension_get_page(extension, webPageFromArgs(args));
     178        g_assert(WEBKIT_IS_WEB_PAGE(page));
     179        WebKitDOMDocument* document = webkit_web_page_get_dom_document(page);
     180        g_assert(WEBKIT_DOM_IS_DOCUMENT(document));
     181
     182        WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_tag_name(document, "*");
     183        gulong nodeCount = webkit_dom_node_list_get_length(list);
     184        g_assert_cmpuint(nodeCount, ==, G_N_ELEMENTS(expectedTagNames));
     185        for (unsigned i = 0; i < nodeCount; i++) {
     186            WebKitDOMNode* node = webkit_dom_node_list_item(list, i);
     187            g_assert(WEBKIT_DOM_IS_NODE(node));
     188            GOwnPtr<char> tagName(webkit_dom_node_get_node_name(node));
     189            g_assert_cmpstr(tagName.get(), ==, expectedTagNames[i]);
     190        }
     191
     192        return true;
     193    }
     194
    172195    virtual bool runTest(const char* testName, WebKitWebExtension* extension, GVariant* args)
    173196    {
     
    176199        if (!strcmp(testName, "insertion"))
    177200            return testInsertion(extension, args);
     201        if (!strcmp(testName, "tag-names"))
     202            return testTagNames(extension, args);
    178203
    179204        g_assert_not_reached();
     
    186211    REGISTER_TEST(WebKitDOMNodeTest, "WebKitDOMNode/hierarchy-navigation");
    187212    REGISTER_TEST(WebKitDOMNodeTest, "WebKitDOMNode/insertion");
     213    REGISTER_TEST(WebKitDOMNodeTest, "WebKitDOMNode/tag-names");
    188214}
    189215
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestDOMNode.cpp

    r153327 r160540  
    5151}
    5252
     53static void testWebKitDOMNodeTagNames(WebViewTest* test, gconstpointer)
     54{
     55    static const char* testHTML = "<html><head></head><body>"
     56        "<video id='video' preload='none'>"
     57        "    <source src='movie.ogg' type='video/ogg'>"
     58        "        Your browser does not support the video tag."
     59        "</video>"
     60        "<video id='video2' preload='none'>"
     61        "     <source src='movie.ogg' type='video/ogg'>"
     62        "        Your browser does not support the video tag."
     63        "</video>"
     64        "<input type='hidden' id='test' name='finish' value='false'></body></html>";
     65    test->loadHtml(testHTML, 0);
     66    test->waitUntilLoadFinished();
     67
     68    GVariantBuilder builder;
     69    g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
     70    g_variant_builder_add(&builder, "{sv}", "pageID", g_variant_new_uint64(webkit_web_view_get_page_id(test->m_webView)));
     71    g_assert(testRunner->runTest("WebKitDOMNode", "tag-names", g_variant_builder_end(&builder)));
     72}
     73
    5374void beforeAll()
    5475{
     
    5879    WebViewTest::add("WebKitDOMNode", "hierarchy-navigation", testWebKitDOMNodeHierarchyNavigation);
    5980    WebViewTest::add("WebKitDOMNode", "insertion", testWebKitDOMNodeInsertion);
     81    WebViewTest::add("WebKitDOMNode", "tag-names", testWebKitDOMNodeTagNames);
    6082}
    6183
Note: See TracChangeset for help on using the changeset viewer.