summaryrefslogtreecommitdiffstats
path: root/test/samples/w3c/txml/test190.txml
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-04-06 21:17:13 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-04-06 21:17:13 (GMT)
commit1e6ba139ac12c688f025745812d381915775b1fb (patch)
tree1d49070eddd4502ec6aa25a769ab7c47d04a1c30 /test/samples/w3c/txml/test190.txml
parent139439f0675ec05e936fd4297086462037cd618e (diff)
downloaduscxml-1e6ba139ac12c688f025745812d381915775b1fb.zip
uscxml-1e6ba139ac12c688f025745812d381915775b1fb.tar.gz
uscxml-1e6ba139ac12c688f025745812d381915775b1fb.tar.bz2
See detailled log
Added new revised W3C tests Hide Interpreter via PIMPL Implemented SCXMLIOProcessor
Diffstat (limited to 'test/samples/w3c/txml/test190.txml')
-rw-r--r--test/samples/w3c/txml/test190.txml38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/samples/w3c/txml/test190.txml b/test/samples/w3c/txml/test190.txml
new file mode 100644
index 0000000..e6090eb
--- /dev/null
+++ b/test/samples/w3c/txml/test190.txml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!-- we test that #_scxml_sessionid as a target of <send> puts the event on the external queue. If it does,
+event1 will be processed before event2, because event1 is added to the internal queue while event2 is
+added to the external queue (event though event2 is generated first). we have to make sure that event2
+is actually delivered. The delayed <send> makes sure another event is generated (so the test doesn't hang) -->
+
+<scxml initial="s0" version="1.0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
+<datamodel>
+ <data conf:id="1" conf:quoteExpr="#_scxml_"/>
+ <data conf:id="2" conf:systemVarExpr="_sessionid"/>
+ </datamodel>
+
+<state id="s0">
+ <onentry>
+ <conf:concatVars id1="1" id2="2"/>
+ <!-- goes to the external queue -->
+ <send event="event2" conf:targetExpr="1"/>
+ <!-- to the internal queue -->
+ <raise event="event1"/>
+ <!-- this should get added to the external queue after event2 -->
+ <send event="timeout"/>
+ </onentry>
+
+ <!-- once we've entered the state, we should check for internal events first -->
+ <transition event="event1" target="s1"/>
+ <transition event="*" conf:targetfail=""/>
+ </state>
+
+<!-- now check that we get event2 and not a timeout -->
+<state id="s1">
+ <transition event="event2" conf:targetpass=""/>
+ <transition event="*" conf:targetfail=""/>
+ </state>
+
+ <conf:pass/>
+ <conf:fail/>
+
+</scxml> \ No newline at end of file