Updating branch refs/heads/master to 89bcd9e540800e86c544b95d7f2db1f0704ac678 (commit) from d107b6e07496eb6eeca4ee10bfaa9d5afb9844a0 (commit)
commit 89bcd9e540800e86c544b95d7f2db1f0704ac678 Author: Christian Dywan <christ...@twotoasts.de> Date: Fri Dec 7 20:17:52 2012 +0100 Add basic formhistory unit test and assertions extensions/formhistory/formhistory-gdom-frontend.c | 4 +- extensions/formhistory/formhistory-js-frontend.c | 4 +- extensions/formhistory/formhistory.c | 84 +++++++++++-------- midori/midori-extension.c | 3 +- 4 files changed, 52 insertions(+), 43 deletions(-) diff --git a/extensions/formhistory/formhistory-gdom-frontend.c b/extensions/formhistory/formhistory-gdom-frontend.c index 76e0361..b601f35 100644 --- a/extensions/formhistory/formhistory-gdom-frontend.c +++ b/extensions/formhistory/formhistory-gdom-frontend.c @@ -14,9 +14,7 @@ FormHistoryPriv* formhistory_private_new () { - FormHistoryPriv* priv; - - priv = g_slice_new (FormHistoryPriv); + FormHistoryPriv* priv = g_slice_new (FormHistoryPriv); priv->oldkeyword = g_strdup (""); priv->selection_index = -1; return priv; diff --git a/extensions/formhistory/formhistory-js-frontend.c b/extensions/formhistory/formhistory-js-frontend.c index ec64d7a..2596335 100644 --- a/extensions/formhistory/formhistory-js-frontend.c +++ b/extensions/formhistory/formhistory-js-frontend.c @@ -13,9 +13,7 @@ FormHistoryPriv* formhistory_private_new () { - FormHistoryPriv* priv; - - priv = g_slice_new (FormHistoryPriv); + FormHistoryPriv* priv = g_slice_new (FormHistoryPriv); return priv; } diff --git a/extensions/formhistory/formhistory.c b/extensions/formhistory/formhistory.c index fca8aad..d999cd4 100644 --- a/extensions/formhistory/formhistory.c +++ b/extensions/formhistory/formhistory.c @@ -29,8 +29,7 @@ formhistory_update_database (gpointer db, if (!(value && *value)) return; - sqlcmd = sqlite3_mprintf ("INSERT INTO forms VALUES" - "('%q', '%q', '%q')", + sqlcmd = sqlite3_mprintf ("INSERT INTO forms VALUES('%q', '%q', '%q')", host, key, value); success = sqlite3_exec (db, sqlcmd, NULL, NULL, &errmsg); sqlite3_free (sqlcmd); @@ -44,16 +43,21 @@ formhistory_update_database (gpointer db, static gchar* formhistory_get_login_data (gpointer db, - const gchar* domain) + const gchar* uri) { + gchar* domain; static sqlite3_stmt* stmt; - const char* sqlcmd; gint result; gchar* value = NULL; + g_return_val_if_fail (db != NULL, NULL); + g_return_val_if_fail (uri != NULL, NULL); + domain = midori_uri_parse_hostname (uri, NULL); + g_return_val_if_fail (domain != NULL, NULL); + if (!stmt) { - sqlcmd = "SELECT value FROM forms WHERE domain = ?1 and field = 'MidoriPasswordManager' limit 1"; + const gchar* sqlcmd = "SELECT value FROM forms WHERE domain = ?1 and field = 'MidoriPasswordManager' limit 1"; sqlite3_prepare_v2 (db, sqlcmd, strlen (sqlcmd) + 1, &stmt, NULL); } sqlite3_bind_text (stmt, 1, domain, -1, NULL); @@ -62,6 +66,7 @@ formhistory_get_login_data (gpointer db, value = g_strdup ((gchar*)sqlite3_column_text (stmt, 0)); sqlite3_reset (stmt); sqlite3_clear_bindings (stmt); + g_free (domain); return value; } @@ -233,18 +238,13 @@ formhistory_navigation_decision_cb (WebKitWebView* web_view, #if WEBKIT_CHECK_VERSION (1, 3, 8) else { - gchar* data; - gchar* domain; #if 0 FormhistoryPasswordEntry* entry; #endif - - domain = midori_uri_parse_hostname (webkit_web_frame_get_uri (web_frame), NULL); - data = formhistory_get_login_data (priv->db, domain); + gchar* data = formhistory_get_login_data (priv->db, webkit_web_frame_get_uri (web_frame)); if (data) { g_free (data); - g_free (domain); break; } #if 0 @@ -367,7 +367,6 @@ formhistory_frame_loaded_cb (WebKitWebView* web_view, FormHistoryPriv* priv; JSContextRef js_context; gchar* data; - gchar* domain; gchar* count; page_uri = webkit_web_frame_get_uri (web_frame); @@ -385,9 +384,7 @@ formhistory_frame_loaded_cb (WebKitWebView* web_view, g_free (count); priv = g_object_get_data (G_OBJECT (extension), "priv"); - domain = midori_uri_parse_hostname (webkit_web_frame_get_uri (web_frame), NULL); - data = formhistory_get_login_data (priv->db, domain); - g_free (domain); + data = formhistory_get_login_data (priv->db, webkit_web_frame_get_uri (web_frame)); if (!data) return; @@ -504,31 +501,21 @@ formhistory_deactivate_cb (MidoriExtension* extension, formhistory_private_destroy (priv); } -static void -formhistory_activate_cb (MidoriExtension* extension, - MidoriApp* app) +static FormHistoryPriv* +formhistory_new (const gchar* config_dir) { - const gchar* config_dir; gchar* filename; sqlite3* db; char* errmsg = NULL, *errmsg2 = NULL; - KatzeArray* browsers; - MidoriBrowser* browser; - FormHistoryPriv* priv; - - priv = formhistory_private_new (); + FormHistoryPriv* priv = formhistory_private_new (); priv->master_password = NULL; priv->master_password_canceled = 0; formhistory_construct_popup_gui (priv); - config_dir = midori_extension_get_config_dir (extension); - if (config_dir != NULL) - katze_mkdir_with_parents (config_dir, 0700); filename = g_build_filename (config_dir, "forms.db", NULL); if (sqlite3_open (filename, &db) != SQLITE_OK) { - if (config_dir != NULL) - g_warning (_("Failed to open database: %s\n"), sqlite3_errmsg (db)); + g_warning (_("Failed to open database: %s\n"), sqlite3_errmsg (db)); sqlite3_close (db); } g_free (filename); @@ -556,14 +543,23 @@ formhistory_activate_cb (MidoriExtension* extension, } sqlite3_close (db); } + return priv; +} +static void +formhistory_activate_cb (MidoriExtension* extension, + MidoriApp* app) +{ + const gchar* config_dir = midori_extension_get_config_dir (extension); + FormHistoryPriv* priv = formhistory_new (config_dir); + KatzeArray* browsers = katze_object_get_object (app, "browsers"); + MidoriBrowser* browser; g_object_set_data (G_OBJECT (extension), "priv", priv); - browsers = katze_object_get_object (app, "browsers"); + KATZE_ARRAY_FOREACH_ITEM (browser, browsers) formhistory_app_add_browser_cb (app, browser, extension); g_signal_connect (app, "add-browser", G_CALLBACK (formhistory_app_add_browser_cb), extension); - g_object_unref (browsers); } @@ -658,13 +654,31 @@ formhistory_toggle_state_cb (GtkAction* action, formhistory_add_tab_cb (browser, view, extension); } -MidoriExtension* -extension_init (void) +static void +test_formhistory_login (void) { - MidoriExtension* extension; + gchar* config_dir = midori_paths_get_extension_config_dir ("formhistory"); + FormHistoryPriv* priv = formhistory_new (config_dir); + g_free (formhistory_get_login_data (priv->db, "http://example.com")); + g_free (formhistory_get_login_data (priv->db, "http://beispiel.de")); + formhistory_update_database (priv->db, "http://example.com", "MidoriPasswordManager", "lalelu"); + formhistory_update_database (priv->db, NULL, "spam", "eggs"); + g_free (formhistory_get_login_data (priv->db, "http://example.com")); + g_free (formhistory_get_login_data (priv->db, "http://beispiel.de")); + g_free (config_dir); + formhistory_private_destroy (priv); +} +void +extension_test (void) +{ + g_test_add_func ("/extensions/formhistory/login", test_formhistory_login); +} - extension = g_object_new (MIDORI_TYPE_EXTENSION, +MidoriExtension* +extension_init (void) +{ + MidoriExtension* extension = g_object_new (MIDORI_TYPE_EXTENSION, "name", _("Form history filler"), "description", _("Stores history of entered form data"), "version", "2.0" MIDORI_VERSION_SUFFIX, diff --git a/midori/midori-extension.c b/midori/midori-extension.c index 61f4428..6f1d156 100644 --- a/midori/midori-extension.c +++ b/midori/midori-extension.c @@ -841,8 +841,7 @@ static void midori_extension_save_settings (MidoriExtension *extension) { GError* error = NULL; - gchar* config_file = g_build_filename (extension->priv->config_dir, - "config", NULL); + gchar* config_file = g_build_filename (extension->priv->config_dir, "config", NULL); katze_mkdir_with_parents (extension->priv->config_dir, 0700); sokoke_key_file_save_to_file (extension->priv->key_file, config_file, &error); if (error) _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits