1545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch/* 2545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Copyright (C) 2010 Igalia S.L. 3545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 4545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * This library is free software; you can redistribute it and/or 5545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * modify it under the terms of the GNU Library General Public 6545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * License as published by the Free Software Foundation; either 7545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * version 2 of the License, or (at your option) any later version. 8545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 9545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * This library is distributed in the hope that it will be useful, 10545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * but WITHOUT ANY WARRANTY; without even the implied warranty of 11545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Library General Public License for more details. 13545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 14545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * You should have received a copy of the GNU Library General Public License 15545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * along with this library; see the file COPYING.LIB. If not, write to 16545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Boston, MA 02110-1301, USA. 18545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch */ 19545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 20545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "test_utils.h" 21545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 22545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <glib.h> 23545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <glib/gstdio.h> 24545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <gtk/gtk.h> 25545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <webkit/webkit.h> 26545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 27f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch#if GTK_CHECK_VERSION(2, 14, 0) 28545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 29545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#define HTML_DOCUMENT_HIERARCHY_NAVIGATION "<html><head><title>This is the title</title></head><body><p>1</p><p>2</p><p>3</p></body></html>" 30ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block#define HTML_DOCUMENT_NODE_INSERTION "<html><body></body></html>" 31545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 32545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochtypedef struct { 33545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch GtkWidget* webView; 34545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch GMainLoop* loop; 35545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} DomNodeFixture; 36545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 37545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochstatic gboolean finish_loading(DomNodeFixture* fixture) 38545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 39545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch if (g_main_loop_is_running(fixture->loop)) 40545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_main_loop_quit(fixture->loop); 41545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 42545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return FALSE; 43545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 44545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 45545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochstatic void dom_node_fixture_setup(DomNodeFixture* fixture, gconstpointer data) 46545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 47545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch fixture->loop = g_main_loop_new(NULL, TRUE); 48545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch fixture->webView = webkit_web_view_new(); 49545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_object_ref_sink(fixture->webView); 50545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 51545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch if (data != NULL) 52545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch webkit_web_view_load_string(WEBKIT_WEB_VIEW(fixture->webView), (const char*)data, NULL, NULL, NULL); 53545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 54545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_idle_add((GSourceFunc)finish_loading, fixture); 55545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_main_loop_run(fixture->loop); 56545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 57545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 58545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochstatic void dom_node_fixture_teardown(DomNodeFixture* fixture, gconstpointer data) 59545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 60545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_object_unref(fixture->webView); 61545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_main_loop_unref(fixture->loop); 62545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 63545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 64545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochstatic void test_dom_node_hierarchy_navigation(DomNodeFixture* fixture, gconstpointer data) 65545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 66545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch WebKitDOMDocument* document; 67545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch WebKitDOMHTMLHeadElement* head; 68545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch WebKitDOMHTMLBodyElement* body; 69545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch WebKitDOMNodeList* list; 70545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch WebKitDOMNode* ptr; 71545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch gulong i, length; 72545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 73545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView)); 74545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(document); 75545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(WEBKIT_DOM_IS_DOCUMENT(document)); 76545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch head = webkit_dom_document_get_head(document); 77545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(head); 78545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(WEBKIT_DOM_IS_HTML_HEAD_ELEMENT(head)); 79545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 80545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* Title, head's child */ 81545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(head))); 82545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(head)); 83545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1); 84545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch ptr = webkit_dom_node_list_item(list, 0); 85545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(ptr); 86545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(WEBKIT_DOM_IS_HTML_TITLE_ELEMENT(ptr)); 874576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang g_object_unref(list); 88545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 89545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* Body, Head sibling */ 90545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch ptr = webkit_dom_node_get_next_sibling(WEBKIT_DOM_NODE(head)); 91545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(ptr); 92545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch body = WEBKIT_DOM_HTML_BODY_ELEMENT(ptr); 93545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(WEBKIT_DOM_IS_HTML_BODY_ELEMENT(body)); 94545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 95545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* There is no third sibling */ 96545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch ptr = webkit_dom_node_get_next_sibling(ptr); 97545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(ptr == NULL); 98545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 99545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* Body's previous sibling is Head */ 100545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch ptr = webkit_dom_node_get_previous_sibling(WEBKIT_DOM_NODE(body)); 101545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(ptr); 102545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(WEBKIT_DOM_IS_HTML_HEAD_ELEMENT(ptr)); 103545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 104545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* Body has 3 children */ 105545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body))); 106545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body)); 107545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch length = webkit_dom_node_list_get_length(list); 108545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert_cmpint(length, ==, 3); 109545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 110545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* The three of them are P tags */ 111545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch for (i = 0; i < length; i++) { 112545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch ptr = webkit_dom_node_list_item(list, i); 113545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(ptr); 114545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert(WEBKIT_DOM_IS_HTML_PARAGRAPH_ELEMENT(ptr)); 115545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch } 116545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 117545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* Go backwards */ 118545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch for (i = 0; ptr; ptr = webkit_dom_node_get_previous_sibling(ptr), i++) 119545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch /* Nothing */; 120545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 121545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_assert_cmpint(i, ==, 3); 1224576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang g_object_unref(list); 123545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 124545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 125ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Blockstatic void test_dom_node_insertion(DomNodeFixture* fixture, gconstpointer data) 126ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block{ 127ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block WebKitDOMDocument* document; 128ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block WebKitDOMHTMLElement* body; 129ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block WebKitDOMElement* p, *div; 130ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block WebKitDOMNodeList* list; 131ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block WebKitDOMNode* node; 132ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 133ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView)); 134ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(document); 135ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block body = webkit_dom_document_get_body(document); 136ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(body); 137ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(WEBKIT_DOM_IS_HTML_ELEMENT(body)); 138ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 139ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block /* Body shouldn't have any children at this point */ 140ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)) == FALSE); 141ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 142ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block /* Insert one P element */ 143dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch p = webkit_dom_document_create_element(document, "P", NULL); 144ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block webkit_dom_node_append_child(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(p), NULL); 145ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 146ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block /* Now it should have one, the same that we inserted */ 147ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body))); 148ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body)); 149ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1); 150ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block node = webkit_dom_node_list_item(list, 0); 151ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(node); 152ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(p), node)); 1534576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang g_object_unref(list); 154ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 155ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block /* Replace the P tag with a DIV tag */ 156dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch div = webkit_dom_document_create_element(document, "DIV", NULL); 157ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block webkit_dom_node_replace_child(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(div), WEBKIT_DOM_NODE(p), NULL); 158ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body))); 159ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body)); 160ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1); 161ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block node = webkit_dom_node_list_item(list, 0); 162ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(node); 163ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(div), node)); 1644576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang g_object_unref(list); 165ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 166ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block /* Now remove the tag */ 167ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block webkit_dom_node_remove_child(WEBKIT_DOM_NODE(body), node, NULL); 168ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body)); 169ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 0); 1704576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang g_object_unref(list); 171ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 172ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block /* TODO: insert_before, which does not seem to be working correctly */ 173ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block} 174ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 175545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochint main(int argc, char** argv) 176545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 177545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch if (!g_thread_supported()) 178545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_thread_init(NULL); 179545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 180545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch gtk_test_init(&argc, &argv, NULL); 181545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 182545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_test_bug_base("https://bugs.webkit.org/"); 183545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 184545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch g_test_add("/webkit/domnode/test_hierarchy_navigation", 185545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch DomNodeFixture, HTML_DOCUMENT_HIERARCHY_NAVIGATION, 186545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch dom_node_fixture_setup, 187545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch test_dom_node_hierarchy_navigation, 188545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch dom_node_fixture_teardown); 189545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 190ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block g_test_add("/webkit/domnode/test_insertion", 191ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block DomNodeFixture, HTML_DOCUMENT_NODE_INSERTION, 192ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block dom_node_fixture_setup, 193ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block test_dom_node_insertion, 194ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block dom_node_fixture_teardown); 195ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block 196545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return g_test_run(); 197545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 198545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 199545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#else 200545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochint main(int argc, char** argv) 201545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 202f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch g_critical("You will need gtk-2.14.0 to run the unit tests. Doing nothing now."); 203545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return 0; 204545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 205545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 206545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#endif 207