summaryrefslogtreecommitdiffstats
path: root/WebKit/gtk/tests
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-08-11 14:44:44 +0100
committerBen Murdoch <benm@google.com>2010-08-12 19:15:41 +0100
commitdd8bb3de4f353a81954234999f1fea748aee2ea9 (patch)
tree729b52bf09294f0d6c67cd5ea80aee1b727b7bd8 /WebKit/gtk/tests
parentf3d41ba51d86bf719c7a65ab5297aea3c17e2d98 (diff)
downloadexternal_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.c14
-rw-r--r--WebKit/gtk/tests/testdomdomwindow.c69
-rw-r--r--WebKit/gtk/tests/testdomnode.c4
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));