diff options
| author | Ben Murdoch <benm@google.com> | 2010-08-11 14:44:44 +0100 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2010-08-12 19:15:41 +0100 |
| commit | dd8bb3de4f353a81954234999f1fea748aee2ea9 (patch) | |
| tree | 729b52bf09294f0d6c67cd5ea80aee1b727b7bd8 /WebKit/gtk/tests | |
| parent | f3d41ba51d86bf719c7a65ab5297aea3c17e2d98 (diff) | |
| download | external_webkit-dd8bb3de4f353a81954234999f1fea748aee2ea9.zip external_webkit-dd8bb3de4f353a81954234999f1fea748aee2ea9.tar.gz external_webkit-dd8bb3de4f353a81954234999f1fea748aee2ea9.tar.bz2 | |
Merge WebKit at r65072 : Initial merge by git.
Change-Id: Ibcf418498376b2660aacb7f8d46ea7085ef91585
Diffstat (limited to 'WebKit/gtk/tests')
| -rw-r--r-- | WebKit/gtk/tests/testdomdocument.c | 14 | ||||
| -rw-r--r-- | WebKit/gtk/tests/testdomdomwindow.c | 69 | ||||
| -rw-r--r-- | WebKit/gtk/tests/testdomnode.c | 4 |
3 files changed, 75 insertions, 12 deletions
diff --git a/WebKit/gtk/tests/testdomdocument.c b/WebKit/gtk/tests/testdomdocument.c index 4c677ea..ec2f579 100644 --- a/WebKit/gtk/tests/testdomdocument.c +++ b/WebKit/gtk/tests/testdomdocument.c @@ -75,7 +75,7 @@ static void test_dom_document_title(DomDocumentFixture* fixture, gconstpointer d g_assert(title); g_assert_cmpstr(title, ==, "This is the title"); g_free(title); - webkit_dom_document_set_title(document, (gchar*)"This is the second title"); + webkit_dom_document_set_title(document, "This is the second title"); title = webkit_dom_document_get_title(document); g_assert(title); g_assert_cmpstr(title, ==, "This is the second title"); @@ -89,7 +89,7 @@ static void test_dom_document_get_elements_by_tag_name(DomDocumentFixture* fixtu g_assert(view); WebKitDOMDocument* document = webkit_web_view_get_dom_document(view); g_assert(document); - WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_tag_name(document, (gchar*)"li"); + WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_tag_name(document, "li"); g_assert(list); gulong length = webkit_dom_node_list_get_length(list); g_assert_cmpint(length, ==, 3); @@ -116,7 +116,7 @@ static void test_dom_document_get_elements_by_class_name(DomDocumentFixture* fix g_assert(view); WebKitDOMDocument* document = webkit_web_view_get_dom_document(view); g_assert(document); - WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_class_name(document, (gchar*)"test"); + WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_class_name(document, "test"); g_assert(list); gulong length = webkit_dom_node_list_get_length(list); g_assert_cmpint(length, ==, 2); @@ -139,17 +139,17 @@ static void test_dom_document_get_element_by_id(DomDocumentFixture* fixture, gco g_assert(view); WebKitDOMDocument* document = webkit_web_view_get_dom_document(view); g_assert(document); - WebKitDOMElement* element = webkit_dom_document_get_element_by_id(document, (gchar*)"testok"); + WebKitDOMElement* element = webkit_dom_document_get_element_by_id(document, "testok"); g_assert(element); - element = webkit_dom_document_get_element_by_id(document, (gchar*)"this-id-does-not-exist"); + element = webkit_dom_document_get_element_by_id(document, "this-id-does-not-exist"); g_assert(element == 0); /* The DOM spec says the return value is undefined when there's * more than one element with the same id; in our case the first * one will be returned */ - element = webkit_dom_document_get_element_by_id(document, (gchar*)"testbad"); + element = webkit_dom_document_get_element_by_id(document, "testbad"); g_assert(element); WebKitDOMHTMLElement* htmlElement = (WebKitDOMHTMLElement*)element; - g_assert_cmpstr(webkit_dom_html_element_get_inner_text(htmlElement), ==, (gchar*)"first"); + g_assert_cmpstr(webkit_dom_html_element_get_inner_text(htmlElement), ==, "first"); } static void test_dom_document_get_links(DomDocumentFixture* fixture, gconstpointer data) diff --git a/WebKit/gtk/tests/testdomdomwindow.c b/WebKit/gtk/tests/testdomdomwindow.c index 1796057..a52bca5 100644 --- a/WebKit/gtk/tests/testdomdomwindow.c +++ b/WebKit/gtk/tests/testdomdomwindow.c @@ -26,7 +26,7 @@ #if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0) -#define HTML_DOCUMENT "<html><head><title>This is the title</title></head><body></body></html>" +#define HTML_DOCUMENT "<html><head><title>This is the title</title></head><body><p id='test'>test</p></body></html>" typedef struct { GtkWidget* webView; @@ -108,7 +108,7 @@ static void load_event_callback(WebKitWebView* webView, GParamSpec* spec, DomDom g_signal_connect(fixture->domWindow, "click-event", G_CALLBACK(clickedCallback), fixture); g_assert(fixture->clicked == FALSE); - gtk_test_widget_click (GTK_WIDGET(fixture->webView), 1, 0); + gtk_test_widget_click(GTK_WIDGET(fixture->webView), 1, 0); } } @@ -132,12 +132,69 @@ static void test_dom_domview_signals(DomDomviewFixture* fixture, gconstpointer d gtk_widget_show_all(fixture->window); gtk_window_present(GTK_WINDOW(fixture->window)); - g_main_loop_run (fixture->loop); + g_main_loop_run(fixture->loop); g_assert(fixture->loaded); g_assert(fixture->clicked); } +static gboolean +clicked_cb(WebKitDOMEventTarget* target, WebKitDOMEvent* event, DomDomviewFixture* fixture) +{ + g_assert(fixture->clicked == FALSE); + fixture->clicked = TRUE; + finish_loading(fixture); + return FALSE; +} + +static void load_status_callback(WebKitWebView* webView, GParamSpec* spec, DomDomviewFixture* fixture) +{ + WebKitLoadStatus status = webkit_web_view_get_load_status(webView); + if (status == WEBKIT_LOAD_FINISHED) { + WebKitDOMDocument* document; + WebKitDOMDOMWindow* domWindow; + WebKitDOMElement* element; + WebKitDOMEvent* event; + glong clientX, clientY; + + document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView)); + g_assert(document); + domWindow = webkit_dom_document_get_default_view(document); + g_assert(domWindow); + fixture->domWindow = domWindow; + + element = webkit_dom_document_get_element_by_id(document, "test"); + g_assert(element); + event = webkit_dom_document_create_event(document, "MouseEvent", NULL); + g_assert(event); + g_assert(WEBKIT_DOM_IS_EVENT(event)); + g_assert(WEBKIT_DOM_IS_MOUSE_EVENT(event)); + clientX = webkit_dom_element_get_client_left(element); + clientY = webkit_dom_element_get_client_top(element); + webkit_dom_mouse_event_init_mouse_event(WEBKIT_DOM_MOUSE_EVENT(event), + "click", TRUE, TRUE, + fixture->domWindow, 0, 0, 0, clientX, clientY, + FALSE, FALSE, FALSE, FALSE, + 1, WEBKIT_DOM_EVENT_TARGET(element)); + g_signal_connect(element, "click-event", G_CALLBACK(clicked_cb), fixture); + g_assert(fixture->clicked == FALSE); + webkit_dom_event_target_dispatch_event(WEBKIT_DOM_EVENT_TARGET(element), event, NULL); + } + +} + +static void test_dom_domview_dispatch_event(DomDomviewFixture* fixture, gconstpointer data) +{ + g_signal_connect(fixture->window, "map-event", G_CALLBACK(map_event_cb), fixture); + g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_status_callback), fixture); + + gtk_widget_show_all(fixture->window); + gtk_window_present(GTK_WINDOW(fixture->window)); + + g_main_loop_run (fixture->loop); + g_assert(fixture->clicked); +} + int main(int argc, char** argv) { if (!g_thread_supported()) @@ -153,6 +210,12 @@ int main(int argc, char** argv) test_dom_domview_signals, dom_domview_fixture_teardown); + g_test_add("/webkit/domdomview/dispatch_event", + DomDomviewFixture, HTML_DOCUMENT, + dom_domview_fixture_setup, + test_dom_domview_dispatch_event, + dom_domview_fixture_teardown); + return g_test_run(); } diff --git a/WebKit/gtk/tests/testdomnode.c b/WebKit/gtk/tests/testdomnode.c index b253d1d..c6056d6 100644 --- a/WebKit/gtk/tests/testdomnode.c +++ b/WebKit/gtk/tests/testdomnode.c @@ -138,7 +138,7 @@ static void test_dom_node_insertion(DomNodeFixture* fixture, gconstpointer data) g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)) == FALSE); /* Insert one P element */ - p = webkit_dom_document_create_element(document, (char*)"P", NULL); + p = webkit_dom_document_create_element(document, "P", NULL); webkit_dom_node_append_child(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(p), NULL); /* Now it should have one, the same that we inserted */ @@ -150,7 +150,7 @@ static void test_dom_node_insertion(DomNodeFixture* fixture, gconstpointer data) g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(p), node)); /* Replace the P tag with a DIV tag */ - div = webkit_dom_document_create_element(document, (char*)"DIV", NULL); + div = webkit_dom_document_create_element(document, "DIV", NULL); webkit_dom_node_replace_child(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(div), WEBKIT_DOM_NODE(p), NULL); g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body))); list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body)); |
