summaryrefslogtreecommitdiffstats
path: root/test/w3c/lua/test240.scxml
blob: bd79eb66f6f1dc45d29c484f100c7819e793f3c4 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?xml version="1.0" standalone="no"?>
<!-- test that datamodel values can be specified both by 'namelist' and by <param>.
invoked child will return success if its Var1 is set to 1, failure otherwise. This
test will fail schema validation because of the multiple occurences of Var1, but
should run correctly. -->
<scxml xmlns="http://www.w3.org/2005/07/scxml" initial="s0" version="1.0" datamodel="lua">
  <datamodel>
    <data expr="1" id="testvar1"/>
  </datamodel>
  <state id="s0" initial="s01">
    <onentry>
      <send event="timeout" delay="2s"/>
    </onentry>
    <transition event="timeout" target="fail"/>
    <state id="s01">
      <invoke type="http://www.w3.org/TR/scxml/" namelist="testvar1">
        <content>
          <scxml initial="sub01" version="1.0" datamodel="lua">
            <datamodel>
              <data expr="0" id="testvar1"/>
            </datamodel>
            <state id="sub01">
              <transition target="subFinal1" cond="testvar1 == 1">
                <send target="#_parent" event="success"/>
              </transition>
              <transition target="subFinal1">
                <send target="#_parent" event="failure"/>
              </transition>
            </state>
            <final id="subFinal1"/>
          </scxml>
        </content>
      </invoke>
      <transition event="success" target="s02"/>
      <transition event="failure" target="fail"/>
    </state>
    <state id="s02">
      <invoke type="http://www.w3.org/TR/scxml/">
        <param expr="1" name="testvar1"/>
        <content>
          <scxml initial="sub02" version="1.0" datamodel="lua">
            <datamodel>
              <data expr="0" id="testvar1"/>
            </datamodel>
            <state id="sub02">
              <transition target="subFinal2" cond="testvar1 == 1">
                <send target="#_parent" event="success"/>
              </transition>
              <transition target="subFinal1">
                <send target="#_parent" event="failure"/>
              </transition>
            </state>
            <final id="subFinal2"/>
          </scxml>
        </content>
      </invoke>
      <transition event="success" target="pass"/>
      <transition event="failure" target="fail"/>
    </state>
  </state>
  <final id="pass"/>
  <final id="fail"/>
</scxml>