1
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
4
#include <libebook/e-book.h>
6
#include "ebook-test-utils.h"
8
static GMainLoop *loop;
11
print_contact (EContact *contact)
15
test_print ("Contact: %s\n", (gchar *)e_contact_get_const (contact, E_CONTACT_FULL_NAME));
16
test_print ("UID: %s\n", (gchar *)e_contact_get_const (contact, E_CONTACT_UID));
17
test_print ("Email addresses:\n");
19
emails = e_contact_get (contact, E_CONTACT_EMAIL);
20
for (e = emails; e; e = e->next) {
21
test_print ("\t%s\n", (gchar *)e->data);
23
g_list_foreach (emails, (GFunc)g_free, NULL);
30
contacts_added (EBookView *book_view, const GList *contacts)
34
for (l = (GList*)contacts; l; l = l->next) {
35
print_contact (l->data);
40
contacts_removed (EBookView *book_view, const GList *ids)
44
for (l = (GList*)ids; l; l = l->next) {
45
test_print ("Removed contact: %s\n", (gchar *)l->data);
50
sequence_complete (EBookView *book_view, EBookViewStatus status)
52
e_book_view_stop (book_view);
53
g_object_unref (book_view);
54
g_main_loop_quit (loop);
58
setup_and_start_view (EBookView *view)
60
g_signal_connect (view, "contacts_added", G_CALLBACK (contacts_added), NULL);
61
g_signal_connect (view, "contacts_removed", G_CALLBACK (contacts_removed), NULL);
62
g_signal_connect (view, "sequence_complete", G_CALLBACK (sequence_complete), NULL);
64
e_book_view_start (view);
68
get_book_view_cb (EBookTestClosure *closure)
70
g_assert (closure->view);
72
setup_and_start_view (closure->view);
76
setup_book (EBook **book_out)
80
book = ebook_test_utils_book_new_temp (NULL);
81
ebook_test_utils_book_open (book, FALSE);
83
ebook_test_utils_book_add_contact_from_test_case_verify (book, "simple-1", NULL);
84
ebook_test_utils_book_add_contact_from_test_case_verify (book, "simple-2", NULL);
85
ebook_test_utils_book_add_contact_from_test_case_verify (book, "name-only", NULL);
91
main (gint argc, gchar **argv)
103
query = e_book_query_any_field_contains ("");
104
ebook_test_utils_book_get_book_view (book, query, &view);
105
setup_and_start_view (view);
107
test_print ("successfully set up the book view\n");
109
loop = g_main_loop_new (NULL, TRUE);
110
g_main_loop_run (loop);
112
e_book_query_unref (query);
113
ebook_test_utils_book_remove (book);
119
query = e_book_query_any_field_contains ("");
121
loop = g_main_loop_new (NULL, TRUE);
122
ebook_test_utils_book_async_get_book_view (book, query,
123
(GSourceFunc) get_book_view_cb, loop);
125
g_main_loop_run (loop);
127
e_book_query_unref (query);
128
ebook_test_utils_book_remove (book);