summaryrefslogtreecommitdiffstats
path: root/test/src/test-snippets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/src/test-snippets.cpp')
-rw-r--r--test/src/test-snippets.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/src/test-snippets.cpp b/test/src/test-snippets.cpp
index f26b730..5eb680f 100644
--- a/test/src/test-snippets.cpp
+++ b/test/src/test-snippets.cpp
@@ -9,6 +9,8 @@
#include "uscxml/Interpreter.h"
#include "uscxml/interpreter/LoggingImpl.h"
+#include <iostream>
+
using namespace uscxml;
void microstep_snippet() {
@@ -31,9 +33,30 @@ void microstep_snippet() {
}
+void lambda_snippet() {
+ InterpreterState state = uscxml::USCXML_UNDEF;
+ Interpreter scxml = Interpreter::fromURL("https://raw.githubusercontent.com/tklab-tud/uscxml/master/test/w3c/null/test436.scxml");
+
+ scxml.on().enterState([](const std::string& sessionId,
+ const std::string& stateName,
+ const xercesc_3_1::DOMElement* state) {
+ std::cout << "Entered " << stateName << std::endl;
+ });
+
+ scxml.on().exitState([](const std::string& sessionId,
+ const std::string& stateName,
+ const xercesc_3_1::DOMElement* state) {
+ std::cout << "Exited " << stateName << std::endl;
+ });
+
+
+ while((state = scxml.step()) != uscxml::USCXML_FINISHED) {}
+
+}
+
int main(int argc, char** argv) {
try {
- Logger::getDefault().log(USCXML_FATAL) << "Foo!" << " BAR?" << std::endl;
+ lambda_snippet();
microstep_snippet();
} catch (...) {
exit(EXIT_FAILURE);