summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2011-05-26 18:18:44 -0400
committerNicolas Dufresne <nicolas.dufresne@collabora.com>2011-05-26 18:18:44 -0400
commit945c4ec3bc883d9ed11fddd042240a0cc6602e82 (patch)
tree12f074691c3554aaaa385bec20ce84acca313585 /tests
parent4230ec13757892520a2971dacbb82b55fda7a76e (diff)
parent246744179fc337ac588206c03bc2260938c7c7f1 (diff)
downloadtelepathy-logger-945c4ec3bc883d9ed11fddd042240a0cc6602e82.tar.gz
Merge branch 'fix-insert-after'
Diffstat (limited to 'tests')
-rw-r--r--tests/dbus/test-log-manager.c2
-rw-r--r--tests/dbus/test-tpl-log-store-xml.c63
-rw-r--r--tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.call.log5
-rw-r--r--tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.log5
4 files changed, 57 insertions, 18 deletions
diff --git a/tests/dbus/test-log-manager.c b/tests/dbus/test-log-manager.c
index 5deb349..c3a91a6 100644
--- a/tests/dbus/test-log-manager.c
+++ b/tests/dbus/test-log-manager.c
@@ -455,7 +455,7 @@ test_get_entities (TestCaseFixture *fixture,
get_entities_cb, fixture);
g_main_loop_run (fixture->main_loop);
- g_assert_cmpint (g_list_length (fixture->ret), ==, 4);
+ g_assert_cmpint (g_list_length (fixture->ret), ==, 5);
/* we do not want duplicates */
fixture->ret = g_list_sort (fixture->ret, (GCompareFunc) _tpl_entity_compare);
diff --git a/tests/dbus/test-tpl-log-store-xml.c b/tests/dbus/test-tpl-log-store-xml.c
index d049cf8..fd70ee9 100644
--- a/tests/dbus/test-tpl-log-store-xml.c
+++ b/tests/dbus/test-tpl-log-store-xml.c
@@ -469,7 +469,7 @@ test_add_superseding_event (XmlTestCaseFixture *fixture,
gconstpointer user_data)
{
TpAccount *account;
- TplEntity *me, *contact, *room;
+ TplEntity *me, *contact;
TplEvent *event;
TplTextEvent *new_event;
TplTextEvent *new_new_event;
@@ -489,8 +489,6 @@ test_add_superseding_event (XmlTestCaseFixture *fixture,
me = tpl_entity_new ("me", TPL_ENTITY_SELF, "my-alias", "my-avatar");
contact = tpl_entity_new ("contact", TPL_ENTITY_CONTACT, "contact-alias",
"contact-token");
- room = tpl_entity_new_from_room_id ("room");
-
/* 1. Outgoing message to a contact. */
event = g_object_new (TPL_TYPE_TEXT_EVENT,
@@ -918,10 +916,11 @@ test_get_events_for_date (XmlTestCaseFixture *fixture,
gconstpointer user_data)
{
TpAccount *account;
- TplEntity *user2, *user3, *user4;
+ TplEntity *user2, *user3, *user4, *user5;
GList *events;
GDate *date;
GError *error = NULL;
+ gint idx;
account = tp_account_new (fixture->bus,
TP_ACCOUNT_OBJECT_PATH_BASE "gabble/jabber/user_40collabora_2eco_2euk",
@@ -940,44 +939,71 @@ test_get_events_for_date (XmlTestCaseFixture *fixture,
user4 = tpl_entity_new ("user4@collabora.co.uk", TPL_ENTITY_CONTACT,
"User4", "");
+ user5 = tpl_entity_new ("user5@collabora.co.uk", TPL_ENTITY_CONTACT,
+ "User5", "");
+
+ /* Check that text event and call event are merged properly, call events
+ * should come after any older or same timestamp event. */
events = _tpl_log_store_get_events_for_date (fixture->store, account, user4,
TPL_EVENT_MASK_ANY, date);
g_assert_cmpint (g_list_length (events), ==, 6);
+ idx = -1;
- g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, 0)));
+ g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, ++idx)));
g_assert_cmpstr (
- tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, 0))),
+ tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, idx))),
==, "7");
- g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, 1)));
+ g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, ++idx)));
+ g_assert_cmpstr (
+ tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, idx))),
+ ==, "8");
+
+ g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, ++idx)));
g_assert_cmpint (
- tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, 1))),
+ tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, idx))),
==, 1);
- g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, 2)));
+ g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, ++idx)));
g_assert_cmpint (
- tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, 2))),
+ tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, idx))),
==, 2);
- g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, 3)));
+ g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, ++idx)));
g_assert_cmpint (
- tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, 3))),
+ tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, idx))),
==, 3);
- g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, 4)));
+ g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, ++idx)));
g_assert_cmpstr (
- tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, 4))),
- ==, "8");
+ tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, idx))),
+ ==, "9");
+
+ g_list_foreach (events, (GFunc) g_object_unref, NULL);
+ g_list_free (events);
+
+ /* Check that a call older then any text event is sorted first */
+ events = _tpl_log_store_get_events_for_date (fixture->store, account, user5,
+ TPL_EVENT_MASK_ANY, date);
+
+ g_assert_cmpint (g_list_length (events), ==, 2);
+ idx = -1;
+
+ g_assert (TPL_IS_CALL_EVENT (g_list_nth_data (events, ++idx)));
+ g_assert_cmpint (
+ tpl_call_event_get_duration (TPL_CALL_EVENT (g_list_nth_data (events, idx))),
+ ==, 1);
- g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, 5)));
+ g_assert (TPL_IS_TEXT_EVENT (g_list_nth_data (events, ++idx)));
g_assert_cmpstr (
- tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, 5))),
+ tpl_text_event_get_message (TPL_TEXT_EVENT (g_list_nth_data (events, idx))),
==, "9");
g_list_foreach (events, (GFunc) g_object_unref, NULL);
g_list_free (events);
+ /* Check that call mask work */
events = _tpl_log_store_get_events_for_date (fixture->store, account, user4,
TPL_EVENT_MASK_CALL, date);
@@ -990,6 +1016,7 @@ test_get_events_for_date (XmlTestCaseFixture *fixture,
g_list_foreach (events, (GFunc) g_object_unref, NULL);
g_list_free (events);
+ /* Check that text mask work */
events = _tpl_log_store_get_events_for_date (fixture->store, account, user4,
TPL_EVENT_MASK_TEXT, date);
@@ -1003,6 +1030,7 @@ test_get_events_for_date (XmlTestCaseFixture *fixture,
g_list_foreach (events, (GFunc) g_object_unref, NULL);
g_list_free (events);
+ /* Check that getting empty list is working */
events = _tpl_log_store_get_events_for_date (fixture->store, account, user2,
TPL_EVENT_MASK_CALL, date);
g_assert_cmpint (g_list_length (events), ==, 0);
@@ -1015,6 +1043,7 @@ test_get_events_for_date (XmlTestCaseFixture *fixture,
g_object_unref (user2);
g_object_unref (user3);
g_object_unref (user4);
+ g_object_unref (user5);
g_date_free (date);
}
diff --git a/tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.call.log b/tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.call.log
new file mode 100644
index 0000000..50b4e34
--- /dev/null
+++ b/tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.call.log
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<?xml-stylesheet type="text/xsl" href="empathy-log.xsl"?>
+<log>
+<call time='20100113T17:48:01' id='user@collabora.co.uk' name='Nicolas1' isuser='false' token='' duration='1' actor='user@collabora.co.uk' actortype='contact' actorname='User1' actortoken='' reason='user-requested' detail='org.freedesktop.Telepathy.Error.Cancelled' />
+</log>
diff --git a/tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.log b/tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.log
new file mode 100644
index 0000000..23d6859
--- /dev/null
+++ b/tests/logs/TpLogger/logs/gabble_jabber_user_40collabora_2eco_2euk/user5@collabora.co.uk/20100113.log
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<?xml-stylesheet type="text/xsl" href="empathy-log.xsl"?>
+<log>
+<message time='20100113T17:49:10' cm_id='456' id='user1@collabora.co.uk' name='User1' token='' isuser='false' type='normal'>9</message>
+</log>