13b5db5bcSBenjamin Kietzman // Copyright (c) Benjamin Kietzman (github.com/bkietz) 23b5db5bcSBenjamin Kietzman // 33b5db5bcSBenjamin Kietzman // Distributed under the Boost Software License, Version 1.0. (See accompanying 43b5db5bcSBenjamin Kietzman // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 53b5db5bcSBenjamin Kietzman 63b5db5bcSBenjamin Kietzman #include <gtest/gtest.h> 73b5db5bcSBenjamin Kietzman #include <dbus/message.hpp> 84317e4d9SBenjamin Kietzman #include <dbus/error.hpp> 93b5db5bcSBenjamin Kietzman 103b5db5bcSBenjamin Kietzman 113b5db5bcSBenjamin Kietzman class MessageTest 123b5db5bcSBenjamin Kietzman : public testing::Test 133b5db5bcSBenjamin Kietzman { 143b5db5bcSBenjamin Kietzman }; 153b5db5bcSBenjamin Kietzman 163b5db5bcSBenjamin Kietzman 174317e4d9SBenjamin Kietzman TEST_F(MessageTest, CallMessage) 183b5db5bcSBenjamin Kietzman { 193b5db5bcSBenjamin Kietzman using namespace dbus; 203b5db5bcSBenjamin Kietzman 213b5db5bcSBenjamin Kietzman const message m = message::new_call( 2216d80fe9SBenjamin Kietzman endpoint( 233b5db5bcSBenjamin Kietzman "org.freedesktop.Avahi", 243b5db5bcSBenjamin Kietzman "/", 2516d80fe9SBenjamin Kietzman "org.freedesktop.Avahi.Server"), 263b5db5bcSBenjamin Kietzman "GetHostName"); 273b5db5bcSBenjamin Kietzman 283b5db5bcSBenjamin Kietzman ASSERT_EQ("org.freedesktop.Avahi", m.get_destination()); 293b5db5bcSBenjamin Kietzman ASSERT_EQ("/", m.get_path()); 303b5db5bcSBenjamin Kietzman ASSERT_EQ("org.freedesktop.Avahi.Server", m.get_interface()); 313b5db5bcSBenjamin Kietzman ASSERT_EQ("GetHostName", m.get_member()); 323b5db5bcSBenjamin Kietzman 33*44d24258SBenjamin Kietzman message m2 = message::new_call( 34*44d24258SBenjamin Kietzman endpoint( 35*44d24258SBenjamin Kietzman "org.freedesktop.Avahi", 36*44d24258SBenjamin Kietzman "/", 37*44d24258SBenjamin Kietzman "org.freedesktop.Avahi.Server"), 38*44d24258SBenjamin Kietzman "GetHostName"); 39*44d24258SBenjamin Kietzman 40*44d24258SBenjamin Kietzman m2 << 1; 41*44d24258SBenjamin Kietzman int i; 42*44d24258SBenjamin Kietzman m2 >> i; 43*44d24258SBenjamin Kietzman ASSERT_EQ(i, 1); 44*44d24258SBenjamin Kietzman 453b5db5bcSBenjamin Kietzman // m.get_sender(); 463b5db5bcSBenjamin Kietzman } 474317e4d9SBenjamin Kietzman 484317e4d9SBenjamin Kietzman 494317e4d9SBenjamin Kietzman // I actually don't know what to do with these yet. 504317e4d9SBenjamin Kietzman /* 514317e4d9SBenjamin Kietzman TEST_F(MessageTest, ErrorMessage) 524317e4d9SBenjamin Kietzman { 534317e4d9SBenjamin Kietzman using namespace dbus; 544317e4d9SBenjamin Kietzman 554317e4d9SBenjamin Kietzman message m = message::new_call( 564317e4d9SBenjamin Kietzman endpoint( 574317e4d9SBenjamin Kietzman "org.freedesktop.Avahi", 584317e4d9SBenjamin Kietzman "/", 594317e4d9SBenjamin Kietzman "org.freedesktop.Avahi.Server"), 604317e4d9SBenjamin Kietzman "GetHostName"); 614317e4d9SBenjamin Kietzman 624317e4d9SBenjamin Kietzman m.set_reply_serial(42); 634317e4d9SBenjamin Kietzman m.set_serial(43); 644317e4d9SBenjamin Kietzman 654317e4d9SBenjamin Kietzman message em = message::new_error( 664317e4d9SBenjamin Kietzman m, 674317e4d9SBenjamin Kietzman "com.skizizo.NoHostname", 684317e4d9SBenjamin Kietzman "No hostname for you!"); 694317e4d9SBenjamin Kietzman 704317e4d9SBenjamin Kietzman const error e(em); 714317e4d9SBenjamin Kietzman 724317e4d9SBenjamin Kietzman e.throw_if_set(); 734317e4d9SBenjamin Kietzman } 744317e4d9SBenjamin Kietzman */ 75