ESourceRegistry: Do not mandate builtin sources.
[platform/upstream/evolution-data-server.git] / tests / libebook / test-photo.c
1 #include <stdlib.h>
2 #include <string.h>
3 #include <libebook/libebook.h>
4
5 static const gchar *photo_data =
6         "/9j/4AAQSkZJRgABAQEARwBHAAD//gAXQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q/9sAQwAIBgYHB"
7         "gUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04Mjw"
8         "uMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM"
9         "jIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAMgAyAwEiAAIRAQMRAf/EABsAAQACAwEBAAAAAAAAAAA"
10         "AAAAHCAQFBgID/8QAMBAAAgEDAQYEBQQDAAAAAAAAAQIDAAQRBQYSEyExQQdhcYEiI0JRkRQVM"
11         "qFiguH/xAAaAQADAQEBAQAAAAAAAAAAAAAABAUCBgED/8QAIxEAAgICAQQCAwAAAAAAAAAAAAE"
12         "CAwQRQRITITEUYQUiUf/aAAwDAQACEQMRAD8An+sHUtWtNKjVrmQ7754cajLvjrgfbzPIdzWdV"
13         "fds9pJb3XdQkMrcFZGj+HqY0bdVV9Tz/wBia+N9vbjvkaxMb5E9N6SJB1HxLEEjJaWsUjD6QzS"
14         "MPXdGB7E1zV74t63HINy1s4F7CWCTn77wrA0TY86jY3N1qsUk6wxBxBDvYjLHkoUH4j3JP/a0V"
15         "3s1CvF/QM9tKpw0THeU+TLkj8VLnmzT8y0n9FujBx5bioba/rZLWx3iPZ7RzLp95GtnqRGVTez"
16         "HNjruH7/4n+67iqpq7Qi3uYWMMsNynfnE6sM8/Lr6VamFi0KMepUE1Sx7XZHbI+fjxos1H0z3S"
17         "lKYEjzISI2I64OKqsyu8sck2QYrmPjBvpIYg598Vauoh8VtlY7JW2isoBwpPl6hGByZTyD+o6E"
18         "+h7UtlVOcPHA/+PyI1Wal6Zp7vaC/06wnTTLtEeUDiKwzu4H8vI9AM9Tiuctkng1Nnk1G5cOoY"
19         "ifB4nI/jB7VjWuoT21qPmwXUCHKlphHKvqG5N6g0/cLi/Rg88FhbkbxlaUSu3kqpnn6kDzqGqb"
20         "NdPB0XyK4/svZr9RVntL50GePdcKEDqzhVBx7sKtPpayppNosxzKIlDHzxUFeG2zo2n2kivWhK"
21         "6PpHwwoTnfk65J7kZyT9z5VYADAwKuYtfRA5zPv7tnjgUpSmREV8bq1hvbWW1uY1khlUo6MMhg"
22         "eor7UoAje18FtmLe9eeQT3EXPcglkJRPbv71EWu7Dajp2o3MGmlRCkjKQ30jPUe1WlrlNW0Rpt"
23         "TleNB84DnjkD0P9VlxT4Nqck9pmn8JuFp2zo0cgCWFi2e7555/NSHXLadso2m3sU0NxlV65HM+"
24         "VdTW3rgwvsUpSvAFKUoAUxSlAClKUAKUpQB//2Q==";
25
26 gint
27 main (gint argc,
28       gchar **argv)
29 {
30         EContact *contact;
31         EContactPhoto *photo, *new_photo;
32         guchar *data;
33         gsize length = 0;
34
35         g_type_init ();
36
37         contact = e_contact_new ();
38         data = g_base64_decode (photo_data, &length);
39
40         photo = g_new (EContactPhoto, 1);
41         photo->type = E_CONTACT_PHOTO_TYPE_INLINED;
42         photo->data.inlined.mime_type = NULL;
43         photo->data.inlined.data = data;
44         photo->data.inlined.length = length;
45
46         /* set the photo */
47         e_contact_set (contact, E_CONTACT_PHOTO, photo);
48
49         /* then get the photo */
50         new_photo = e_contact_get (contact, E_CONTACT_PHOTO);
51
52         /* and compare */
53         if (new_photo->data.inlined.length != photo->data.inlined.length)
54           g_error ("photo lengths differ");
55
56         if (memcmp (new_photo->data.inlined.data, photo->data.inlined.data, photo->data.inlined.length))
57           g_error ("photo data differs");
58
59         printf ("photo test passed\n");
60
61         return 0;
62 }