(ert-deftest dbus-test05-register-property-types () "Check property type preservation for an own service." (skip-unless dbus--test-enabled-session-bus) (dbus-ignore-errors (dbus-unregister-service :session dbus--test-service)) (unwind-protect (let ((byte-array "ByteArray")) (should (equal (dbus-register-property :session dbus--test-service dbus--test-path dbus--test-interface byte-array :read '(:array :byte 1 :byte 2 :byte 3)) `((:property :session ,dbus--test-interface ,byte-array) (,dbus--test-service ,dbus--test-path)))) (should (equal (dbus-get-property :session dbus--test-service dbus--test-path dbus--test-interface byte-array) '(1 2 3))) ;; A test for `dbus-get-property' shall be added. (let ((result (dbus-get-all-properties :session dbus--test-service dbus--test-path dbus--test-interface))) (should (equal (cdr (assoc byte-array result)) '(1 2 3)))) (let ((result (dbus-get-all-managed-objects :session dbus--test-service "/")) result1) (should (setq result1 (cadr (assoc dbus--test-path result)))) (should (setq result1 (cadr (assoc dbus--test-interface result1)))) (should (equal (cdr (assoc byte-array result1)) '(1 2 3))))) ;; Cleanup. (dbus-unregister-service :session dbus--test-service)))