diff options
author | Stefan Radomski <github@mintwerk.de> | 2017-06-05 13:02:25 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2017-06-05 13:02:25 (GMT) |
commit | c2624fcf87cac6b56c10771cdd88c3aaecbf2488 (patch) | |
tree | 7c2e203c7997bc93a4e46a59d025b766f98b58bb /test | |
parent | d1404b669a00a6cff2ac35f09d0222c1d9ab4bff (diff) | |
download | uscxml-c2624fcf87cac6b56c10771cdd88c3aaecbf2488.zip uscxml-c2624fcf87cac6b56c10771cdd88c3aaecbf2488.tar.gz uscxml-c2624fcf87cac6b56c10771cdd88c3aaecbf2488.tar.bz2 |
Added more encoding tests
Diffstat (limited to 'test')
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="&ü&"/> + <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="&pass&"/> + </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="&ü&"/> + <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="&pass&"/> + </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="&ü&"/> </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"> |