summaryrefslogtreecommitdiffstats
path: root/test/w3c/txml/test579.txml
diff options
context:
space:
mode:
Diffstat (limited to 'test/w3c/txml/test579.txml')
-rw-r--r--test/w3c/txml/test579.txml65
1 files changed, 65 insertions, 0 deletions
diff --git a/test/w3c/txml/test579.txml b/test/w3c/txml/test579.txml
new file mode 100644
index 0000000..7c48c37
--- /dev/null
+++ b/test/w3c/txml/test579.txml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!-- test that default history content is executed correctly. The Process MUST execute any executable content in the transition after the parent state's onentry handlers, and, in the case where the history pseudo-state is the target of an <initial> transition,
+the executable content inside the <initial> transition. However the Processor MUST
+execute this content only if there is no stored history. Once the history state's
+parent state has been visited and exited, the default history content must not be executed -->
+
+
+<scxml version="1.0" initial="s0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
+
+
+<state id="s0">
+ <datamodel>
+ <data conf:id="1" conf:expr="0"/>
+ </datamodel>
+ <initial>
+ <transition target="sh1">
+ <raise event="event2"/>
+ </transition>
+ </initial>
+ <onentry>
+ <send delay="2s" event="timeout"/>
+ <raise event="event1"/>
+ </onentry>
+ <onexit>
+ <conf:incrementID id="1"/>
+ </onexit>
+ <history id="sh1">
+ <transition target="s01">
+ <raise event="event3"/>
+ </transition>
+ </history>
+
+ <state id="s01">
+ <transition event="event1" target="s02"/>
+ <transition event="*" conf:targetfail=""/>
+ </state>
+
+ <state id="s02">
+ <transition event="event2" target="s03"/>
+ <transition event="*" conf:targetfail=""/>
+ </state>
+ <state id="s03">
+
+ <transition conf:idVal="1==0" event="event3" target="s0"/>
+ <transition conf:idVal="1==1" event="event1" target="s2"/>
+ <transition event="*" conf:targetfail=""/>
+ </state>
+</state>
+
+<state id="s2">
+ <transition event="event2" target="s3"/>
+ <transition event="*" conf:targetfail=""/>
+
+ </state>
+
+<state id="s3">
+ <transition event="event3" conf:targetfail=""/>
+ <transition event="timeout" conf:targetpass=""/>
+ </state>
+
+
+<conf:pass/>
+<conf:fail/>
+
+</scxml> \ No newline at end of file