summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-03 21:21:24 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-03 21:21:24 (GMT)
commit50174e88cd7ccbaa455bc40bd214ae494378a7cc (patch)
treebe0e7707b704757105084141dd6e31109be53719
parent67f8e8b4106eb20ce0bc01fd840b0d8e4319cb36 (diff)
downloaduscxml-50174e88cd7ccbaa455bc40bd214ae494378a7cc.zip
uscxml-50174e88cd7ccbaa455bc40bd214ae494378a7cc.tar.gz
uscxml-50174e88cd7ccbaa455bc40bd214ae494378a7cc.tar.bz2
Removed w3c ecma tests from xpath and vice versa
-rw-r--r--README.md12
-rw-r--r--docs/BUILDING.md2
-rw-r--r--test/CMakeLists.txt6
-rw-r--r--test/src/test-lifecycle.cpp102
-rw-r--r--test/src/test-predicates.cpp248
-rw-r--r--test/uscxml/test-predicates.scxml9
-rw-r--r--test/w3c/confEcma.xsl2
-rwxr-xr-xtest/w3c/convert-tests.sh5
-rw-r--r--test/w3c/ecma/test252.scxml4
-rw-r--r--test/w3c/ecma/test463.scxml17
-rw-r--r--test/w3c/ecma/test464.scxml16
-rw-r--r--test/w3c/ecma/test465.scxml22
-rw-r--r--test/w3c/ecma/test466.scxml14
-rw-r--r--test/w3c/ecma/test467.scxml12
-rw-r--r--test/w3c/ecma/test468.scxml23
-rw-r--r--test/w3c/ecma/test469.scxml25
-rw-r--r--test/w3c/ecma/test470.scxml24
-rw-r--r--test/w3c/ecma/test473.scxml37
-rw-r--r--test/w3c/ecma/test474.scxml36
-rw-r--r--test/w3c/ecma/test475.scxml36
-rw-r--r--test/w3c/ecma/test476.scxml36
-rw-r--r--test/w3c/ecma/test477.scxml36
-rw-r--r--test/w3c/ecma/test478.scxml36
-rw-r--r--test/w3c/ecma/test479.scxml36
-rw-r--r--test/w3c/ecma/test480.scxml32
-rw-r--r--test/w3c/ecma/test481.scxml37
-rw-r--r--test/w3c/ecma/test482.scxml16
-rw-r--r--test/w3c/ecma/test483.scxml27
-rw-r--r--test/w3c/ecma/test537.scxml17
-rw-r--r--test/w3c/ecma/test539.scxml26
-rw-r--r--test/w3c/ecma/test540.scxml21
-rw-r--r--test/w3c/ecma/test542.scxml34
-rw-r--r--test/w3c/ecma/test543.scxml18
-rw-r--r--test/w3c/ecma/test544.scxml17
-rw-r--r--test/w3c/ecma/test545.scxml17
-rw-r--r--test/w3c/ecma/test546.scxml17
-rw-r--r--test/w3c/ecma/test547.scxml33
-rw-r--r--test/w3c/ecma/test553.scxml2
-rw-r--r--test/w3c/ecma/test555.scxml27
-rw-r--r--test/w3c/ecma/test568.scxml15
-rw-r--r--test/w3c/txml/test252.txml4
-rwxr-xr-xtest/w3c/update-txml.sh2
-rw-r--r--test/w3c/xpath/test252.scxml4
-rw-r--r--test/w3c/xpath/test444.scxml16
-rw-r--r--test/w3c/xpath/test445.scxml16
-rw-r--r--test/w3c/xpath/test446.scxml21
-rw-r--r--test/w3c/xpath/test448.scxml31
-rw-r--r--test/w3c/xpath/test449.scxml11
-rw-r--r--test/w3c/xpath/test451.scxml18
-rw-r--r--test/w3c/xpath/test452.scxml24
-rw-r--r--test/w3c/xpath/test453.scxml19
-rw-r--r--test/w3c/xpath/test456.scxml19
-rw-r--r--test/w3c/xpath/test457.scxml59
-rw-r--r--test/w3c/xpath/test459.scxml35
-rw-r--r--test/w3c/xpath/test460.scxml24
-rw-r--r--test/w3c/xpath/test557.scxml26
-rw-r--r--test/w3c/xpath/test558.scxml24
-rw-r--r--test/w3c/xpath/test560.scxml19
-rw-r--r--test/w3c/xpath/test561.scxml24
-rw-r--r--test/w3c/xpath/test562.scxml22
-rw-r--r--test/w3c/xpath/test569.scxml15
-rw-r--r--test/w3c/xpath/test578.scxml19
62 files changed, 149 insertions, 1455 deletions
diff --git a/README.md b/README.md
index f0a9ea2..0296163 100644
--- a/README.md
+++ b/README.md
@@ -47,18 +47,6 @@ uSCXML still fails the following ecmascript tests:
<table>
<tr><th>Test#</th><th>Status</th><th>Description</th><th>Comment</th></tr>
<tr>
- <td><tt><a href="https://github.com/tklab-tud/uscxml/blob/master/test/w3c/ecma/test553.scxml">553</a></tt></td>
- <td><tt>Failed</tt></td>
- <td>"test that the processor does not dispatch the event if evaluation of &lt;send>'s args causes an error."</td>
- <td>We cannot correctly identify <emph>location expressions</emph> (valid LHS) for ecmascript. Send is performed anyway.</td>
- </tr>
- <tr>
- <td><tt><a href="https://github.com/tklab-tud/uscxml/blob/master/test/w3c/ecma/test554.scxml">554</a></tt></td>
- <td><tt>Failed</tt></td>
- <td>"test that if the evaluation of &lt;invoke>'s args causes an error, the invocation is cancelled."</td>
- <td>We cannot correctly identify <emph>location expressions</emph> (valid LHS) for ecmascript. Invoke is performed anyway.</td>
- </tr>
- <tr>
<td><tt><a href="https://github.com/tklab-tud/uscxml/blob/master/test/w3c/ecma/test579.scxml">579</a></tt></td>
<td><tt>Failed</tt></td>
<td>"Before the parent state has been visited for the first time, if a transition is executed that takes the history state as its target, the SCXML processor MUST execute any executable content in the transition after the parent state's onentry content and any content in a possible initial transition."</td>
diff --git a/docs/BUILDING.md b/docs/BUILDING.md
index fb87943..3db0be2 100644
--- a/docs/BUILDING.md
+++ b/docs/BUILDING.md
@@ -324,7 +324,7 @@ If we find one of those binaries (and SWIG obviously), we will enable the langua
Again, if you used plain Makefiles, you will get everything you need via:
$ make && make csharp
- $ $ find lib -type f -iname *csharp*
+ $ find lib -type f -iname *csharp*
lib/csharp/libuscxmlNativeCSharp.so
lib/uscxmlCSharp.dll
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 01cd07c..7a610a6 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -54,7 +54,7 @@ endif()
add_executable(test-lifecycle src/test-lifecycle.cpp)
target_link_libraries(test-lifecycle uscxml)
-add_test(test-lifecycle ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-arabica-namespaces)
+add_test(test-lifecycle ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-lifecycle)
set_target_properties(test-lifecycle PROPERTIES FOLDER "Tests")
if (NOT WIN32)
@@ -116,8 +116,8 @@ set_target_properties(test-url PROPERTIES FOLDER "Tests")
add_executable(test-cmdline-parsing src/test-cmdline-parsing.cpp)
target_link_libraries(test-cmdline-parsing uscxml)
-add_test(test-cmdline-parsing ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-cmdline-parsing)
-set_target_properties(test-cmdline-parsing PROPERTIES FOLDER "Tests")
+# add_test(test-cmdline-parsing ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-cmdline-parsing)
+# set_target_properties(test-cmdline-parsing PROPERTIES FOLDER "Tests")
# add_executable(test-initial-config src/test-initial-config.cpp)
# target_link_libraries(test-initial-config uscxml)
diff --git a/test/src/test-lifecycle.cpp b/test/src/test-lifecycle.cpp
index 7cbb68b..22c724a 100644
--- a/test/src/test-lifecycle.cpp
+++ b/test/src/test-lifecycle.cpp
@@ -410,108 +410,6 @@ int main(int argc, char** argv) {
assert(interpreter.step() == USCXML_MICROSTEPPED);
assert(interpreter.step() == USCXML_FINISHED);
}
-
-#if 0
-
-
- if (0) {
- // macrostep in between
- const char* xml =
- "<scxml>"
- " <state id=\"start\">"
- " <onentry>"
- " <send event=\"continue\" delay=\"2s\"/>"
- " </onentry>"
- " <transition target=\"s2\" event=\"continue\" />"
- " </state>"
- " <state id=\"s2\">"
- " <transition target=\"done\" />"
- " </state>"
- " <final id=\"done\" />"
- "</scxml>";
-
- Interpreter interpreter = Interpreter::fromXML(xml);
-
- assert(interpreter.getState() == uscxml::InterpreterState::USCXML_INSTANTIATED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_IDLE);
- assert(interpreter.step(true) == uscxml::InterpreterState::USCXML_MACROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_MICROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_FINISHED);
- interpreter.reset();
- assert(interpreter.getState() == uscxml::InterpreterState::USCXML_INSTANTIATED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_IDLE);
- assert(interpreter.step(true) == uscxml::InterpreterState::USCXML_MACROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_MICROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_FINISHED);
- }
-
- if (1) {
- // macrostep in between, external event
- const char* xml =
- "<scxml>"
- " <state id=\"start\">"
- " <transition target=\"s2\" event=\"continue\" />"
- " </state>"
- " <state id=\"s2\">"
- " <transition target=\"done\" />"
- " </state>"
- " <final id=\"done\" />"
- "</scxml>";
-
- Interpreter interpreter = Interpreter::fromXML(xml);
-
- assert(interpreter.getState() == uscxml::InterpreterState::USCXML_INSTANTIATED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_IDLE);
- interpreter.receive(Event("continue"));
- assert(interpreter.step(true) == uscxml::InterpreterState::USCXML_MACROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_MICROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_FINISHED);
- interpreter.reset();
- assert(interpreter.getState() == uscxml::InterpreterState::USCXML_INSTANTIATED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_IDLE);
- interpreter.receive(Event("continue"));
- assert(interpreter.step(true) == uscxml::InterpreterState::USCXML_MACROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_MICROSTEPPED);
- assert(interpreter.step() == uscxml::InterpreterState::USCXML_FINISHED);
- }
-
- if (1) {
- // macrostep in between, external event
- const char* xml =
- "<scxml>"
- " <state id=\"start\">"
- " <transition target=\"s2\" event=\"continue\" />"
- " </state>"
- " <state id=\"s2\">"
- " <transition target=\"done\" />"
- " </state>"
- " <final id=\"done\" />"
- "</scxml>";
-
- Interpreter interpreter = Interpreter::fromXML(xml);
- interpreter.start();
- // assume interpreter is started
- assert(interpreter.getState() & InterpreterState::USCXML_THREAD_STARTED);
- tthread::this_thread::sleep_for(tthread::chrono::milliseconds(100));
-
- // assume it is started and running
- std::cout << interpreter.getState() << std::endl;
-
- assert(interpreter.getState() & InterpreterState::USCXML_THREAD_STARTED);
- assert(interpreter.getState() & InterpreterState::USCXML_THREAD_RUNNING);
- assert(interpreter.getState() & InterpreterState::USCXML_IDLE);
-
- interpreter.receive(Event("continue"));
- tthread::this_thread::sleep_for(tthread::chrono::milliseconds(200));
-
- std::cout << interpreter.getState() << std::endl;
- int state = interpreter.getState();
- assert(state & InterpreterState::USCXML_FINISHED);
- assert(!(state & InterpreterState::USCXML_THREAD_STARTED));
- assert(!(state & InterpreterState::USCXML_THREAD_RUNNING));
-
- }
-#endif
}
return EXIT_SUCCESS;
} \ No newline at end of file
diff --git a/test/src/test-predicates.cpp b/test/src/test-predicates.cpp
index 3e3c278..d672577 100644
--- a/test/src/test-predicates.cpp
+++ b/test/src/test-predicates.cpp
@@ -1,123 +1,139 @@
#define protected public
#include "uscxml/Interpreter.h"
#undef protected
+#include <iostream>
int main(int argc, char** argv) {
- if (argc != 2) {
- std::cerr << "Expected path to test-predicates.scxml" << std::endl;
- exit(EXIT_FAILURE);
+ try {
+ using namespace uscxml;
+ using namespace Arabica::DOM;
+ using namespace Arabica::XPath;
+
+ const char* xml =
+ "<scxml>"
+ " <state id=\"atomic\" />"
+ " <state id=\"compound\">"
+ " <state id=\"compoundChild1\" />"
+ " <state id=\"compoundChild2\" />"
+ " </state>"
+ " <parallel id=\"parallel\">"
+ " </parallel>"
+ "</scxml>";
+
+ Interpreter interpreter = Interpreter::fromXML(xml);
+ assert(interpreter);
+ interpreter.getImpl()->init();
+
+ Node<std::string> atomicState = interpreter.getImpl()->getState("atomic");
+ assert(InterpreterImpl::isAtomic(atomicState));
+ assert(!InterpreterImpl::isParallel(atomicState));
+ assert(!InterpreterImpl::isCompound(atomicState));
+
+ Node<std::string> compoundState = interpreter.getImpl()->getState("compound");
+ assert(!InterpreterImpl::isAtomic(compoundState));
+ assert(!InterpreterImpl::isParallel(compoundState));
+ assert(InterpreterImpl::isCompound(compoundState));
+
+ Node<std::string> parallelState = interpreter.getImpl()->getState("parallel");
+ assert(!InterpreterImpl::isAtomic(parallelState));
+ assert(InterpreterImpl::isParallel(parallelState));
+ assert(!InterpreterImpl::isCompound(parallelState)); // parallel states are not compound!
+
+ NodeSet<std::string> initialState = interpreter.getImpl()->getInitialStates();
+ assert(initialState[0] == atomicState);
+
+ NodeSet<std::string> childs = interpreter.getImpl()->getChildStates(compoundState);
+ Node<std::string> compoundChild1 = interpreter.getImpl()->getState("compoundChild1");
+ Node<std::string> compoundChild2 = interpreter.getImpl()->getState("compoundChild2");
+ assert(childs.size() > 0);
+ assert(InterpreterImpl::isMember(compoundChild1, childs));
+ assert(InterpreterImpl::isMember(compoundChild2, childs));
+ assert(!InterpreterImpl::isMember(compoundState, childs));
+
+ assert(InterpreterImpl::isDescendant(compoundChild1, compoundState));
+
+ {
+ std::string idrefs("id1");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 1);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ }
+
+ {
+ std::string idrefs(" id1");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 1);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ }
+
+ {
+ std::string idrefs(" id1 ");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 1);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ }
+
+ {
+ std::string idrefs(" \tid1\n ");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 1);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ }
+
+ {
+ std::string idrefs("id1 id2 id3");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 3);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ tokenizedIdrefs.pop_front();
+ assert(tokenizedIdrefs.front().compare("id2") == 0);
+ tokenizedIdrefs.pop_front();
+ assert(tokenizedIdrefs.front().compare("id3") == 0);
+ }
+
+ {
+ std::string idrefs("\t id1 \nid2\n\n id3\t");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 3);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ tokenizedIdrefs.pop_front();
+ assert(tokenizedIdrefs.front().compare("id2") == 0);
+ tokenizedIdrefs.pop_front();
+ assert(tokenizedIdrefs.front().compare("id3") == 0);
+ }
+
+ {
+ std::string idrefs("id1 \nid2 \tid3");
+ std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
+ assert(tokenizedIdrefs.size() == 3);
+ assert(tokenizedIdrefs.front().compare("id1") == 0);
+ tokenizedIdrefs.pop_front();
+ assert(tokenizedIdrefs.front().compare("id2") == 0);
+ tokenizedIdrefs.pop_front();
+ assert(tokenizedIdrefs.front().compare("id3") == 0);
+ }
+
+ std::string transEvents;
+ transEvents = "error";
+ assert(InterpreterImpl::nameMatch(transEvents, "error"));
+ assert(!InterpreterImpl::nameMatch(transEvents, "foo"));
+
+ transEvents = "error foo";
+ assert(InterpreterImpl::nameMatch(transEvents, "error"));
+ assert(InterpreterImpl::nameMatch(transEvents, "error.send"));
+ assert(InterpreterImpl::nameMatch(transEvents, "error.send.failed"));
+ assert(InterpreterImpl::nameMatch(transEvents, "foo"));
+ assert(InterpreterImpl::nameMatch(transEvents, "foo.bar"));
+ assert(!InterpreterImpl::nameMatch(transEvents, "errors.my.custom"));
+ assert(!InterpreterImpl::nameMatch(transEvents, "errorhandler.mistake"));
+ // is the event name case sensitive?
+ // assert(!InterpreterImpl::nameMatch(transEvents, "errOr.send"));
+ assert(!InterpreterImpl::nameMatch(transEvents, "foobar"));
+ } catch(std::exception e) {
+ std::cout << e.what();
+ return false;
+ } catch(uscxml::Event e) {
+ std::cout << e;
+ return false;
}
-
- using namespace uscxml;
- using namespace Arabica::DOM;
- using namespace Arabica::XPath;
-
- Interpreter interpreter = Interpreter::fromURI(argv[1]);
- assert(interpreter);
-
- Node<std::string> atomicState = interpreter.getImpl()->getState("atomic");
- assert(InterpreterImpl::isAtomic(atomicState));
- assert(!InterpreterImpl::isParallel(atomicState));
- assert(!InterpreterImpl::isCompound(atomicState));
-
- Node<std::string> compoundState = interpreter.getImpl()->getState("compound");
- assert(!InterpreterImpl::isAtomic(compoundState));
- assert(!InterpreterImpl::isParallel(compoundState));
- assert(InterpreterImpl::isCompound(compoundState));
-
- Node<std::string> parallelState = interpreter.getImpl()->getState("parallel");
- assert(!InterpreterImpl::isAtomic(parallelState));
- assert(InterpreterImpl::isParallel(parallelState));
- assert(!InterpreterImpl::isCompound(parallelState)); // parallel states are not compound!
-
- NodeSet<std::string> initialState = interpreter.getImpl()->getInitialStates();
- assert(initialState[0] == atomicState);
-
- NodeSet<std::string> childs = interpreter.getImpl()->getChildStates(compoundState);
- Node<std::string> compoundChild1 = interpreter.getImpl()->getState("compoundChild1");
- Node<std::string> compoundChild2 = interpreter.getImpl()->getState("compoundChild2");
- assert(childs.size() > 0);
- assert(InterpreterImpl::isMember(compoundChild1, childs));
- assert(InterpreterImpl::isMember(compoundChild2, childs));
- assert(!InterpreterImpl::isMember(compoundState, childs));
-
- assert(InterpreterImpl::isDescendant(compoundChild1, compoundState));
-
- {
- std::string idrefs("id1");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 1);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- }
-
- {
- std::string idrefs(" id1");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 1);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- }
-
- {
- std::string idrefs(" id1 ");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 1);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- }
-
- {
- std::string idrefs(" \tid1\n ");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 1);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- }
-
- {
- std::string idrefs("id1 id2 id3");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 3);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- tokenizedIdrefs.pop_front();
- assert(tokenizedIdrefs.front().compare("id2") == 0);
- tokenizedIdrefs.pop_front();
- assert(tokenizedIdrefs.front().compare("id3") == 0);
- }
-
- {
- std::string idrefs("\t id1 \nid2\n\n id3\t");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 3);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- tokenizedIdrefs.pop_front();
- assert(tokenizedIdrefs.front().compare("id2") == 0);
- tokenizedIdrefs.pop_front();
- assert(tokenizedIdrefs.front().compare("id3") == 0);
- }
-
- {
- std::string idrefs("id1 \nid2 \tid3");
- std::list<std::string> tokenizedIdrefs = InterpreterImpl::tokenizeIdRefs(idrefs);
- assert(tokenizedIdrefs.size() == 3);
- assert(tokenizedIdrefs.front().compare("id1") == 0);
- tokenizedIdrefs.pop_front();
- assert(tokenizedIdrefs.front().compare("id2") == 0);
- tokenizedIdrefs.pop_front();
- assert(tokenizedIdrefs.front().compare("id3") == 0);
- }
-
- std::string transEvents;
- transEvents = "error";
- assert(InterpreterImpl::nameMatch(transEvents, "error"));
- assert(!InterpreterImpl::nameMatch(transEvents, "foo"));
-
- transEvents = "error foo";
- assert(InterpreterImpl::nameMatch(transEvents, "error"));
- assert(InterpreterImpl::nameMatch(transEvents, "error.send"));
- assert(InterpreterImpl::nameMatch(transEvents, "error.send.failed"));
- assert(InterpreterImpl::nameMatch(transEvents, "foo"));
- assert(InterpreterImpl::nameMatch(transEvents, "foo.bar"));
- assert(!InterpreterImpl::nameMatch(transEvents, "errors.my.custom"));
- assert(!InterpreterImpl::nameMatch(transEvents, "errorhandler.mistake"));
- // is the event name case sensitive?
- // assert(!InterpreterImpl::nameMatch(transEvents, "errOr.send"));
- assert(!InterpreterImpl::nameMatch(transEvents, "foobar"));
} \ No newline at end of file
diff --git a/test/uscxml/test-predicates.scxml b/test/uscxml/test-predicates.scxml
deleted file mode 100644
index 88e05cc..0000000
--- a/test/uscxml/test-predicates.scxml
+++ /dev/null
@@ -1,9 +0,0 @@
-<scxml>
- <state id="atomic" />
- <state id="compound">
- <state id="compoundChild1" />
- <state id="compoundChild2" />
- </state>
- <parallel id="parallel">
- </parallel>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/confEcma.xsl b/test/w3c/confEcma.xsl
index a77d552..41a8129 100644
--- a/test/w3c/confEcma.xsl
+++ b/test/w3c/confEcma.xsl
@@ -275,7 +275,7 @@ events which cause the test to fail. The default value provided here is pretty
<!-- this produces a reference to an invalid namelist, i.e. on that should cause an error -->
<xsl:template match="//@conf:invalidNamelist">
- <xsl:attribute name="namelist">"foo"</xsl:attribute>
+ <xsl:attribute name="namelist">&#34;foo</xsl:attribute>
</xsl:template>
diff --git a/test/w3c/convert-tests.sh b/test/w3c/convert-tests.sh
index 42f8fce..a8357aa 100755
--- a/test/w3c/convert-tests.sh
+++ b/test/w3c/convert-tests.sh
@@ -20,4 +20,7 @@ do
done
cp txml/*.txt ecma/
-cp txml/*.txt xpath/ \ No newline at end of file
+cp txml/*.txt xpath/
+
+find ./ecma -type f -exec grep -Ili 'datamodel="xpath"' {} \; |xargs rm -fv
+find ./xpath -type f -exec grep -Ili 'datamodel="ecmascript"' {} \; |xargs rm -fv \ No newline at end of file
diff --git a/test/w3c/ecma/test252.scxml b/test/w3c/ecma/test252.scxml
index b33342b..14c6686 100644
--- a/test/w3c/ecma/test252.scxml
+++ b/test/w3c/ecma/test252.scxml
@@ -5,7 +5,7 @@ timeout indicates success. --><scxml xmlns="http://www.w3.org/2005/07/scxml" x
<state id="s0" initial="s01">
<onentry>
- <send event="timeout" delayexpr="'50ms'"/>
+ <send event="timeout" delay="2s"/>
</onentry>
<transition event="timeout" target="pass"/>
@@ -22,7 +22,7 @@ timeout indicates success. --><scxml xmlns="http://www.w3.org/2005/07/scxml" x
<scxml initial="sub0" version="1.0" datamodel="ecmascript">
<state id="sub0">
<onentry>
- <send event="timeout" delayexpr="'25ms'"/>
+ <send event="timeout" delay="2s"/>
</onentry>
<transition event="timeout" target="subFinal"/>
<onexit>
diff --git a/test/w3c/ecma/test463.scxml b/test/w3c/ecma/test463.scxml
deleted file mode 100644
index 4f32b84..0000000
--- a/test/w3c/ecma/test463.scxml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that the <data> tag creates an element in the XML datamodel with the correct name and id attr
-and binds an XPath variable to it --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-<datamodel>
- <data id="foo" expr="2"/>
- </datamodel>
-
-<state id="s0">
-
-
- <transition cond="local-name($foo)='data'and $foo/@id ='foo'" target="pass"/>
- <transition target="fail"/>
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test464.scxml b/test/w3c/ecma/test464.scxml
deleted file mode 100644
index bd640f2..0000000
--- a/test/w3c/ecma/test464.scxml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that an unassigned variable creates an empty <data> element --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-<datamodel>
- <data id="foo"/>
- </datamodel>
-
-<state id="s0">
-
-
- <transition cond="count($foo) = 1 and count($foo/*) = 0" target="pass"/>
- <transition target="fail"/>
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test465.scxml b/test/w3c/ecma/test465.scxml
deleted file mode 100644
index a91bb06..0000000
--- a/test/w3c/ecma/test465.scxml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that all xpath variables are in a single global scope--><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-<datamodel>
- <data id="foo" expr="2"/>
- </datamodel>
-
-<state id="s0">
- <transition cond="count($foo) = 1 and count($bar) = 1" target="s1"/>
- <transition target="fail"/>
- </state>
-
-
-<state id="s1">
- <datamodel>
- <data id="bar" expr="1"/>
- </datamodel>
- <transition 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> \ No newline at end of file
diff --git a/test/w3c/ecma/test466.scxml b/test/w3c/ecma/test466.scxml
deleted file mode 100644
index 1431fab..0000000
--- a/test/w3c/ecma/test466.scxml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that xpath expressions are converted to boolean when used as conditional expressions--><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-<datamodel>
- <data id="foo" expr="2"/>
- </datamodel>
-
-<state id="s0">
- <transition cond="$foo" target="pass"/>
- <transition target="fail"/>
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test467.scxml b/test/w3c/ecma/test467.scxml
deleted file mode 100644
index 130b7bc..0000000
--- a/test/w3c/ecma/test467.scxml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that in() is available --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-
-
-<state id="s0">
- <transition cond="In('s0')" target="pass"/>
- <transition target="fail"/>
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test468.scxml b/test/w3c/ecma/test468.scxml
deleted file mode 100644
index 3b6902d..0000000
--- a/test/w3c/ecma/test468.scxml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that XPath expressions can be used as location expressions.
- This example is taken from the spec --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cities">
- <list xmlns="">
- <city id="nyc" count="0">New York</city>
- <city id="bos" count="0">Boston</city>
- </list>
- </data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cities/list/city[@id='nyc']/@count" expr="1"/>
- </onentry>
- <transition cond="$cities/list/city[@id='nyc']/@count = 1" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test469.scxml b/test/w3c/ecma/test469.scxml
deleted file mode 100644
index 02fe476..0000000
--- a/test/w3c/ecma/test469.scxml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that XPath expressions can be used as value expressions. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="copyOfEventData"/>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <send event="event1">
- <param name="param1" expr="1"/>
- </send>
- </onentry>
- <transition event="event1" target="s1">
- <assign location="$copyOfEventData" expr="$_event/data"/>
- </transition>
- </state>
-
-<state id="s1">
- <transition cond="$copyOfEventData/data/data[@id='param1'] =1" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test470.scxml b/test/w3c/ecma/test470.scxml
deleted file mode 100644
index 3c26bb1..0000000
--- a/test/w3c/ecma/test470.scxml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that the processor makes a deep copy of a node set when assigning. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="var1">
- <foo xmlns="">
- <bar>2</bar>
- </foo>
- </data>
- <data id="var2"/>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$var2" expr="$var1/foo"/>
- <assign location="$var1/foo/bar" expr="3"/>
- </onentry>
- <transition cond="$var2/foo/bar=2" target="pass"/>
- <transition target="fail"/>
- </state>
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test473.scxml b/test/w3c/ecma/test473.scxml
deleted file mode 100644
index 4a57129..0000000
--- a/test/w3c/ecma/test473.scxml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'replacechildren' in <assign> replaces all children with the new value.
- This example is taken from the doc --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[1]">
- <bookinfo xmlns="">
- <isdn>12334455</isdn>
- <author>some author</author>
- </bookinfo>
-</assign>
- </onentry>
- <transition cond="$cart/myCart/books/book[1]/bookinfo/isdn/text() = '12334455' and not($cart/myCart/books/book[1]/title)" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test474.scxml b/test/w3c/ecma/test474.scxml
deleted file mode 100644
index decad75..0000000
--- a/test/w3c/ecma/test474.scxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'firstchild' in <assign> inserts the new value before the other children. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[1]" type="firstchild">
- <bookinfo xmlns="">
- <isdn>12334455</isdn>
- <author>some author</author>
- </bookinfo>
-</assign>
- </onentry>
- <transition cond="$cart/myCart/books/book[1]/*[1]/isdn/text() = '12334455' and $cart/myCart/books/book[1]/*[2]/text() = 'The Zen Mind'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test475.scxml b/test/w3c/ecma/test475.scxml
deleted file mode 100644
index 0f9cdfe..0000000
--- a/test/w3c/ecma/test475.scxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'lastchild' in <assign> inserts the new value after the other children. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[1]" type="lastchild">
- <bookinfo xmlns="">
- <isdn>12334455</isdn>
- <author>some author</author>
- </bookinfo>
-</assign>
- </onentry>
- <transition cond="$cart/myCart/books/book[1]/*[2]/isdn/text() = '12334455' and $cart/myCart/books/book[1]/*[1]/text() = 'The Zen Mind'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test476.scxml b/test/w3c/ecma/test476.scxml
deleted file mode 100644
index d3fe8e8..0000000
--- a/test/w3c/ecma/test476.scxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'nextsibling' in <assign> inserts the new value after the location. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[1]/title" type="nextsibling">
- <bookinfo xmlns="">
- <isdn>12334455</isdn>
- <author>some author</author>
- </bookinfo>
-</assign>
- </onentry>
- <transition cond="$cart/myCart/books/book[1]/*[2]/isdn/text() = '12334455' and $cart/myCart/books/book[1]/*[1]/text() = 'The Zen Mind'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test477.scxml b/test/w3c/ecma/test477.scxml
deleted file mode 100644
index 1726866..0000000
--- a/test/w3c/ecma/test477.scxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'previoussibling' in <assign> inserts the new value before the location. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[1]/title" type="previoussibling">
- <bookinfo xmlns="">
- <isdn>12334455</isdn>
- <author>some author</author>
- </bookinfo>
-</assign>
- </onentry>
- <transition cond="$cart/myCart/books/book[1]/*[1]/isdn/text() = '12334455' and $cart/myCart/books/book[1]/*[2]/text() = 'The Zen Mind'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test478.scxml b/test/w3c/ecma/test478.scxml
deleted file mode 100644
index 9821608..0000000
--- a/test/w3c/ecma/test478.scxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'replace' in <assign> replaces the value at the location. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[2]" type="replace">
- <cd xmlns="">
- <title>This is not a book</title>
- </cd>
-</assign>
- </onentry>
-
- <transition cond="$cart/myCart/books/cd/title = 'This is not a book'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test479.scxml b/test/w3c/ecma/test479.scxml
deleted file mode 100644
index 3d5b1ac..0000000
--- a/test/w3c/ecma/test479.scxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'delete' in <assign> deletes the value at the location. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/cds" type="delete">
- <cd xmlns="">
- <title>This is not a book</title>
- </cd>
-</assign>
- </onentry>
-
- <transition cond="not($cart/myCart/cds)" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test480.scxml b/test/w3c/ecma/test480.scxml
deleted file mode 100644
index 0fde260..0000000
--- a/test/w3c/ecma/test480.scxml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that 'addattr' in <assign> adds an attribute to the specified node. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book[1]" type="addattribute" attr="author" expr="'somebody'"/>
- </onentry>
-
- <transition cond="$cart/myCart/books/book[1]/@author = 'somebody'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test481.scxml b/test/w3c/ecma/test481.scxml
deleted file mode 100644
index a0505f6..0000000
--- a/test/w3c/ecma/test481.scxml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that illegal assignments fail and have no side effects. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <send event="timeout" delay="3s"/>
- <assign location="$cart/myCart/cds/cd/@name">
- <foo>
- <bar/>
- </foo>
-</assign>
- </onentry>
-
- <transition event="error.execution" cond="$cart/myCart/cds/cd/@name = 'Something'" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test482.scxml b/test/w3c/ecma/test482.scxml
deleted file mode 100644
index 00eb3fe..0000000
--- a/test/w3c/ecma/test482.scxml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that system vars are created and bound to XPath variables --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
-
-
-<state id="s0">
- <onentry>
- <!-- event isn't bound until an event is raised -->
- <raise event="someevent"/>
- </onentry>
- <transition event="*" cond="local-name($_event) = 'data' and local-name($_sessionid) = 'data' and local-name($_name) = 'data' and local-name($_ioprocessors) = 'data'" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test483.scxml b/test/w3c/ecma/test483.scxml
deleted file mode 100644
index 0a1b236..0000000
--- a/test/w3c/ecma/test483.scxml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that foreach works correctly, iterating over node set in document order.
- This tests assertions 483-485 --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="var1">
- <nodes xmlns="">
- <node/>
- <node/>
- <node/>
- </nodes>
- </data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <foreach array="$var1/nodes/node" item="item" index="pos">
- <assign location="$item" type="addattribute" attr="position" expr="$pos"/>
- </foreach>
- </onentry>
-
- <transition cond="$var1/nodes/node[1]/@position = 1 and $var1/nodes/node[2]/@position = 2 and $var1/nodes/node[3]/@position = 3" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test537.scxml b/test/w3c/ecma/test537.scxml
deleted file mode 100644
index 350d422..0000000
--- a/test/w3c/ecma/test537.scxml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that the root element of the datamodel is <datamodel> and that <data> elements are its
-children--><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-<datamodel>
- <data id="foo" expr="2"/>
- </datamodel>
-
-<state id="s0">
-
-
- <transition cond="local-name($foo/..)='datamodel'" target="pass"/>
- <transition target="fail"/>
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test539.scxml b/test/w3c/ecma/test539.scxml
deleted file mode 100644
index 450bfd9..0000000
--- a/test/w3c/ecma/test539.scxml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that if the child of <data> is XML, or if XML is loaded via src=, the processor
- assigns it as the value of the var --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="var1">
- <books xmlns="">
- <book title="title1"/>
- <book title="title2"/>
- </books>
-</data>
- <data id="var2" src="file:test539.txt"/>
- </datamodel>
-
-<state id="s0">
- <transition cond="$var1/books/book[2]/@title = 'title2'" target="s1"/>
- <transition target="fail"/>
- </state>
-
-<state id="s1">
- <transition cond="$var2/books/book[2]/@title = 'title2'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test540.scxml b/test/w3c/ecma/test540.scxml
deleted file mode 100644
index 641509f..0000000
--- a/test/w3c/ecma/test540.scxml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that if the child of <data> is a string or if a string is loaded via src=, the processor
- does white space normalization on it and assigns it as the value of the var --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="var1">123
-4 5
-</data>
- <data id="var2" src="file:test540.txt"/>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <log label="var1 " expr="$var1"/>
- </onentry>
- <transition cond="$var1 = '123 4 5' and $var2 = '123 4 5'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test542.scxml b/test/w3c/ecma/test542.scxml
deleted file mode 100644
index 1101471..0000000
--- a/test/w3c/ecma/test542.scxml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that <content> inside <donedata> handles XML and strings,
- including white space normalization. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-
-<state id="s0" initial="s01">
- <transition event="done.state.s0" cond="$_event/data/books/book[1]/@title = 'title1'" target="s1"/>
- <transition event="done" target="fail"/>
- <final id="s01">
- <donedata>
- <content>
- <books xmlns="">
- <book title="title1"/>
- <book title="title2"/>
- </books>
- </content>
- </donedata>
- </final>
- </state>
-
-<state id="s1" initial="s11">
- <transition event="done.state.s1" cond="$_event/data = '123 4 5'" target="pass"/>
- <transition event="done" target="fail"/>
- <final id="s11">
- <donedata>
- <content>123
-4 5
- </content>
- </donedata>
- </final>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test543.scxml b/test/w3c/ecma/test543.scxml
deleted file mode 100644
index 2c5c6de..0000000
--- a/test/w3c/ecma/test543.scxml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that event fields are present as children of _event --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
-
-
-<state id="s0">
- <onentry>
- <!-- event isn't bound until an event is raised -->
- <raise event="someevent"/>
- </onentry>
- <!-- origintype sendid, invokeid and data will not be bound in this event. name, type, and origin
- are guaranteed to be there. -->
- <transition event="*" cond="$_event/name and $_event/origin and $_event/type" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test544.scxml b/test/w3c/ecma/test544.scxml
deleted file mode 100644
index fd09502..0000000
--- a/test/w3c/ecma/test544.scxml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that kvps are represented as <data> elements under event/data --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
-
-<state id="s0">
- <onentry>
- <send event="someevent">
- <param name="key1" expr="2"/>
- </send>
- </onentry>
-
- <transition event="*" cond="$_event/data/data[@id='key1'] = 2" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test545.scxml b/test/w3c/ecma/test545.scxml
deleted file mode 100644
index 1e12770..0000000
--- a/test/w3c/ecma/test545.scxml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that xml content in send is place as XML under event/data --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
-
-<state id="s0">
- <onentry>
- <send event="someevent">
- <content><foo xmlns=""><bar>3</bar></foo></content>
- </send>
- </onentry>
-
- <transition event="*" cond="$_event/data/foo/bar = 3" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test546.scxml b/test/w3c/ecma/test546.scxml
deleted file mode 100644
index 728843b..0000000
--- a/test/w3c/ecma/test546.scxml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that string content in send is place as a string under event/data --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
-
-<state id="s0">
- <onentry>
- <send event="someevent">
- <content>some string</content>
- </send>
- </onentry>
-
- <transition event="*" cond="$_event/data = 'some string'" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test547.scxml b/test/w3c/ecma/test547.scxml
deleted file mode 100644
index 8c04c95..0000000
--- a/test/w3c/ecma/test547.scxml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that assiging to a node set performs the assignment to each node.
- This example is taken from the spec. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" name="scxmltest" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="cart">
- <myCart xmlns="">
- <books>
- <book>
- <title>The Zen Mind</title>
- </book>
- <book>
- <title>Freakonomics</title>
- </book>
- </books>
- <cds>
- <cd name="Something"/>
- </cds>
- </myCart>
-</data>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <assign location="$cart/myCart/books/book" expr="'The Zen Mind'"/>
- </onentry>
-
- <transition cond="$cart/myCart/books/book[1] = 'The Zen Mind' and $cart/myCart/books/book[2] = 'The Zen Mind'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/ecma/test553.scxml b/test/w3c/ecma/test553.scxml
index 3dd0aeb..87062e4 100644
--- a/test/w3c/ecma/test553.scxml
+++ b/test/w3c/ecma/test553.scxml
@@ -5,7 +5,7 @@ of <send>'s args causes an error.. --><scxml xmlns="http://www.w3.org/2005/07/s
<state id="s0">
<onentry>
<!-- timeout event -->
- <send event="timeout" delayexpr="'500ms'"/>
+ <send event="timeout" delayexpr="'50ms'"/>
<!-- generate an invalid namelist -->
<send event="event1" namelist="&#34;foo"/>
</onentry>
diff --git a/test/w3c/ecma/test555.scxml b/test/w3c/ecma/test555.scxml
deleted file mode 100644
index 79dea75..0000000
--- a/test/w3c/ecma/test555.scxml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the XPATH data model, test that processor coerces types to produce a string
- where it's needed --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
- <datamodel>
- <data id="var1">
- <books xmlns="">
- <book title="title1"/>
- <book title="title2"/>
- </books>
-</data>
-
- </datamodel>
-
-<state id="s0">
- <onentry>
- <send eventexpr="$var1"/>
- </onentry>
- <transition event="error" target="fail"/>
- <!-- don't really know what the stringification of that xml structure should be, but if
- we get something other than an error, we assume that it worked. -->
- <transition event="*" 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> \ No newline at end of file
diff --git a/test/w3c/ecma/test568.scxml b/test/w3c/ecma/test568.scxml
deleted file mode 100644
index e8b888f..0000000
--- a/test/w3c/ecma/test568.scxml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that location field is found inside entry for SCXML Event I/O processor in the XPath
-data model. The tests for the relevant event i/o processors will test that it can be used to
-send events. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="xpath">
-
-
-<state id="s0">
- <transition cond="$_ioprocessors/[@name='http://www.w3.org/TR/scxml/#SCXMLEventProcessor']/location/text()" target="pass"/>
- <transition target="fail"/>
-
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/txml/test252.txml b/test/w3c/txml/test252.txml
index ba43543..40c36cb 100644
--- a/test/w3c/txml/test252.txml
+++ b/test/w3c/txml/test252.txml
@@ -9,7 +9,7 @@ timeout indicates success. -->
<state id="s0" initial="s01">
<onentry>
- <send event="timeout" conf:delay="1"/>
+ <send event="timeout" delay="2s"/>
</onentry>
<transition event="timeout" conf:targetpass=""/>
@@ -26,7 +26,7 @@ timeout indicates success. -->
<scxml initial="sub0" version="1.0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
<state id="sub0">
<onentry>
- <send event="timeout" conf:delay=".5"/>
+ <send event="timeout" delay="2s"/>
</onentry>
<transition event="timeout" target="subFinal"/>
<onexit>
diff --git a/test/w3c/update-txml.sh b/test/w3c/update-txml.sh
index 09a9602..9fa2c99 100755
--- a/test/w3c/update-txml.sh
+++ b/test/w3c/update-txml.sh
@@ -14,4 +14,4 @@ rm -rf www.w3.org
sed -ie "s/<xsl:attribute name=\"delayexpr\">Var<xsl:value-of select=\".\" \/><\/xsl:attribute>/<xsl:attribute name=\"delayexpr\">(Var<xsl:value-of select=\".\" \/>.slice(0, - 1)) * 50 + 'ms'<\/xsl:attribute>/" confEcma.xsl
sed -ie "s/<xsl:attribute name=\"delayexpr\">'<xsl:value-of select=\".\"\/>s'<\/xsl:attribute>/<xsl:attribute name=\"delayexpr\">'<xsl:value-of select=\". * 50\"\/>ms'<\/xsl:attribute>/" confEcma.xsl
-rm confEcma.xsle \ No newline at end of file
+rm confEcma.xsle
diff --git a/test/w3c/xpath/test252.scxml b/test/w3c/xpath/test252.scxml
index f8d93a5..1f92127 100644
--- a/test/w3c/xpath/test252.scxml
+++ b/test/w3c/xpath/test252.scxml
@@ -5,7 +5,7 @@ timeout indicates success. --><scxml xmlns="http://www.w3.org/2005/07/scxml" x
<state id="s0" initial="s01">
<onentry>
- <send event="timeout" delayexpr="'1s'"/>
+ <send event="timeout" delay="2s"/>
</onentry>
<transition event="timeout" target="pass"/>
@@ -22,7 +22,7 @@ timeout indicates success. --><scxml xmlns="http://www.w3.org/2005/07/scxml" x
<scxml initial="sub0" version="1.0" datamodel="xpath">
<state id="sub0">
<onentry>
- <send event="timeout" delayexpr="'.5s'"/>
+ <send event="timeout" delay="2s"/>
</onentry>
<transition event="timeout" target="subFinal"/>
<onexit>
diff --git a/test/w3c/xpath/test444.scxml b/test/w3c/xpath/test444.scxml
deleted file mode 100644
index c689674..0000000
--- a/test/w3c/xpath/test444.scxml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that <data> creates a new ecmascript variable. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
- <datamodel>
- <data id="var1" expr="1"/>
- </datamodel>
-
-<state id="s0">
-<!-- test that var1 can be used as an ecmascript variable -->
- <transition cond="++var1==2" target="pass"/>
- <transition target="fail"/>
-</state>
-
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test445.scxml b/test/w3c/xpath/test445.scxml
deleted file mode 100644
index f1ae24b..0000000
--- a/test/w3c/xpath/test445.scxml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that ecmascript objects defined by <data> have value undefined if <data> does not assign a value --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
- <datamodel>
- <data id="var1"/>
- </datamodel>
-
-<state id="s0">
-
- <transition cond="var1==undefined" target="pass"/>
- <transition target="fail"/>
-</state>
-
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test446.scxml b/test/w3c/xpath/test446.scxml
deleted file mode 100644
index 64ab3c9..0000000
--- a/test/w3c/xpath/test446.scxml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that if the child of <data> is JSON, the processor
- assigns it as the value of the var --><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">
- <datamodel>
- <data id="var1">[1, 2, 3]</data>
- <data id="var2" src="file:test446.txt"/>
- </datamodel>
-
-<state id="s0">
- <transition cond="var1 instanceof Array" target="s1"/>
- <transition target="fail"/>
- </state>
-
-<state id="s1">
- <transition cond="var2 instanceof Array" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test448.scxml b/test/w3c/xpath/test448.scxml
deleted file mode 100644
index adbc121..0000000
--- a/test/w3c/xpath/test448.scxml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that all ecmascript objects are placed in a single global scope --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
-
-
-<state id="s0">
-<!-- test that a parent state can access a variable defined in a child -->
- <transition cond="var1==1" target="s1"/>
- <transition target="fail"/>
- <state id="s01">
- <datamodel>
- <data id="var1" expr="1"/>
- </datamodel>
- </state>
- </state>
- <state id="s1" initial="s01p">
- <parallel id="s01p">
- <state id="s01p1">
- <!-- test that we can access a variable defined in a parallel sibling state -->
- <transition cond="var2==1" target="pass"/>
- <transition target="fail"/>
- </state>
- <state id="s01p2">
- <datamodel>
- <data id="var2" expr="1"/>
- </datamodel>
- </state>
- </parallel>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test449.scxml b/test/w3c/xpath/test449.scxml
deleted file mode 100644
index d06cc9a..0000000
--- a/test/w3c/xpath/test449.scxml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that ecmascript objects are converted to booleans inside cond --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
-
-
-<state id="s0">
- <transition cond="'foo'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test451.scxml b/test/w3c/xpath/test451.scxml
deleted file mode 100644
index e939ded..0000000
--- a/test/w3c/xpath/test451.scxml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- simple test of the in() predicate --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" version="1.0" datamodel="ecmascript" initial="p">
-
-
- <parallel id="p">
-
- <state id="s0">
- <transition cond="In('s1')" target="pass"/>
- <transition target="fail"/>
- </state>
-
- <state id="s1"/>
- </parallel>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test452.scxml b/test/w3c/xpath/test452.scxml
deleted file mode 100644
index 4f38ca7..0000000
--- a/test/w3c/xpath/test452.scxml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that we can assign to any location in the datamodel. In this case, we just test that we can assign
-to a substructure (not the top level variable). This may not be the most idiomatic way to write the test --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
- <datamodel>
- <data id="foo" expr="0"/>
- </datamodel>
- <script>
- function testobject() {
- this.bar = 0;}
- </script>
-<state id="s0">
- <onentry>
- <assign location="foo" expr="new testobject();"/>
-<!-- try to assign to foo's bar property -->
- <assign location="foo.bar" expr="1"/>
- <raise event="event1"/>
- </onentry>
-<!-- test that we have assigned to foo's bar property -->
- <transition event="event1" cond="foo.bar == 1" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test453.scxml b/test/w3c/xpath/test453.scxml
deleted file mode 100644
index 33b904d..0000000
--- a/test/w3c/xpath/test453.scxml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that we can use any ecmascript expression as a value expression.
-In this case, we just test that we can assign
-a function to a variable and then call it. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
- <datamodel>
- <data id="var1" expr="function(invar) {return invar + 1;}"/>
- </datamodel>
-
-<state id="s0">
- <onentry>
- <raise event="event1"/>
- </onentry>
-<!-- test that we can call the function -->
- <transition event="event1" cond="var1(2) == 3" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test456.scxml b/test/w3c/xpath/test456.scxml
deleted file mode 100644
index 2aebab0..0000000
--- a/test/w3c/xpath/test456.scxml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- we can't test that _any_ ecmascript is valid inside <script>, so we
-just run a simple one and check that it can update the data model. --><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">
-<datamodel>
- <data id="Var1" expr="0"/>
- </datamodel>
-
- <state id="s0">
- <onentry>
- <script>
- Var1+=1
- </script>
- </onentry>
- <transition cond="$Var1/text() =1" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test457.scxml b/test/w3c/xpath/test457.scxml
deleted file mode 100644
index 86cf156..0000000
--- a/test/w3c/xpath/test457.scxml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that an the legal iterable collections are arrays, namely objects that satisfy instanceof(Array) in ECMAScript.
- the legal values for the 'item' attribute on foreach are legal ECMAScript variable names.. --><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">
-<datamodel>
- <data id="Var1" expr="0"/>
- <data id="Var2"/>
- <data id="Var3"/>
- <data id="Var4" expr="7"/>
- <data id="Var5" expr="[1,2,3]"/>
- <data id="Var6"/>
- </datamodel>
-
- <state id="s0">
- <onentry>
-<!-- invalid array, legal item -->
- <foreach item="Var2" index="Var3" array="Var4">
- <assign location="Var1" expr="Var1 + 1"/>
- </foreach>
- <raise event="foo"/>
- </onentry>
- <transition event="error.execution" target="s1"/>
- <transition event="*" target="fail"/>
- </state>
-
- <state id="s1">
- <onentry>
-<!-- illegal item, legal array -->
- <foreach item="'continue'" index="Var3" array="Var5">
- <assign location="Var1" expr="Var1 + 1"/>
- </foreach>
- <raise event="bar"/>
- </onentry>
- <transition event="error.execution" target="s2"/>
- <transition event="bar" target="fail"/>
- </state>
-
-<state id="s2">
- <!-- check that var1 has its original value (so executable content never got executed -->
- <transition cond="Var1==0" target="s3"/>
- <transition target="fail"/>
- </state>
-
-
-<!-- finally check that a legal array works properly -->
-<state id="s3">
- <onentry>
- <assign location="Var6" expr="0"/>
- <foreach item="Var2" array="Var5">
- <assign location="Var6" expr="Var6 + Var2"/>
- </foreach>
- </onentry>
- <transition cond="Var6==6" target="pass"/>
- <transition target="fail"/>
- </state>
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test459.scxml b/test/w3c/xpath/test459.scxml
deleted file mode 100644
index b631c25..0000000
--- a/test/w3c/xpath/test459.scxml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that foreach goes over the array in the right order. since the array contains 1 2 3, we compare the current
-value with the previous value, which is stored in var1. The current value should always be larger. If
-it ever isn't, set Var4 to 0, indicating failure. Also check that the final value of the index
-is 2 (meaning that the initial value was 0, not 1) --><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">
-<datamodel>
- <data id="Var1" expr="0"/> <!-- contains the previous value -->
- <data id="Var2"/> <!-- the item which will contain the current value -->
- <data id="Var3"/> <!-- the index -->
- <data id="Var4" expr="[1,2,3]"/>
- <data id="Var5" expr="1"/> <!-- 1 if success, 0 if failure -->
- </datamodel>
-
- <state id="s0">
- <onentry>
- <foreach item="Var2" array="Var4" index="Var3">
- <if cond="Var1&lt;Var2">
- <assign location="Var1" expr="Var2"/>
- <else/>
- <!-- values are out of order, record failure -->
- <assign location="Var5" expr="0"/>
- </if>
- </foreach>
- </onentry>
-
- <!-- check that var1 has its original value -->
- <transition cond="Var4==0 | Var3 != 2" target="fail"/>
- <transition 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> \ No newline at end of file
diff --git a/test/w3c/xpath/test460.scxml b/test/w3c/xpath/test460.scxml
deleted file mode 100644
index 8ba3e5e..0000000
--- a/test/w3c/xpath/test460.scxml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that <foreach> does a shallow copy, so that modifying the array does not change
-the iteration behavior. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" datamodel="ecmascript" version="1.0">
- <datamodel>
- <data id="Var1" expr="[1,2,3]"/>
- <data id="Var2" expr="0"/> <!-- counts the number of iterations -->
- </datamodel>
-
-<state id="s0">
- <onentry>
- <foreach item="Var3" array="Var1">
- <assign location="Var1" expr="[].concat(Var1, [4])"/>
- <assign location="Var2" expr="Var2 + 1"/>
- </foreach>
- </onentry>
-
- <transition cond="Var2==3" target="pass"/>
- <transition target="fail"/>
-</state>
-
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test557.scxml b/test/w3c/xpath/test557.scxml
deleted file mode 100644
index 6f4eed1..0000000
--- a/test/w3c/xpath/test557.scxml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that if the child of <data> is XML, or if XML is loaded via src=, the processor
- assigns it as the value of the var --><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">
- <datamodel>
- <data id="var1">
- <books xmlns="">
- <book title="title1"/>
- <book title="title2"/>
- </books>
-</data>
- <data id="var2" src="file:test557.txt"/>
- </datamodel>
-
-<state id="s0">
- <transition cond="var1.getElementsByTagName('book')[0].getAttribute('title') == 'title1'" target="s1"/>
- <transition target="fail"/>
- </state>
-
-<state id="s1">
- <transition cond="var2.getElementsByTagName('book')[1].getAttribute('title') == 'title2'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test558.scxml b/test/w3c/xpath/test558.scxml
deleted file mode 100644
index a075100..0000000
--- a/test/w3c/xpath/test558.scxml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that if the child of <data> is not XML, or if XML is loaded via src=,
- the processor treats the value as a string, does whitespace normalization and assigns it to the var.--><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">
- <datamodel>
- <data id="var1">
-this is
-a string
-</data>
- <data id="var2" src="file:test558.txt"/>
- </datamodel>
-
-<state id="s0">
- <transition cond="var1 == 'this is a string'" target="s1"/>
- <transition target="fail"/>
- </state>
-
-<state id="s1">
- <transition cond="var2 == 'this is a string'" target="pass"/>
- <transition target="fail"/>
- </state>
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test560.scxml b/test/w3c/xpath/test560.scxml
deleted file mode 100644
index d283b1a..0000000
--- a/test/w3c/xpath/test560.scxml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that processor creates correct structure in
- _event.data when receiving KVPs in an event --><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="foo">
- <param name="aParam" expr="1"/>
- </send>
- </onentry>
- <transition event="foo" cond="_event.data.aParam == 1" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test561.scxml b/test/w3c/xpath/test561.scxml
deleted file mode 100644
index e94a813..0000000
--- a/test/w3c/xpath/test561.scxml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that processor creates an ECMAScript DOM object
- _event.data when receiving XML in an event --><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="foo">
- <content>
-<books xmlns="">
-<book title="title1"/>
-<book title="title2"/>
-</books>
-</content>
- </send>
- </onentry>
- <transition event="foo" cond="_event.data.getElementsByTagName('book')[1].getAttribute('title') == 'title2'" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test562.scxml b/test/w3c/xpath/test562.scxml
deleted file mode 100644
index f5997bb..0000000
--- a/test/w3c/xpath/test562.scxml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that processor creates space normalized string in
- _event.data when receiving anything other than KVPs or XML in an event --><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="foo">
- <content>
-this is a
-string
-</content>
- </send>
- </onentry>
- <transition event="foo" cond="_event.data == 'this is a string'" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test569.scxml b/test/w3c/xpath/test569.scxml
deleted file mode 100644
index 832a0c0..0000000
--- a/test/w3c/xpath/test569.scxml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- test that location field is found inside entry for SCXML Event I/O processor in the ECMAScript
-data model. The tests for the relevant event i/o processors will test that it can be used to
-send events. --><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">
- <transition cond="_ioprocessors['scxml'].location" target="pass"/>
- <transition target="fail"/>
-
- </state>
-
- <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
- <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file
diff --git a/test/w3c/xpath/test578.scxml b/test/w3c/xpath/test578.scxml
deleted file mode 100644
index 9a25195..0000000
--- a/test/w3c/xpath/test578.scxml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- in the ECMA data model, test that processor creates an ECMAScript object
- _event.data when receiving JSON in an event --><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="foo">
- <content>{ "productName" : "bar", "size" : 27 }</content>
- </send>
- </onentry>
- <transition event="foo" cond="_event.data.productName == 'bar'" target="pass"/>
- <transition event="*" target="fail"/>
- </state>
-
-
-<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
-<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
-
-</scxml> \ No newline at end of file