telepathy-idle: muc-channel: set configuration retrieved when appropriate

Jonny Lamb jonny at kemper.freedesktop.org
Wed May 16 10:45:09 PDT 2012


Module: telepathy-idle
Branch: master
Commit: ae49f3ee466d8064fe33826233efa68d3e2fbb0a
URL:    http://cgit.freedesktop.org/telepathy/telepathy-idle/commit/?id=ae49f3ee466d8064fe33826233efa68d3e2fbb0a

Author: Jonny Lamb <jonny.lamb at collabora.co.uk>
Date:   Tue May 15 14:47:22 2012 +0100

muc-channel: set configuration retrieved when appropriate

Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>

---

 src/idle-muc-channel.c                |    2 ++
 tests/twisted/messages/room-config.py |   19 +++++++++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/idle-muc-channel.c b/src/idle-muc-channel.c
index d88cc32..b3d68a8 100644
--- a/src/idle-muc-channel.c
+++ b/src/idle-muc-channel.c
@@ -894,6 +894,8 @@ void idle_muc_channel_mode(IdleMUCChannel *chan, GValueArray *args) {
 	TpBaseConnection *base_conn = tp_base_channel_get_connection (base);
 	TpHandleRepoIface *handles = tp_base_connection_get_handles(base_conn, TP_HANDLE_TYPE_CONTACT);
 
+        tp_base_room_config_set_retrieved (priv->room_config);
+
 	for (guint i = 1; i < args->n_values; i++) {
 		const gchar *modes = g_value_get_string(g_value_array_get_nth(args, i));
 		gchar operation = modes[0];
diff --git a/tests/twisted/messages/room-config.py b/tests/twisted/messages/room-config.py
index 5837ee0..0b8043a 100644
--- a/tests/twisted/messages/room-config.py
+++ b/tests/twisted/messages/room-config.py
@@ -8,6 +8,10 @@ from servicetest import EventPattern, call_async, assertContains, assertEquals,
 import constants as cs
 import dbus
 
+def change_channel_mode(stream, mode_change):
+    stream.sendMessage('324', stream.nick, '#test', mode_change,
+                       prefix='idle.test.server')
+
 def setup(q, bus, conn, stream):
     conn.Connect()
     q.expect('dbus-signal', signal='StatusChanged',
@@ -19,12 +23,19 @@ def setup(q, bus, conn, stream):
         cs.TARGET_HANDLE_TYPE: cs.HT_ROOM,
         cs.TARGET_ID: '#test'})
 
-    ret = q.expect('dbus-return', method='CreateChannel')
+    ret, _, _ = q.expect_many(EventPattern('dbus-return', method='CreateChannel'),
+                              EventPattern('dbus-signal', signal='MembersChanged'),
+                              EventPattern('stream-MODE', data=['#test']))
 
-    q.expect('dbus-signal', signal='MembersChanged')
     chan = wrap_channel(bus.get_object(conn.bus_name, ret.value[0]),
                         'Text', extra=['RoomConfig1'])
 
+    change_channel_mode(stream, '+n')
+
+    q.expect('dbus-signal', signal='PropertiesChanged',
+             args=[cs.CHANNEL_IFACE_ROOM_CONFIG,
+                   {'ConfigurationRetrieved': True}, []])
+
     sync_stream(q, stream)
 
     return chan
@@ -216,10 +227,6 @@ def test_password(q, bus, conn, stream):
                                      []])
                   )
 
-def change_channel_mode(stream, mode_change):
-    stream.sendMessage('324', stream.nick, '#test', mode_change,
-                       prefix='idle.test.server')
-
 def test_modechanges(q, bus, conn, stream):
     chan = setup(q, bus, conn, stream)
 



More information about the telepathy-commits mailing list