~midori/midori/trunk

« back to all changes in this revision

Viewing changes to tests/bookmarks.c

  • Committer: André Auzi
  • Date: 2013-08-05 19:52:52 UTC
  • mto: This revision was merged to the branch mainline in revision 6406.
  • Revision ID: aauzi@free.fr-20130805195252-89hqx89j37gl7v61
Derive MidoriBookmarksDb from KatzeArray in order to implement update-item signal
Implements, partially, signal redirection to parent KatzeArray after database operations.
On update-item signal, both bookmarkbar and bookmarks panel update themself.

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
 */
11
11
 
12
12
#include "midori.h"
13
 
#include "panels/midori-bookmarks.h"
 
13
#include "midori-bookmarks-db.h"
14
14
 
15
15
typedef struct
16
16
{
17
 
    KatzeArray* db_bookmarks;
 
17
    MidoriBookmarksDb* db_bookmarks;
18
18
    KatzeArray* test_bookmarks;
19
19
} BookmarksFixture;
20
20
 
37
37
    KatzeArray* folder;
38
38
    gchar *errmsg = NULL;
39
39
 
40
 
    if (!(fixture->db_bookmarks = midori_bookmarks_new (&errmsg)))
 
40
    if (!(fixture->db_bookmarks = midori_bookmarks_db_new (&errmsg)))
41
41
        g_error ("Bookmarks couldn't be loaded: %s\n", errmsg);
42
42
    g_assert (errmsg == NULL);
43
43
    g_assert (g_object_get_data (G_OBJECT (fixture->db_bookmarks), "db"));
84
84
fixture_teardown (BookmarksFixture* fixture,
85
85
                  const TestParameters *params)
86
86
{
87
 
    midori_bookmarks_on_quit (fixture->db_bookmarks);
88
 
    g_object_unref (fixture->db_bookmarks);
 
87
    midori_bookmarks_db_on_quit (fixture->db_bookmarks);
 
88
    /* g_object_unref (fixture->db_bookmarks); */
89
89
    g_object_unref (fixture->test_bookmarks);
90
90
}
91
91
 
112
112
/* NB: assumes "title" is unique in a set */
113
113
static void
114
114
compare_test_and_db (KatzeArray* test_bookmarks,
115
 
                     KatzeArray* db_bookmarks,
 
115
                     MidoriBookmarksDb* db_bookmarks,
116
116
                     gboolean verbose)
117
117
{
118
118
    KatzeArray* db_items;
127
127
            g_print ("----------\n");
128
128
        }
129
129
 
130
 
        db_items = midori_array_query_recursive (db_bookmarks,
 
130
        db_items = midori_bookmarks_db_query_recursive (db_bookmarks,
131
131
                           "*", "title='%q'", katze_item_get_name (test_item), FALSE);
132
132
 
133
133
        /* FIXME g_assert_cmpint (katze_array_get_length (db_items), ==, 1); */
142
142
}
143
143
 
144
144
static void
 
145
print_bookmarks (KatzeArray* test_bookmarks)
 
146
{
 
147
    KatzeItem* item;
 
148
    GList* list;
 
149
    KATZE_ARRAY_FOREACH_ITEM_L (item, test_bookmarks, list)
 
150
    {
 
151
        print_bookmark (item);
 
152
        g_print ("----------\n");
 
153
 
 
154
        if (KATZE_ITEM_IS_FOLDER(item))
 
155
            print_bookmarks (KATZE_ARRAY (item));
 
156
    }
 
157
    g_list_free (list);
 
158
}
 
159
 
 
160
static void
145
161
insert_bookmarks (KatzeArray* test_bookmarks,
146
 
                  KatzeArray* db_bookmarks,
 
162
                  MidoriBookmarksDb* db_bookmarks,
147
163
                  gboolean verbose)
148
164
{
149
 
    KatzeItem* item;
150
 
    GList* list;
151
 
    sqlite3 *db = g_object_get_data (G_OBJECT (db_bookmarks), "db");
152
165
 
153
 
    KATZE_ARRAY_FOREACH_ITEM_L (item, test_bookmarks, list)
 
166
    if (verbose)
154
167
    {
155
 
        if (verbose)
156
 
        {
157
 
            print_bookmark (item);
158
 
            g_print ("----------\n");
159
 
        }
160
 
 
161
 
        midori_bookmarks_insert_item_db (db, item, 0);
162
 
 
163
 
        if (KATZE_ITEM_IS_FOLDER(item))
164
 
            insert_bookmarks (KATZE_ARRAY (item), db_bookmarks, verbose);
 
168
        print_bookmarks (test_bookmarks);
165
169
    }
166
 
    g_list_free (list);
 
170
 
 
171
    midori_bookmarks_db_import_array (db_bookmarks, test_bookmarks, 0);
167
172
}
168
173
 
169
174
static void