[Bug 40393] No change notification on Account.Interface.Addressing.URISchemes

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 8 15:07:47 CET 2013


https://bugs.freedesktop.org/show_bug.cgi?id=40393

--- Comment #13 from Simon McVittie <simon.mcvittie at collabora.co.uk> ---
Spec, tp-glib changes look fine.

MC changes are really at
http://cgit.collabora.com/git/user/cassidy/telepathy-mission-control/log/?h=uri-40393
and are fine except for this:

+ e = q.expect('dbus-signal', signal='PropertiesChanged')
+ assertEquals (e.args, [ cs.ACCOUNT_IFACE_ADDRESSING,
+ { cs.ACCOUNT_IFACE_ADDRESSING + '.URISchemes' : ['telnet', 'email'] }, [] ])

Unfortunately, this demonstrates a bug, which I didn't catch first time round
:-( PropertiesChanged.args[1..] is meant to contain bare property names, so in
this case it should be just 'URISchemes'. (It's not amazingly clear in the
D-Bus Specification, but it's consistent with Get and GetAll, and GDBus matches
this interpretation.)

Also, that quoted block will fail if the URISchemes happen to come out in the
other order. I would suggest something like this:

q.expect('dbus-signal', signal='PropertiesChanged',
    predicate=(lambda e:
        e.args[0] == cs.ACCOUNT_IFACE_ADDRESSING and
        set(e.args[1]['URISchemes']) == set('telnet', 'email'))

(or the mailto equivalent, depending which order you do this in).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.



More information about the telepathy-bugs mailing list