jbeard4 / SCION

SCXML/Statecharts in JavaScript, moved to gitlab: https://gitlab.com/scion-scxml/scion
https://scion.scxml.io
Apache License 2.0
149 stars 29 forks source link

fail test/scxml-test-framework/test/w3c-ecma/test187.txml.scxml #274

Closed feyzo closed 6 years ago

feyzo commented 10 years ago

https://github.com/jbeard4/scxml-test-framework/tree/master/test/scxml-test-framework/test/w3c-ecma/test187.txml.scxml

Error

{
"name": "AssertionError",
"actual": [
"subFinal"
],
"expected": [
"pass"
],
"operator": "deepEqual",
"message": "[\"subFinal\"] deepEqual [\"pass\"]"
}
Data:
{
"sessionToken": 551,
"nextConfiguration": [
"subFinal"
]
}
scxml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- we test that delayed <send> is not sent if the sending session terminates.  In this case,
a subscript is invoked which sends the event childToParent delayed by 1 second, and then terminates.  The
parent session, should not receive childToParent. If it does, we fail.  Otherwise the 
10 sec timer expires and we pass -->
<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="ecmascript">

<state id="s0">
    <onentry>
      <send event="timeout" delay="10s"/>
      </onentry>
    <invoke type="scxml">
    <content>
      <!-- exit before the delayed send can execute -->
         <scxml initial="sub0" version="1.0" datamodel="ecmascript">
           <state id="sub0">
              <onentry>
                <send event="childToParent" target="#_parent" delay="1s"/>
            </onentry>
          <transition target="subFinal"/>
          </state>
      <final id="subFinal"/>
    </scxml>
    </content>
   </invoke>

    <transition event="childToParent" target="fail"/>
    <transition event="timeout" target="pass"/>
</state>

   <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
   <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>

</scxml>

JSON:

{
"initialConfiguration": [
"pass"
],
"events": []
}