summaryrefslogtreecommitdiffstats
path: root/test/w3c/ecma/test347.scxml
blob: 7ed7ccaf718851f737ed86e6eb8369e49224e452 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="UTF-8"?><!-- test that the scxml event I/O processor works by sending events back and forth between an invoked child
and its parent process --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" datamodel="ecmascript" version="1.0">

  
<state id="s0" initial="s01">
     <invoke id="child" type="scxml">
      <content>
      <scxml initial="sub0" version="1.0" datamodel="ecmascript" name="machineName">  
         <state id="sub0">
           <onentry>
             <send type="http://www.w3.org/TR/scxml/#SCXMLEventProcessor" target="#_parent" event="childToParent"/>
         </onentry>
      <transition event="parentToChild" target="subFinal"/>
     </state>
     <final id="subFinal"/>
       </scxml>
     </content>
        </invoke>
   <onentry>
     <send delay="20s" event="timeout"/>
     </onentry>
  <transition event="timeout" target="fail"/>
        
  <state id="s01">
      <transition event="childToParent" target="s02"/>
      </state>
    
   <state id="s02">
     <onentry>
       <send type="http://www.w3.org/TR/scxml/#SCXMLEventProcessor" target="#_child" event="parentToChild"/>
       </onentry>
   <transition event="done.invoke" target="pass"/>
   <transition event="error" target="fail"/>
   </state>
</state>
  
   <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
   <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>

</scxml>