コード例 #1
0
 def test_append_ByteArray(self):
     aeq = self.assertEquals
     from _dbus_bindings import SignalMessage
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.ByteArray('ab'), signature='ay')
     aeq(s.get_args_list(), [[types.Byte('a'), types.Byte('b')]])
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.ByteArray('ab'), signature='av')
     aeq(s.get_args_list(), [[types.Byte('a'), types.Byte('b')]])
コード例 #2
0
    def test_append(self):
        aeq = self.assertEqual
        from _dbus_bindings import SignalMessage
        s = SignalMessage('/', 'foo.bar', 'baz')
        s.append([types.Byte(1)], signature='ay')
        aeq(s.get_signature(), 'ay')
        aeq(s.get_args_list(), [[types.Byte(1)]])

        s = SignalMessage('/', 'foo.bar', 'baz')
        s.append([], signature='ay')
        aeq(s.get_args_list(), [[]])
コード例 #3
0
 def test_append_ByteArray(self):
     aeq = self.assertEqual
     from _dbus_bindings import SignalMessage
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.ByteArray(b'ab'), signature='ay')
     aeq(s.get_args_list(), [[types.Byte(b'a'), types.Byte(b'b')]])
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.ByteArray(b'ab'), signature='av')
     aeq(s.get_args_list(), [[types.Byte(b'a'), types.Byte(b'b')]])
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.ByteArray(b''), signature='ay')
     aeq(s.get_args_list(), [[]])
     aeq(s.get_args_list(byte_arrays=True), [types.ByteArray(b'')])
コード例 #4
0
 def test_object_path_attr(self):
     from _dbus_bindings import SignalMessage
     class MyObject(object):
         __dbus_object_path__ = '/foo'
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(MyObject(), signature='o')
     s.append(MyObject())
     self.assertEqual(s.get_args_list(), ['/foo', '/foo'])
コード例 #5
0
    def test_append_Byte(self):
        aeq = self.assertEqual
        from _dbus_bindings import SignalMessage

        s = SignalMessage('/', 'foo.bar', 'baz')
        s.append(0xFE, signature='y')
        aeq(s.get_args_list(), [types.Byte(0xFE)])

        s = SignalMessage('/', 'foo.bar', 'baz')
        s.append(b'\xfe', signature='y')
        aeq(s.get_args_list(), [types.Byte(0xFE)])

        # appending a unicode object (including str in Python 3)
        # is not allowed
        s = SignalMessage('/', 'foo.bar', 'baz')
        self.assertRaises(
            Exception, lambda: s.append('a'.decode('latin-1'), signature='y'))

        s = SignalMessage('/', 'foo.bar', 'baz')
        self.assertRaises(Exception, lambda: s.append(b'ab', signature='y'))
コード例 #6
0
    def test_append_Byte(self):
        aeq = self.assertEqual
        from _dbus_bindings import SignalMessage

        s = SignalMessage('/', 'foo.bar', 'baz')
        s.append(0xFE, signature='y')
        aeq(s.get_args_list(), [types.Byte(0xFE)])

        s = SignalMessage('/', 'foo.bar', 'baz')
        s.append(b'\xfe', signature='y')
        aeq(s.get_args_list(), [types.Byte(0xFE)])

        # appending a unicode object (including str in Python 3)
        # is not allowed
        s = SignalMessage('/', 'foo.bar', 'baz')
        self.assertRaises(Exception,
                lambda: s.append('a'.decode('latin-1'), signature='y'))

        s = SignalMessage('/', 'foo.bar', 'baz')
        self.assertRaises(Exception,
                lambda: s.append(b'ab', signature='y'))
コード例 #7
0
 def test_append_Variant(self):
     aeq = self.assertEqual
     from _dbus_bindings import SignalMessage
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.Int32(1, variant_level=0),
              types.String('a', variant_level=42),
              types.Array([types.Byte(b'a', variant_level=1),
                           types.UInt32(123, variant_level=1)],
                          signature='v'),
              signature='vvv')
     aeq(s.get_signature(), 'vvv')
     args = s.get_args_list()
     aeq(args[0].__class__, types.Int32)
     aeq(args[0].variant_level, 1)
     aeq(args[1].__class__, types.String)
     aeq(args[1].variant_level, 42)
     aeq(args[2].__class__, types.Array)
     aeq(args[2].variant_level, 1)
     aeq(args[2].signature, 'v')