Sha256: a1425bfc32dcdcf3731a3f01e8883c3e8e50e8f85aa363a885785471cbbdff37

Contents?: true

Size: 1.33 KB

Versions: 14

Compression:

Stored size: 1.33 KB

Contents

#!/usr/bin/env rspec
# frozen_string_literal: true

# Test that a server survives various error cases
require_relative "spec_helper"
require "dbus"

class Foo < DBus::Object
  dbus_interface "org.ruby.ServerTest" do
    dbus_signal :signal_without_arguments
    dbus_signal :signal_with_argument, "epsilon:d"
  end

  dbus_signal :signal_without_interface
rescue DBus::Object::UndefinedInterface
  # raised by the preceding signal declaration
end

class Bar < DBus::Object
  dbus_interface "org.ruby.ServerTest" do
    # a valid Ruby symbol but an invalid DBus name; Ticket#38
    dbus_signal :signal_with_a_bang!
  end
rescue DBus::InvalidMethodName
  # raised by the preceding signal declaration
end

describe "ServerTest" do
  before(:each) do
    @bus = DBus::ASessionBus.new
    @svc = @bus.request_service "org.ruby.server-test"
  end

  after(:each) do
    @bus.proxy.ReleaseName "org.ruby.server-test"
  end

  it "tests unexporting an object" do
    obj = Foo.new "/org/ruby/Foo"
    @svc.export obj
    expect(@svc.unexport(obj)).to be_a DBus::Object
  end

  it "tests unexporting an object not exported" do
    obj = Foo.new "/org/ruby/Foo"
    expect(@svc.unexport(obj)).to be false
  end

  it "tests emiting signals" do
    obj = Foo.new "/org/ruby/Foo"
    @svc.export obj
    obj.signal_without_arguments
    obj.signal_with_argument(-0.1)
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ruby-dbus-0.22.1 spec/server_spec.rb
ruby-dbus-0.22.0 spec/server_spec.rb
ruby-dbus-0.21.0 spec/server_spec.rb
ruby-dbus-0.20.0 spec/server_spec.rb
ruby-dbus-0.19.0 spec/server_spec.rb
ruby-dbus-0.18.1 spec/server_spec.rb
ruby-dbus-0.18.0.beta8 spec/server_spec.rb
ruby-dbus-0.18.0.beta7 spec/server_spec.rb
ruby-dbus-0.18.0.beta6 spec/server_spec.rb
ruby-dbus-0.18.0.beta5 spec/server_spec.rb
ruby-dbus-0.18.0.beta4 spec/server_spec.rb
ruby-dbus-0.18.0.beta3 spec/server_spec.rb
ruby-dbus-0.18.0.beta2 spec/server_spec.rb
ruby-dbus-0.18.0.beta1 spec/server_spec.rb