diff options
Diffstat (limited to 'test/scxml-test-framework/test/internal-transitions/test0.scxml')
-rw-r--r-- | test/scxml-test-framework/test/internal-transitions/test0.scxml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/scxml-test-framework/test/internal-transitions/test0.scxml b/test/scxml-test-framework/test/internal-transitions/test0.scxml new file mode 100644 index 0000000..f9a620d --- /dev/null +++ b/test/scxml-test-framework/test/internal-transitions/test0.scxml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2011-2012 Jacob Beard, INFICON, and other SCION contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<scxml + xmlns="http://www.w3.org/2005/07/scxml" + version="1.0" + datamodel="ecmascript"> + + <datamodel> + <data id="x" expr="0"/> + </datamodel> + + <transition event="*"> + <log label="x" expr="x"/> + </transition> + + <state id="a"> + <onentry> + <assign location="x" expr="x + 1"/> + </onentry> + + <onexit> + <assign location="x" expr="x + 1"/> + </onexit> + + <state id="a1"> + </state> + + <state id="a2"> + <!-- if we had exited and re-entered 'a', then x would be 3. but instead it's 1 --> + <transition target="b" event="t2" cond="x === 1" /> + </state> + + <transition target="a2" event="t1" type="internal" cond="x === 1"/> + </state> + + <state id="b"> + <transition target="c" event="t3" cond="x === 2" /> + </state> + + <state id="c"/> + +</scxml> |