[libnet-dbus-perl] 245/335: Improve tests for magic values
Intrigeri
intrigeri at moszumanska.debian.org
Sat Mar 21 01:08:05 UTC 2015
This is an automated email from the git hooks/post-receive script.
intrigeri pushed a commit to branch experimental
in repository libnet-dbus-perl.
commit 1cffd6984c998b96e16c9c3b634dbff3911c3d8d
Author: Daniel P. Berrange <berrange at redhat.com>
Date: Thu Jul 12 10:41:20 2007 -0400
Improve tests for magic values
---
t/65-object-magic.t | 106 +++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 88 insertions(+), 18 deletions(-)
diff --git a/t/65-object-magic.t b/t/65-object-magic.t
index 9b6b69d..f3b9028 100644
--- a/t/65-object-magic.t
+++ b/t/65-object-magic.t
@@ -1,10 +1,10 @@
# -*- perl -*-
-use Test::More tests => 7;
+use Test::More tests => 13;
use strict;
use warnings;
-BEGIN {
+BEGIN {
use_ok('Net::DBus::Binding::Introspector');
use_ok('Net::DBus::Object');
};
@@ -15,26 +15,38 @@ use base qw(Net::DBus::Object);
use Net::DBus::Exporter qw(org.example.MyObject);
dbus_method("test_set_serial", ["serial"]);
-dbus_method("test_set_caller", ["caller"]);
-
sub test_set_serial {
my $self = shift;
- $self->{serial} = shift;
+ my @args = @_;
+ $self->{lastargs} = \@args;
}
-sub test_get_serial {
+dbus_method("test_set_caller", ["caller"]);
+sub test_set_caller {
my $self = shift;
- return $self->{serial};
+ my @args = @_;
+ $self->{lastargs} = \@args;
}
-sub test_set_caller {
+dbus_method("test_set_multi_args1", ["string", "caller"]);
+sub test_set_multi_args1 {
+ my $self = shift;
+ my @args = @_;
+ $self->{lastargs} = \@args;
+}
+
+dbus_method("test_set_multi_args2", ["caller", "string"]);
+sub test_set_multi_args2 {
my $self = shift;
- $self->{caller} = shift;
+ my @args = @_;
+ $self->{lastargs} = \@args;
}
-sub test_get_caller {
+dbus_method("test_set_multi_args3", ["string", "caller", "string"]);
+sub test_set_multi_args3 {
my $self = shift;
- return $self->{caller};
+ my @args = @_;
+ $self->{lastargs} = \@args;
}
package main;
@@ -46,7 +58,7 @@ my $object = MyObject->new($service, "/org/example/MyObject");
my $introspector = $object->_introspector;
my $xml_got = $introspector->format();
-
+
my $xml_expect = <<EOF;
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
@@ -54,6 +66,16 @@ my $xml_expect = <<EOF;
<interface name="org.example.MyObject">
<method name="test_set_caller">
</method>
+ <method name="test_set_multi_args1">
+ <arg type="s" direction="in"/>
+ </method>
+ <method name="test_set_multi_args2">
+ <arg type="s" direction="in"/>
+ </method>
+ <method name="test_set_multi_args3">
+ <arg type="s" direction="in"/>
+ <arg type="s" direction="in"/>
+ </method>
<method name="test_set_serial">
</method>
</interface>
@@ -81,28 +103,76 @@ is($xml_got, $xml_expect, "xml data matches");
CALLER: {
my $msg = Net::DBus::Binding::Message::MethodCall->new(service_name => "org.example.MyService",
- object_path => "/org/example/MyObject",
+ object_path => "/org/example/MyObject",
interface => "org.example.MyObject",
method_name => "test_set_caller");
$msg->set_sender(":1.1");
my $reply = $bus->get_connection->send_with_reply_and_block($msg);
is($reply->get_type, &Net::DBus::Binding::Message::MESSAGE_TYPE_METHOD_RETURN);
-
- is($object->test_get_caller, ":1.1", "caller is :1.1");
+
+ is_deeply($object->{lastargs}, [":1.1"], "caller is :1.1");
}
SERIAL: {
my $msg = Net::DBus::Binding::Message::MethodCall->new(service_name => "org.example.MyService",
- object_path => "/org/example/MyObject",
+ object_path => "/org/example/MyObject",
interface => "org.example.MyObject",
method_name => "test_set_serial");
my $reply = $bus->get_connection->send_with_reply_and_block($msg);
is($reply->get_type, &Net::DBus::Binding::Message::MESSAGE_TYPE_METHOD_RETURN);
-
- is($object->test_get_serial, $msg->get_serial, "serial matches");
+
+ is_deeply($object->{lastargs}, [$msg->get_serial], "serial matches");
}
+MULTI_ARGS1: {
+ my $msg = Net::DBus::Binding::Message::MethodCall->new(service_name => "org.example.MyService",
+ object_path => "/org/example/MyObject",
+ interface => "org.example.MyObject",
+ method_name => "test_set_multi_args1");
+ $msg->set_sender(":1.1");
+ my $iter = $msg->iterator(1);
+ $iter->append_string("one");
+
+ my $reply = $bus->get_connection->send_with_reply_and_block($msg);
+
+ is($reply->get_type, &Net::DBus::Binding::Message::MESSAGE_TYPE_METHOD_RETURN);
+
+ is_deeply($object->{lastargs}, ["one",":1.1"], "caller matches");
+}
+
+MULTI_ARGS2: {
+ my $msg = Net::DBus::Binding::Message::MethodCall->new(service_name => "org.example.MyService",
+ object_path => "/org/example/MyObject",
+ interface => "org.example.MyObject",
+ method_name => "test_set_multi_args2");
+ $msg->set_sender(":1.1");
+ my $iter = $msg->iterator(1);
+ $iter->append_string("one");
+
+ my $reply = $bus->get_connection->send_with_reply_and_block($msg);
+
+ is($reply->get_type, &Net::DBus::Binding::Message::MESSAGE_TYPE_METHOD_RETURN);
+
+ is_deeply($object->{lastargs}, [":1.1", "one"], "caller matches");
+}
+
+MULTI_ARGS3: {
+ my $msg = Net::DBus::Binding::Message::MethodCall->new(service_name => "org.example.MyService",
+ object_path => "/org/example/MyObject",
+ interface => "org.example.MyObject",
+ method_name => "test_set_multi_args3");
+ $msg->set_sender(":1.1");
+ my $iter = $msg->iterator(1);
+ $iter->append_string("one");
+ $iter->append_string("two");
+
+ my $reply = $bus->get_connection->send_with_reply_and_block($msg);
+
+ is($reply->get_type, &Net::DBus::Binding::Message::MESSAGE_TYPE_METHOD_RETURN);
+
+ is_deeply($object->{lastargs}, ["one",":1.1", "two"], "caller matches");
+}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libnet-dbus-perl.git
More information about the Pkg-perl-cvs-commits
mailing list