summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2017-06-05 13:02:25 (GMT)
committerStefan Radomski <github@mintwerk.de>2017-06-05 13:02:25 (GMT)
commitc2624fcf87cac6b56c10771cdd88c3aaecbf2488 (patch)
tree7c2e203c7997bc93a4e46a59d025b766f98b58bb
parentd1404b669a00a6cff2ac35f09d0222c1d9ab4bff (diff)
downloaduscxml-c2624fcf87cac6b56c10771cdd88c3aaecbf2488.zip
uscxml-c2624fcf87cac6b56c10771cdd88c3aaecbf2488.tar.gz
uscxml-c2624fcf87cac6b56c10771cdd88c3aaecbf2488.tar.bz2
Added more encoding tests
-rw-r--r--test/w3c/c89/test-enc-CP1250.scxml26
-rw-r--r--test/w3c/c89/test-enc-ISO-8859-15.scxml26
-rw-r--r--test/w3c/c89/test-enc-UTF8.scxml (renamed from test/w3c/c89/test-utf8.scxml)6
-rw-r--r--test/w3c/contrib/test-enc-UTF8.txml (renamed from test/w3c/contrib/test-utf8.txml)7
-rwxr-xr-xtest/w3c/convert-tests.sh20
-rw-r--r--test/w3c/ecma/test-enc-ASCII.scxml26
-rw-r--r--test/w3c/ecma/test-enc-CP1250.scxml26
-rw-r--r--test/w3c/ecma/test-enc-ISO-8859-15.scxml26
-rw-r--r--test/w3c/ecma/test-enc-UTF8.scxml (renamed from test/w3c/ecma/test-utf8.scxml)6
-rw-r--r--test/w3c/jexl/test-enc-CP1250.scxml26
-rw-r--r--test/w3c/jexl/test-enc-ISO-8859-15.scxml26
-rw-r--r--test/w3c/jexl/test-enc-UTF8.scxml (renamed from test/w3c/jexl/test-utf8.scxml)6
-rw-r--r--test/w3c/lua/test-enc-CP1250.scxml26
-rw-r--r--test/w3c/lua/test-enc-ISO-8859-15.scxml26
-rw-r--r--test/w3c/lua/test-enc-UTF8.scxml (renamed from test/w3c/lua/test-utf8.scxml)6
-rw-r--r--test/w3c/namespace/test-enc-CP1250.scxml26
-rw-r--r--test/w3c/namespace/test-enc-ISO-8859-15.scxml26
-rw-r--r--test/w3c/namespace/test-enc-UTF8.scxml (renamed from test/w3c/namespace/test-utf8.scxml)6
-rw-r--r--test/w3c/promela/test-enc-utf8.scxml (renamed from test/w3c/promela/test-utf8.scxml)6
19 files changed, 338 insertions, 11 deletions
diff --git a/test/w3c/c89/test-enc-CP1250.scxml b/test/w3c/c89/test-enc-CP1250.scxml
new file mode 100644
index 0000000..3cd1241
--- /dev/null
+++ b/test/w3c/c89/test-enc-CP1250.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="CP1250"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="c89">
+ <datamodel>
+ <data id="Var1" expr="&amp;ü&amp;"/>
+ <data id="Var2" expr="&amp;ü&amp;"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
+ <transition target="fail"/>
+ </state>
+ <final id="pass">
+ <onentry>
+ <log label="Outcome" expr="&amp;pass&amp;"/>
+ </onentry>
+ </final>
+ <final id="fail">
+ <onentry>
+ <log label="Outcome" expr="&amp;pass&amp;"/>
+ </onentry>
+ </final>
+</scxml>
diff --git a/test/w3c/c89/test-enc-ISO-8859-15.scxml b/test/w3c/c89/test-enc-ISO-8859-15.scxml
new file mode 100644
index 0000000..5fdf91c
--- /dev/null
+++ b/test/w3c/c89/test-enc-ISO-8859-15.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="c89">
+ <datamodel>
+ <data id="Var1" expr="&amp;ü&amp;"/>
+ <data id="Var2" expr="&amp;ü&amp;"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
+ <transition target="fail"/>
+ </state>
+ <final id="pass">
+ <onentry>
+ <log label="Outcome" expr="&amp;pass&amp;"/>
+ </onentry>
+ </final>
+ <final id="fail">
+ <onentry>
+ <log label="Outcome" expr="&amp;pass&amp;"/>
+ </onentry>
+ </final>
+</scxml>
diff --git a/test/w3c/c89/test-utf8.scxml b/test/w3c/c89/test-enc-UTF8.scxml
index 88632c3..b576365 100644
--- a/test/w3c/c89/test-utf8.scxml
+++ b/test/w3c/c89/test-enc-UTF8.scxml
@@ -6,7 +6,11 @@
<data id="Var2" expr="&amp;ü&amp;"/>
</datamodel>
<state id="s0">
- <transition cond="Var1===Var2" target="pass"/>
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/contrib/test-utf8.txml b/test/w3c/contrib/test-enc-UTF8.txml
index fccabf5..72d2c0b 100644
--- a/test/w3c/contrib/test-utf8.txml
+++ b/test/w3c/contrib/test-enc-UTF8.txml
@@ -8,7 +8,12 @@
</datamodel>
<state id="s0">
- <transition conf:VarEqVar="1 2" conf:targetpass=""/>
+ <transition conf:VarEqVar="1 2" target="s1"/>
+ <transition conf:targetfail=""/>
+ </state>
+
+<state id="s1">
+ <transition conf:idQuoteVal="1=ü" conf:targetpass=""/>
<transition conf:targetfail=""/>
</state>
diff --git a/test/w3c/convert-tests.sh b/test/w3c/convert-tests.sh
index fcaf978..8ffe48b 100755
--- a/test/w3c/convert-tests.sh
+++ b/test/w3c/convert-tests.sh
@@ -8,14 +8,14 @@ ME=`basename $0`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd $DIR
-if [ "$#" -lt 1 ]; then
+if [ "$#" -lt 2 ]; then
echo "At least one datamodel needs to be specified:"
- echo " $0 ecma c89 lua jexl namespace xpath promela prolog"
+ echo " $0 ecma c89 lua jexl namespace xpath promela prolog [pattern]"
exit 1
fi
-while [ "$1" != "" ]; do
+while [ "$2" != "" ]; do
case $1 in
ecma )
ECMA=$1
@@ -47,7 +47,7 @@ while [ "$1" != "" ]; do
esac
done
-TXMLS=`ls txml/*.txml contrib/*.txml`
+TXMLS=`ls txml/$1.txml contrib/$1.txml`
TRANSFORM="java -jar /Users/sradomski/Developer/Applications/SaxonHE9-4-0-7J/saxon9he.jar"
# see http://saxon.sourceforge.net/saxon6.5.1/using-xsl.html
@@ -134,6 +134,18 @@ find ./jexl -type f -exec grep -Ili 'datamodel="xpath"' {} \; |xargs rm -fv
find ./jexl -type f -exec grep -Ili 'datamodel="ecmascript"' {} \; |xargs rm -fv
find ./jexl -type f -exec grep -Ili 'datamodel="null"' {} \; |xargs rm -fv
+# create other encoding tests from the utf8 one
+for ENC in ISO-8859-15 CP1250;
+do
+ export ENC=$ENC
+ find . -name "test-enc-UTF8.scxml" -exec sh -c 'sed "s/UTF-8/${ENC}/g" {} > $(dirname {})/test-enc-${ENC}.tmp.scxml' \;
+ find . -name "test-enc-${ENC}.tmp.scxml" -exec sh -c 'iconv -f UTF-8 -t ${ENC} {} > $(dirname {})/test-enc-${ENC}.scxml' \;
+ find . -name "test-enc-${ENC}.tmp.scxml" -exec rm {} \;
+done
+
+# find . -name "tmp.scxml" -exec rm {} \;
+# find . -name "tmp.scxml.orig" -exec rm {} \;
+
# test436 is the null datamodel
mv ./ecma/test436.scxml ./null
rm ./namespace/test436.scxml
diff --git a/test/w3c/ecma/test-enc-ASCII.scxml b/test/w3c/ecma/test-enc-ASCII.scxml
new file mode 100644
index 0000000..be03547
--- /dev/null
+++ b/test/w3c/ecma/test-enc-ASCII.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="CP1252"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<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="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" 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>
diff --git a/test/w3c/ecma/test-enc-CP1250.scxml b/test/w3c/ecma/test-enc-CP1250.scxml
new file mode 100644
index 0000000..83b8218
--- /dev/null
+++ b/test/w3c/ecma/test-enc-CP1250.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="CP1250"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<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="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" 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>
diff --git a/test/w3c/ecma/test-enc-ISO-8859-15.scxml b/test/w3c/ecma/test-enc-ISO-8859-15.scxml
new file mode 100644
index 0000000..331359d
--- /dev/null
+++ b/test/w3c/ecma/test-enc-ISO-8859-15.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<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="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" 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>
diff --git a/test/w3c/ecma/test-utf8.scxml b/test/w3c/ecma/test-enc-UTF8.scxml
index 85d3854..b2fb878 100644
--- a/test/w3c/ecma/test-utf8.scxml
+++ b/test/w3c/ecma/test-enc-UTF8.scxml
@@ -6,7 +6,11 @@
<data id="Var2" expr="'ü'"/>
</datamodel>
<state id="s0">
- <transition cond="Var1===Var2" target="pass"/>
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/jexl/test-enc-CP1250.scxml b/test/w3c/jexl/test-enc-CP1250.scxml
new file mode 100644
index 0000000..993f0dc
--- /dev/null
+++ b/test/w3c/jexl/test-enc-CP1250.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="CP1250"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="jexl">
+ <datamodel>
+ <data id="Var1" expr="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" 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>
diff --git a/test/w3c/jexl/test-enc-ISO-8859-15.scxml b/test/w3c/jexl/test-enc-ISO-8859-15.scxml
new file mode 100644
index 0000000..d6b0e26
--- /dev/null
+++ b/test/w3c/jexl/test-enc-ISO-8859-15.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="jexl">
+ <datamodel>
+ <data id="Var1" expr="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" 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>
diff --git a/test/w3c/jexl/test-utf8.scxml b/test/w3c/jexl/test-enc-UTF8.scxml
index 932d06f..5b853ac 100644
--- a/test/w3c/jexl/test-utf8.scxml
+++ b/test/w3c/jexl/test-enc-UTF8.scxml
@@ -6,7 +6,11 @@
<data id="Var2" expr="'ü'"/>
</datamodel>
<state id="s0">
- <transition cond="Var1===Var2" target="pass"/>
+ <transition cond="Var1===Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/lua/test-enc-CP1250.scxml b/test/w3c/lua/test-enc-CP1250.scxml
new file mode 100644
index 0000000..47272f5
--- /dev/null
+++ b/test/w3c/lua/test-enc-CP1250.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="CP1250"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="lua">
+ <datamodel>
+ <data id="Var1" expr="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1==Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
+ <transition target="fail"/>
+ </state>
+ <final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
+ <onentry>
+ <log label="Outcome" expr="'pass'"/>
+ </onentry>
+ </final>
+ <final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="fail">
+ <onentry>
+ <log label="Outcome" expr="'fail'"/>
+ </onentry>
+ </final>
+</scxml>
diff --git a/test/w3c/lua/test-enc-ISO-8859-15.scxml b/test/w3c/lua/test-enc-ISO-8859-15.scxml
new file mode 100644
index 0000000..b026b95
--- /dev/null
+++ b/test/w3c/lua/test-enc-ISO-8859-15.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="lua">
+ <datamodel>
+ <data id="Var1" expr="'ü'"/>
+ <data id="Var2" expr="'ü'"/>
+ </datamodel>
+ <state id="s0">
+ <transition cond="Var1==Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
+ <transition target="fail"/>
+ </state>
+ <final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
+ <onentry>
+ <log label="Outcome" expr="'pass'"/>
+ </onentry>
+ </final>
+ <final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="fail">
+ <onentry>
+ <log label="Outcome" expr="'fail'"/>
+ </onentry>
+ </final>
+</scxml>
diff --git a/test/w3c/lua/test-utf8.scxml b/test/w3c/lua/test-enc-UTF8.scxml
index 2ee83a3..e85a511 100644
--- a/test/w3c/lua/test-utf8.scxml
+++ b/test/w3c/lua/test-enc-UTF8.scxml
@@ -6,7 +6,11 @@
<data id="Var2" expr="'ü'"/>
</datamodel>
<state id="s0">
- <transition cond="Var1==Var2" target="pass"/>
+ <transition cond="Var1==Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
diff --git a/test/w3c/namespace/test-enc-CP1250.scxml b/test/w3c/namespace/test-enc-CP1250.scxml
new file mode 100644
index 0000000..bfa62de
--- /dev/null
+++ b/test/w3c/namespace/test-enc-CP1250.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="CP1250"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml:scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" xmlns:scxml="http://www.w3.org/2005/07/scxml" initial="s0" version="1.0" datamodel="ecmascript">
+ <scxml:datamodel>
+ <scxml:data id="Var1" expr="'ü'"/>
+ <scxml:data id="Var2" expr="'ü'"/>
+ </scxml:datamodel>
+ <scxml:state id="s0">
+ <scxml:transition cond="Var1===Var2" target="s1"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:state id="s1">
+ <scxml:transition cond="Var1=='ü'" target="pass"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:final id="pass">
+ <scxml:onentry>
+ <scxml:log label="Outcome" expr="'pass'"/>
+ </scxml:onentry>
+ </scxml:final>
+ <scxml:final id="fail">
+ <scxml:onentry>
+ <scxml:log label="Outcome" expr="'fail'"/>
+ </scxml:onentry>
+ </scxml:final>
+</scxml:scxml>
diff --git a/test/w3c/namespace/test-enc-ISO-8859-15.scxml b/test/w3c/namespace/test-enc-ISO-8859-15.scxml
new file mode 100644
index 0000000..964cd2f
--- /dev/null
+++ b/test/w3c/namespace/test-enc-ISO-8859-15.scxml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<scxml:scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" xmlns:scxml="http://www.w3.org/2005/07/scxml" initial="s0" version="1.0" datamodel="ecmascript">
+ <scxml:datamodel>
+ <scxml:data id="Var1" expr="'ü'"/>
+ <scxml:data id="Var2" expr="'ü'"/>
+ </scxml:datamodel>
+ <scxml:state id="s0">
+ <scxml:transition cond="Var1===Var2" target="s1"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:state id="s1">
+ <scxml:transition cond="Var1=='ü'" target="pass"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:final id="pass">
+ <scxml:onentry>
+ <scxml:log label="Outcome" expr="'pass'"/>
+ </scxml:onentry>
+ </scxml:final>
+ <scxml:final id="fail">
+ <scxml:onentry>
+ <scxml:log label="Outcome" expr="'fail'"/>
+ </scxml:onentry>
+ </scxml:final>
+</scxml:scxml>
diff --git a/test/w3c/namespace/test-utf8.scxml b/test/w3c/namespace/test-enc-UTF8.scxml
index ee592ed..b52857b 100644
--- a/test/w3c/namespace/test-utf8.scxml
+++ b/test/w3c/namespace/test-enc-UTF8.scxml
@@ -6,7 +6,11 @@
<scxml:data id="Var2" expr="'ü'"/>
</scxml:datamodel>
<scxml:state id="s0">
- <scxml:transition cond="Var1===Var2" target="pass"/>
+ <scxml:transition cond="Var1===Var2" target="s1"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:state id="s1">
+ <scxml:transition cond="Var1=='ü'" target="pass"/>
<scxml:transition target="fail"/>
</scxml:state>
<scxml:final id="pass">
diff --git a/test/w3c/promela/test-utf8.scxml b/test/w3c/promela/test-enc-utf8.scxml
index f9ce782..998a1d3 100644
--- a/test/w3c/promela/test-utf8.scxml
+++ b/test/w3c/promela/test-enc-utf8.scxml
@@ -6,7 +6,11 @@
<data id="Var2" type="string" expr="'ü'"/>
</datamodel>
<state id="s0">
- <transition cond="Var1==Var2" target="pass"/>
+ <transition cond="Var1==Var2" target="s1"/>
+ <transition target="fail"/>
+ </state>
+ <state id="s1">
+ <transition cond="Var1=='ü'" target="pass"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">