diff --git a/tests/signal-ptr.cpp b/tests/signal-ptr.cpp index dc8a0e68abc8c9ba4c733319651bde97b517dfd4..959250f19b43def71d77b11927482ebf01fa5720 100644 --- a/tests/signal-ptr.cpp +++ b/tests/signal-ptr.cpp @@ -86,3 +86,19 @@ BOOST_AUTO_TEST_CASE(normal_test) { sigPtrBRef.get(cout); cout << std::endl; } + +BOOST_AUTO_TEST_CASE (plug_signal_string) +{ + Signal<std::string, int> outSig("output"); + SignalPtr<std::string, int> inSig (NULL, "input"); + + std::string str ("value"); + outSig.setConstant(str); + inSig.plug (&outSig); + inSig.recompute(1); + std::ostringstream os; + inSig.get (os); + std::string res (os.str ()); + // Note that a '\n' is added when passing through the signal + BOOST_CHECK (res == str); +}