summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/w3c/c89/test-enc-ISO-8859-1.scxml159
-rw-r--r--test/w3c/c89/test-enc-UTF-16.scxmlbin1666 -> 16286 bytes
-rw-r--r--test/w3c/c89/test-enc-UTF8.scxml159
-rw-r--r--test/w3c/c89/test-enc-WINDOWS-1252.scxml159
-rw-r--r--test/w3c/contrib/test-enc-UTF8.txml237
-rwxr-xr-xtest/w3c/convert-tests.sh2
-rw-r--r--test/w3c/ecma/test-enc-ISO-8859-1.scxml159
-rw-r--r--test/w3c/ecma/test-enc-UTF-16.scxmlbin1616 -> 16012 bytes
-rw-r--r--test/w3c/ecma/test-enc-UTF8.scxml159
-rw-r--r--test/w3c/ecma/test-enc-WINDOWS-1252.scxml159
-rw-r--r--test/w3c/jexl/test-enc-ISO-8859-1.scxml159
-rw-r--r--test/w3c/jexl/test-enc-UTF-16.scxmlbin1604 -> 16000 bytes
-rw-r--r--test/w3c/jexl/test-enc-UTF8.scxml159
-rw-r--r--test/w3c/jexl/test-enc-WINDOWS-1252.scxml159
-rw-r--r--test/w3c/lua/test-enc-ISO-8859-1.scxml159
-rw-r--r--test/w3c/lua/test-enc-UTF-16.scxmlbin1784 -> 16182 bytes
-rw-r--r--test/w3c/lua/test-enc-UTF8.scxml159
-rw-r--r--test/w3c/lua/test-enc-WINDOWS-1252.scxml159
-rw-r--r--test/w3c/namespace/test-enc-ISO-8859-1.scxml159
-rw-r--r--test/w3c/namespace/test-enc-UTF-16.scxmlbin1996 -> 18108 bytes
-rw-r--r--test/w3c/namespace/test-enc-UTF8.scxml159
-rw-r--r--test/w3c/namespace/test-enc-WINDOWS-1252.scxml159
-rw-r--r--test/w3c/promela/test-enc-ISO-8859-1.scxml159
-rw-r--r--test/w3c/promela/test-enc-UTF-16.scxmlbin1848 -> 16660 bytes
-rw-r--r--test/w3c/promela/test-enc-WINDOWS-1252.scxml159
-rw-r--r--test/w3c/promela/test-enc-utf8.scxml159
26 files changed, 2941 insertions, 160 deletions
diff --git a/test/w3c/c89/test-enc-ISO-8859-1.scxml b/test/w3c/c89/test-enc-ISO-8859-1.scxml
index ed0e3b3..549c16e 100644
--- a/test/w3c/c89/test-enc-ISO-8859-1.scxml
+++ b/test/w3c/c89/test-enc-ISO-8859-1.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="c89">
<datamodel>
- <data id="Var1" expr="&amp;&amp;"/>
- <data id="Var2" expr="&amp;&amp;"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="&amp;Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.&amp;"/>
+ <data id="Var2" expr="&amp;Heizlrckstoabdmpfung&amp;"/>
+ <data id="Var3" expr="&amp; &amp;"/>
+ <data id="Var4" expr="&amp;The quick brown fox jumps over the lazy dog&amp;"/>
+ <data id="Var5" expr="&amp;El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro&amp;"/>
+ <data id="Var6" expr="&amp;Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov&amp;"/>
+ <data id="Var7" expr="&amp;D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh&amp;"/>
+ <data id="Var8" expr="&amp;rvztr tkrfrgp&amp;"/>
+ <data id="Var9" expr="&amp;Kmi n xi hr ykist jfum n bi vl og drepa&amp;"/>
+ <data id="Var10" expr="&amp; &amp;"/>
+ <data id="Var11" expr="&amp; &amp;"/>
+ <data id="Var12" expr="&amp;? &amp;"/>
+ <data id="Var13" expr="&amp;Pchn w t d jea lub om skrzy fig&amp;"/>
+ <data id="Var14" expr="&amp; ? , !&amp;"/>
+ <data id="Var15" expr="&amp; &amp;"/>
+ <data id="Var16" expr="&amp;Pijamal hasta, yaz ofre abucak gvendi&amp;"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/c89/test-enc-UTF-16.scxml b/test/w3c/c89/test-enc-UTF-16.scxml
index b78ac1f..609241b 100644
--- a/test/w3c/c89/test-enc-UTF-16.scxml
+++ b/test/w3c/c89/test-enc-UTF-16.scxml
Binary files differ
diff --git a/test/w3c/c89/test-enc-UTF8.scxml b/test/w3c/c89/test-enc-UTF8.scxml
index b576365..8d95f32 100644
--- a/test/w3c/c89/test-enc-UTF8.scxml
+++ b/test/w3c/c89/test-enc-UTF8.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="c89">
<datamodel>
- <data id="Var1" expr="&amp;ü&amp;"/>
- <data id="Var2" expr="&amp;ü&amp;"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="&amp;Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.&amp;"/>
+ <data id="Var2" expr="&amp;Heizölrückstoßabdämpfung&amp;"/>
+ <data id="Var3" expr="&amp;Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο&amp;"/>
+ <data id="Var4" expr="&amp;The quick brown fox jumps over the lazy dog&amp;"/>
+ <data id="Var5" expr="&amp;El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro&amp;"/>
+ <data id="Var6" expr="&amp;Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ&amp;"/>
+ <data id="Var7" expr="&amp;D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh&amp;"/>
+ <data id="Var8" expr="&amp;Árvíztűrő tükörfúrógép&amp;"/>
+ <data id="Var9" expr="&amp;Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa&amp;"/>
+ <data id="Var10" expr="&amp;いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす&amp;"/>
+ <data id="Var11" expr="&amp;イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン&amp;"/>
+ <data id="Var12" expr="&amp;? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה&amp;"/>
+ <data id="Var13" expr="&amp;Pchnąć w tę łódź jeża lub ośm skrzyń fig&amp;"/>
+ <data id="Var14" expr="&amp;В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!&amp;"/>
+ <data id="Var15" expr="&amp;เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ&amp;"/>
+ <data id="Var16" expr="&amp;Pijamalı hasta, yağız şoföre çabucak güvendi&amp;"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizölrückstoßabdämpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3=='Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='Árvíztűrő tükörfúrógép'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10=='いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11=='イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchnąć w tę łódź jeża lub ośm skrzyń fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14=='В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15=='เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1=='ü'" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamalı hasta, yağız şoföre çabucak güvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/c89/test-enc-WINDOWS-1252.scxml b/test/w3c/c89/test-enc-WINDOWS-1252.scxml
index 450fd4d..59fdb0a 100644
--- a/test/w3c/c89/test-enc-WINDOWS-1252.scxml
+++ b/test/w3c/c89/test-enc-WINDOWS-1252.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="WINDOWS-1252"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="c89">
<datamodel>
- <data id="Var1" expr="&amp;&amp;"/>
- <data id="Var2" expr="&amp;&amp;"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="&amp;Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.&amp;"/>
+ <data id="Var2" expr="&amp;Heizlrckstoabdmpfung&amp;"/>
+ <data id="Var3" expr="&amp; &amp;"/>
+ <data id="Var4" expr="&amp;The quick brown fox jumps over the lazy dog&amp;"/>
+ <data id="Var5" expr="&amp;El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro&amp;"/>
+ <data id="Var6" expr="&amp;Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov&amp;"/>
+ <data id="Var7" expr="&amp;D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh&amp;"/>
+ <data id="Var8" expr="&amp;rvztr tkrfrgp&amp;"/>
+ <data id="Var9" expr="&amp;Kmi n xi hr ykist jfum n bi vl og drepa&amp;"/>
+ <data id="Var10" expr="&amp; &amp;"/>
+ <data id="Var11" expr="&amp; &amp;"/>
+ <data id="Var12" expr="&amp;? &amp;"/>
+ <data id="Var13" expr="&amp;Pchn w t d jea lub om skrzy fig&amp;"/>
+ <data id="Var14" expr="&amp; ? , !&amp;"/>
+ <data id="Var15" expr="&amp; &amp;"/>
+ <data id="Var16" expr="&amp;Pijamal hasta, yaz ofre abucak gvendi&amp;"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/contrib/test-enc-UTF8.txml b/test/w3c/contrib/test-enc-UTF8.txml
index 72d2c0b..0d58140 100644
--- a/test/w3c/contrib/test-enc-UTF8.txml
+++ b/test/w3c/contrib/test-enc-UTF8.txml
@@ -1,24 +1,231 @@
<?xml version="1.0"?>
-<!-- test that neither if clause executes, so that bat is the only event raised. -->
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
-<scxml initial="s0" version="1.0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
+<scxml initial="init" version="1.0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
<datamodel>
- <data conf:id="1" conf:quoteExpr="ü"/>
- <data conf:id="2" conf:quoteExpr="ü"/>
- </datamodel>
-
-<state id="s0">
- <transition conf:VarEqVar="1 2" target="s1"/>
+ <data conf:id="Tmp" />
+ <data conf:id="1" conf:quoteExpr="Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon."/>
+ <data conf:id="2" conf:quoteExpr="Heizölrückstoßabdämpfung"/>
+ <data conf:id="3" conf:quoteExpr="Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο"/>
+ <data conf:id="4" conf:quoteExpr="The quick brown fox jumps over the lazy dog"/>
+ <data conf:id="5" conf:quoteExpr="El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro"/>
+ <data conf:id="6" conf:quoteExpr="Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ"/>
+ <data conf:id="7" conf:quoteExpr="D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh"/>
+ <data conf:id="8" conf:quoteExpr="Árvíztűrő tükörfúrógép"/>
+ <data conf:id="9" conf:quoteExpr="Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa"/>
+ <data conf:id="10" conf:quoteExpr="いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす"/>
+ <data conf:id="11" conf:quoteExpr="イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン"/>
+ <data conf:id="12" conf:quoteExpr="? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה"/>
+ <data conf:id="13" conf:quoteExpr="Pchnąć w tę łódź jeża lub ośm skrzyń fig"/>
+ <data conf:id="14" conf:quoteExpr="В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!"/>
+ <data conf:id="15" conf:quoteExpr="เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ"/>
+ <data conf:id="16" conf:quoteExpr="Pijamalı hasta, yağız şoföre çabucak güvendi"/>
+</datamodel>
+
+<state id="init">
+ <onentry>
+ <send event="danish" conf:namelist="1"/>
+ <send event="german" conf:namelist="2"/>
+ <send event="greek" conf:namelist="3"/>
+ <send event="english" conf:namelist="4"/>
+ <send event="spanish" conf:namelist="5"/>
+ <send event="french" conf:namelist="6"/>
+ <send event="gaelic" conf:namelist="7"/>
+ <send event="hungarian" conf:namelist="8"/>
+ <send event="icelandic" conf:namelist="9"/>
+ <send event="hiragana" conf:namelist="10"/>
+ <send event="katakana" conf:namelist="11"/>
+ <send event="hebrew" conf:namelist="12"/>
+ <send event="polish" conf:namelist="13"/>
+ <send event="russian" conf:namelist="14"/>
+ <send event="thai" conf:namelist="15"/>
+ <send event="turkish" conf:namelist="16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle" />
+</state>
+
+<state id="idle" />
+<transition event="done" conf:targetpass="" />
+
+<transition event="danish"
+ conf:idQuoteVal="1=Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon."
+ target="danish">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="1"/>
+</transition>
+
+<state id="danish">
+ <transition conf:VarEqVar="1 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="german"
+ conf:idQuoteVal="2=Heizölrückstoßabdämpfung"
+ target="german">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="2"/>
+</transition>
+
+<state id="german">
+ <transition conf:VarEqVar="2 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="greek"
+ conf:idQuoteVal="3=Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο"
+ target="greek">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="3"/>
+</transition>
+
+<state id="greek">
+ <transition conf:VarEqVar="3 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="english"
+ conf:idQuoteVal="4=The quick brown fox jumps over the lazy dog"
+ target="english">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="4"/>
+</transition>
+
+<state id="english">
+ <transition conf:VarEqVar="4 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="spanish"
+ conf:idQuoteVal="5=El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro"
+ target="spanish">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="5"/>
+</transition>
+
+<state id="spanish">
+ <transition conf:VarEqVar="5 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="french"
+ conf:idQuoteVal="6=Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ"
+ target="french">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="6"/>
+</transition>
+
+<state id="french">
+ <transition conf:VarEqVar="6 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="gaelic"
+ conf:idQuoteVal="7=D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh"
+ target="gaelic">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="7"/>
+</transition>
+
+<state id="gaelic">
+ <transition conf:VarEqVar="7 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="hungarian"
+ conf:idQuoteVal="8=Árvíztűrő tükörfúrógép"
+ target="hungarian">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="8"/>
+</transition>
+
+<state id="hungarian">
+ <transition conf:VarEqVar="8 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="icelandic"
+ conf:idQuoteVal="9=Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa"
+ target="icelandic">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="9"/>
+</transition>
+
+<state id="icelandic">
+ <transition conf:VarEqVar="9 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="hiragana"
+ conf:idQuoteVal="10=いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす"
+ target="hiragana">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="10"/>
+</transition>
+
+<state id="hiragana">
+ <transition conf:VarEqVar="10 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="katakana"
+ conf:idQuoteVal="11=イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン"
+ target="katakana">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="11"/>
+</transition>
+
+<state id="katakana">
+ <transition conf:VarEqVar="11 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="hebrew"
+ conf:idQuoteVal="12=? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה"
+ target="hebrew">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="12"/>
+</transition>
+
+<state id="hebrew">
+ <transition conf:VarEqVar="12 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="polish"
+ conf:idQuoteVal="13=Pchnąć w tę łódź jeża lub ośm skrzyń fig"
+ target="polish">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="13"/>
+</transition>
+
+<state id="polish">
+ <transition conf:VarEqVar="13 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="russian"
+ conf:idQuoteVal="14=В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!"
+ target="russian">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="14"/>
+</transition>
+
+<state id="russian">
+ <transition conf:VarEqVar="14 Tmp" target="idle"/>
+ <transition conf:targetfail=""/>
+</state>
+
+<transition event="thai"
+ conf:idQuoteVal="15=เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ"
+ target="thai">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="15"/>
+</transition>
+
+<state id="thai">
+ <transition conf:VarEqVar="15 Tmp" target="idle"/>
<transition conf:targetfail=""/>
- </state>
+</state>
+
+<transition event="turkish"
+ conf:idQuoteVal="16=Pijamalı hasta, yağız şoföre çabucak güvendi"
+ target="turkish">
+ <assign conf:location="Tmp" conf:eventDataNamelistValue="16"/>
+</transition>
-<state id="s1">
- <transition conf:idQuoteVal="1=ü" conf:targetpass=""/>
+<state id="turkish">
+ <transition conf:VarEqVar="16 Tmp" target="idle"/>
<transition conf:targetfail=""/>
- </state>
+</state>
+
-
- <conf:pass/>
- <conf:fail/>
+<conf:pass/>
+<conf:fail/>
</scxml> \ No newline at end of file
diff --git a/test/w3c/convert-tests.sh b/test/w3c/convert-tests.sh
index cdbd872..40b72ec 100755
--- a/test/w3c/convert-tests.sh
+++ b/test/w3c/convert-tests.sh
@@ -161,7 +161,7 @@ for ENC in UTF-16 ISO-8859-1 WINDOWS-1252
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 sh -c 'iconv -c -f UTF-8 -t ${ENC} {} > $(dirname {})/test-enc-${ENC}.scxml' \;
find . -name "test-enc-${ENC}.tmp.scxml" -exec rm {} \;
done
diff --git a/test/w3c/ecma/test-enc-ISO-8859-1.scxml b/test/w3c/ecma/test-enc-ISO-8859-1.scxml
index 9b1851b..5376705 100644
--- a/test/w3c/ecma/test-enc-ISO-8859-1.scxml
+++ b/test/w3c/ecma/test-enc-ISO-8859-1.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="ecmascript">
<datamodel>
- <data id="Var1" expr="''"/>
- <data id="Var2" expr="''"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" expr="' '"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" expr="' '"/>
+ <data id="Var11" expr="' '"/>
+ <data id="Var12" expr="'? '"/>
+ <data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" expr="' ? , !'"/>
+ <data id="Var15" expr="' '"/>
+ <data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/ecma/test-enc-UTF-16.scxml b/test/w3c/ecma/test-enc-UTF-16.scxml
index c9d3180..52adbca 100644
--- a/test/w3c/ecma/test-enc-UTF-16.scxml
+++ b/test/w3c/ecma/test-enc-UTF-16.scxml
Binary files differ
diff --git a/test/w3c/ecma/test-enc-UTF8.scxml b/test/w3c/ecma/test-enc-UTF8.scxml
index b2fb878..2813fb0 100644
--- a/test/w3c/ecma/test-enc-UTF8.scxml
+++ b/test/w3c/ecma/test-enc-UTF8.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="ecmascript">
<datamodel>
- <data id="Var1" expr="'ü'"/>
- <data id="Var2" expr="'ü'"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'"/>
+ <data id="Var2" expr="'Heizölrückstoßabdämpfung'"/>
+ <data id="Var3" expr="'Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'"/>
+ <data id="Var7" expr="'D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'"/>
+ <data id="Var8" expr="'Árvíztűrő tükörfúrógép'"/>
+ <data id="Var9" expr="'Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'"/>
+ <data id="Var10" expr="'いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'"/>
+ <data id="Var11" expr="'イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'"/>
+ <data id="Var12" expr="'? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'"/>
+ <data id="Var13" expr="'Pchnąć w tę łódź jeża lub ośm skrzyń fig'"/>
+ <data id="Var14" expr="'В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'"/>
+ <data id="Var15" expr="'เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'"/>
+ <data id="Var16" expr="'Pijamalı hasta, yağız şoföre çabucak güvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizölrückstoßabdämpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3=='Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='Árvíztűrő tükörfúrógép'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10=='いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11=='イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchnąć w tę łódź jeża lub ośm skrzyń fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14=='В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15=='เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1=='ü'" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamalı hasta, yağız şoföre çabucak güvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/ecma/test-enc-WINDOWS-1252.scxml b/test/w3c/ecma/test-enc-WINDOWS-1252.scxml
index d21d265..8fea396 100644
--- a/test/w3c/ecma/test-enc-WINDOWS-1252.scxml
+++ b/test/w3c/ecma/test-enc-WINDOWS-1252.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="WINDOWS-1252"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="ecmascript">
<datamodel>
- <data id="Var1" expr="''"/>
- <data id="Var2" expr="''"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" expr="' '"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" expr="' '"/>
+ <data id="Var11" expr="' '"/>
+ <data id="Var12" expr="'? '"/>
+ <data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" expr="' ? , !'"/>
+ <data id="Var15" expr="' '"/>
+ <data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/jexl/test-enc-ISO-8859-1.scxml b/test/w3c/jexl/test-enc-ISO-8859-1.scxml
index be8ae35..3a07fba 100644
--- a/test/w3c/jexl/test-enc-ISO-8859-1.scxml
+++ b/test/w3c/jexl/test-enc-ISO-8859-1.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="jexl">
<datamodel>
- <data id="Var1" expr="''"/>
- <data id="Var2" expr="''"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" expr="' '"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" expr="' '"/>
+ <data id="Var11" expr="' '"/>
+ <data id="Var12" expr="'? '"/>
+ <data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" expr="' ? , !'"/>
+ <data id="Var15" expr="' '"/>
+ <data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/jexl/test-enc-UTF-16.scxml b/test/w3c/jexl/test-enc-UTF-16.scxml
index 1e439c0..9d9fabb 100644
--- a/test/w3c/jexl/test-enc-UTF-16.scxml
+++ b/test/w3c/jexl/test-enc-UTF-16.scxml
Binary files differ
diff --git a/test/w3c/jexl/test-enc-UTF8.scxml b/test/w3c/jexl/test-enc-UTF8.scxml
index 5b853ac..c0634ee 100644
--- a/test/w3c/jexl/test-enc-UTF8.scxml
+++ b/test/w3c/jexl/test-enc-UTF8.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="jexl">
<datamodel>
- <data id="Var1" expr="'ü'"/>
- <data id="Var2" expr="'ü'"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'"/>
+ <data id="Var2" expr="'Heizölrückstoßabdämpfung'"/>
+ <data id="Var3" expr="'Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'"/>
+ <data id="Var7" expr="'D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'"/>
+ <data id="Var8" expr="'Árvíztűrő tükörfúrógép'"/>
+ <data id="Var9" expr="'Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'"/>
+ <data id="Var10" expr="'いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'"/>
+ <data id="Var11" expr="'イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'"/>
+ <data id="Var12" expr="'? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'"/>
+ <data id="Var13" expr="'Pchnąć w tę łódź jeża lub ośm skrzyń fig'"/>
+ <data id="Var14" expr="'В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'"/>
+ <data id="Var15" expr="'เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'"/>
+ <data id="Var16" expr="'Pijamalı hasta, yağız şoföre çabucak güvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizölrückstoßabdämpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3=='Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='Árvíztűrő tükörfúrógép'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10=='いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11=='イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchnąć w tę łódź jeża lub ośm skrzyń fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14=='В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15=='เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1=='ü'" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamalı hasta, yağız şoföre çabucak güvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/jexl/test-enc-WINDOWS-1252.scxml b/test/w3c/jexl/test-enc-WINDOWS-1252.scxml
index ab2a45e..45ea2b0 100644
--- a/test/w3c/jexl/test-enc-WINDOWS-1252.scxml
+++ b/test/w3c/jexl/test-enc-WINDOWS-1252.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="WINDOWS-1252"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="jexl">
<datamodel>
- <data id="Var1" expr="''"/>
- <data id="Var2" expr="''"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" expr="' '"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" expr="' '"/>
+ <data id="Var11" expr="' '"/>
+ <data id="Var12" expr="'? '"/>
+ <data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" expr="' ? , !'"/>
+ <data id="Var15" expr="' '"/>
+ <data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1===Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final id="pass">
diff --git a/test/w3c/lua/test-enc-ISO-8859-1.scxml b/test/w3c/lua/test-enc-ISO-8859-1.scxml
index f5e53a7..696d056 100644
--- a/test/w3c/lua/test-enc-ISO-8859-1.scxml
+++ b/test/w3c/lua/test-enc-ISO-8859-1.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="lua">
<datamodel>
- <data id="Var1" expr="''"/>
- <data id="Var2" expr="''"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" expr="' '"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" expr="' '"/>
+ <data id="Var11" expr="' '"/>
+ <data id="Var12" expr="'? '"/>
+ <data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" expr="' ? , !'"/>
+ <data id="Var15" expr="' '"/>
+ <data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1==Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
diff --git a/test/w3c/lua/test-enc-UTF-16.scxml b/test/w3c/lua/test-enc-UTF-16.scxml
index 01ea8e6..3ac5e9d 100644
--- a/test/w3c/lua/test-enc-UTF-16.scxml
+++ b/test/w3c/lua/test-enc-UTF-16.scxml
Binary files differ
diff --git a/test/w3c/lua/test-enc-UTF8.scxml b/test/w3c/lua/test-enc-UTF8.scxml
index e85a511..1d227c9 100644
--- a/test/w3c/lua/test-enc-UTF8.scxml
+++ b/test/w3c/lua/test-enc-UTF8.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="lua">
<datamodel>
- <data id="Var1" expr="'ü'"/>
- <data id="Var2" expr="'ü'"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'"/>
+ <data id="Var2" expr="'Heizölrückstoßabdämpfung'"/>
+ <data id="Var3" expr="'Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'"/>
+ <data id="Var7" expr="'D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'"/>
+ <data id="Var8" expr="'Árvíztűrő tükörfúrógép'"/>
+ <data id="Var9" expr="'Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'"/>
+ <data id="Var10" expr="'いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'"/>
+ <data id="Var11" expr="'イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'"/>
+ <data id="Var12" expr="'? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'"/>
+ <data id="Var13" expr="'Pchnąć w tę łódź jeża lub ośm skrzyń fig'"/>
+ <data id="Var14" expr="'В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'"/>
+ <data id="Var15" expr="'เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'"/>
+ <data id="Var16" expr="'Pijamalı hasta, yağız şoföre çabucak güvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1==Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizölrückstoßabdämpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3=='Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='Árvíztűrő tükörfúrógép'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10=='いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11=='イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchnąć w tę łódź jeża lub ośm skrzyń fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14=='В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15=='เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1=='ü'" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamalı hasta, yağız şoföre çabucak güvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
diff --git a/test/w3c/lua/test-enc-WINDOWS-1252.scxml b/test/w3c/lua/test-enc-WINDOWS-1252.scxml
index 9f93f72..da2d734 100644
--- a/test/w3c/lua/test-enc-WINDOWS-1252.scxml
+++ b/test/w3c/lua/test-enc-WINDOWS-1252.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="WINDOWS-1252"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="lua">
<datamodel>
- <data id="Var1" expr="''"/>
- <data id="Var2" expr="''"/>
+ <data id="VarTmp"/>
+ <data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" expr="' '"/>
+ <data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" expr="' '"/>
+ <data id="Var11" expr="' '"/>
+ <data id="Var12" expr="'? '"/>
+ <data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" expr="' ? , !'"/>
+ <data id="Var15" expr="' '"/>
+ <data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1==Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
diff --git a/test/w3c/namespace/test-enc-ISO-8859-1.scxml b/test/w3c/namespace/test-enc-ISO-8859-1.scxml
index 4b815fa..1c71c0a 100644
--- a/test/w3c/namespace/test-enc-ISO-8859-1.scxml
+++ b/test/w3c/namespace/test-enc-ISO-8859-1.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<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="init" version="1.0" datamodel="ecmascript">
<scxml:datamodel>
- <scxml:data id="Var1" expr="''"/>
- <scxml:data id="Var2" expr="''"/>
+ <scxml:data id="VarTmp"/>
+ <scxml:data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <scxml:data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <scxml:data id="Var3" expr="' '"/>
+ <scxml:data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <scxml:data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <scxml:data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <scxml:data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <scxml:data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <scxml:data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <scxml:data id="Var10" expr="' '"/>
+ <scxml:data id="Var11" expr="' '"/>
+ <scxml:data id="Var12" expr="'? '"/>
+ <scxml:data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <scxml:data id="Var14" expr="' ? , !'"/>
+ <scxml:data id="Var15" expr="' '"/>
+ <scxml:data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</scxml:datamodel>
- <scxml:state id="s0">
- <scxml:transition cond="Var1===Var2" target="s1"/>
+ <scxml:state id="init">
+ <scxml:onentry>
+ <scxml:send event="danish" namelist="Var1"/>
+ <scxml:send event="german" namelist="Var2"/>
+ <scxml:send event="greek" namelist="Var3"/>
+ <scxml:send event="english" namelist="Var4"/>
+ <scxml:send event="spanish" namelist="Var5"/>
+ <scxml:send event="french" namelist="Var6"/>
+ <scxml:send event="gaelic" namelist="Var7"/>
+ <scxml:send event="hungarian" namelist="Var8"/>
+ <scxml:send event="icelandic" namelist="Var9"/>
+ <scxml:send event="hiragana" namelist="Var10"/>
+ <scxml:send event="katakana" namelist="Var11"/>
+ <scxml:send event="hebrew" namelist="Var12"/>
+ <scxml:send event="polish" namelist="Var13"/>
+ <scxml:send event="russian" namelist="Var14"/>
+ <scxml:send event="thai" namelist="Var15"/>
+ <scxml:send event="turkish" namelist="Var16"/>
+ <scxml:send event="done"/>
+ </scxml:onentry>
+ <scxml:transition target="idle"/>
+ </scxml:state>
+ <scxml:state id="idle"/>
+ <scxml:transition event="done" target="pass"/>
+ <scxml:transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var1"/>
+ </scxml:transition>
+ <scxml:state id="danish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <scxml:assign location="VarTmp" expr="_event.data.Var2"/>
+ </scxml:transition>
+ <scxml:state id="german">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="greek" cond="Var3==' '" target="greek">
+ <scxml:assign location="VarTmp" expr="_event.data.Var3"/>
+ </scxml:transition>
+ <scxml:state id="greek">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <scxml:assign location="VarTmp" expr="_event.data.Var4"/>
+ </scxml:transition>
+ <scxml:state id="english">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var5"/>
+ </scxml:transition>
+ <scxml:state id="spanish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <scxml:assign location="VarTmp" expr="_event.data.Var6"/>
+ </scxml:transition>
+ <scxml:state id="french">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <scxml:assign location="VarTmp" expr="_event.data.Var7"/>
+ </scxml:transition>
+ <scxml:state id="gaelic">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <scxml:assign location="VarTmp" expr="_event.data.Var8"/>
+ </scxml:transition>
+ <scxml:state id="hungarian">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <scxml:assign location="VarTmp" expr="_event.data.Var9"/>
+ </scxml:transition>
+ <scxml:state id="icelandic">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <scxml:assign location="VarTmp" expr="_event.data.Var10"/>
+ </scxml:transition>
+ <scxml:state id="hiragana">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="katakana" cond="Var11==' '" target="katakana">
+ <scxml:assign location="VarTmp" expr="_event.data.Var11"/>
+ </scxml:transition>
+ <scxml:state id="katakana">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <scxml:assign location="VarTmp" expr="_event.data.Var12"/>
+ </scxml:transition>
+ <scxml:state id="hebrew">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var13"/>
+ </scxml:transition>
+ <scxml:state id="polish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <scxml:assign location="VarTmp" expr="_event.data.Var14"/>
+ </scxml:transition>
+ <scxml:state id="russian">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="thai" cond="Var15==' '" target="thai">
+ <scxml:assign location="VarTmp" expr="_event.data.Var15"/>
+ </scxml:transition>
+ <scxml:state id="thai">
+ <scxml:transition cond="" target="idle"/>
<scxml:transition target="fail"/>
</scxml:state>
- <scxml:state id="s1">
- <scxml:transition cond="Var1==''" target="pass"/>
+ <scxml:transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var16"/>
+ </scxml:transition>
+ <scxml:state id="turkish">
+ <scxml:transition cond="" target="idle"/>
<scxml:transition target="fail"/>
</scxml:state>
<scxml:final id="pass">
diff --git a/test/w3c/namespace/test-enc-UTF-16.scxml b/test/w3c/namespace/test-enc-UTF-16.scxml
index 6bbcfa7..2635693 100644
--- a/test/w3c/namespace/test-enc-UTF-16.scxml
+++ b/test/w3c/namespace/test-enc-UTF-16.scxml
Binary files differ
diff --git a/test/w3c/namespace/test-enc-UTF8.scxml b/test/w3c/namespace/test-enc-UTF8.scxml
index b52857b..6c66038 100644
--- a/test/w3c/namespace/test-enc-UTF8.scxml
+++ b/test/w3c/namespace/test-enc-UTF8.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<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="init" version="1.0" datamodel="ecmascript">
<scxml:datamodel>
- <scxml:data id="Var1" expr="'ü'"/>
- <scxml:data id="Var2" expr="'ü'"/>
+ <scxml:data id="VarTmp"/>
+ <scxml:data id="Var1" expr="'Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'"/>
+ <scxml:data id="Var2" expr="'Heizölrückstoßabdämpfung'"/>
+ <scxml:data id="Var3" expr="'Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'"/>
+ <scxml:data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <scxml:data id="Var5" expr="'El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'"/>
+ <scxml:data id="Var6" expr="'Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'"/>
+ <scxml:data id="Var7" expr="'D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'"/>
+ <scxml:data id="Var8" expr="'Árvíztűrő tükörfúrógép'"/>
+ <scxml:data id="Var9" expr="'Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'"/>
+ <scxml:data id="Var10" expr="'いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'"/>
+ <scxml:data id="Var11" expr="'イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'"/>
+ <scxml:data id="Var12" expr="'? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'"/>
+ <scxml:data id="Var13" expr="'Pchnąć w tę łódź jeża lub ośm skrzyń fig'"/>
+ <scxml:data id="Var14" expr="'В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'"/>
+ <scxml:data id="Var15" expr="'เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'"/>
+ <scxml:data id="Var16" expr="'Pijamalı hasta, yağız şoföre çabucak güvendi'"/>
</scxml:datamodel>
- <scxml:state id="s0">
- <scxml:transition cond="Var1===Var2" target="s1"/>
+ <scxml:state id="init">
+ <scxml:onentry>
+ <scxml:send event="danish" namelist="Var1"/>
+ <scxml:send event="german" namelist="Var2"/>
+ <scxml:send event="greek" namelist="Var3"/>
+ <scxml:send event="english" namelist="Var4"/>
+ <scxml:send event="spanish" namelist="Var5"/>
+ <scxml:send event="french" namelist="Var6"/>
+ <scxml:send event="gaelic" namelist="Var7"/>
+ <scxml:send event="hungarian" namelist="Var8"/>
+ <scxml:send event="icelandic" namelist="Var9"/>
+ <scxml:send event="hiragana" namelist="Var10"/>
+ <scxml:send event="katakana" namelist="Var11"/>
+ <scxml:send event="hebrew" namelist="Var12"/>
+ <scxml:send event="polish" namelist="Var13"/>
+ <scxml:send event="russian" namelist="Var14"/>
+ <scxml:send event="thai" namelist="Var15"/>
+ <scxml:send event="turkish" namelist="Var16"/>
+ <scxml:send event="done"/>
+ </scxml:onentry>
+ <scxml:transition target="idle"/>
+ </scxml:state>
+ <scxml:state id="idle"/>
+ <scxml:transition event="done" target="pass"/>
+ <scxml:transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'" target="danish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var1"/>
+ </scxml:transition>
+ <scxml:state id="danish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="german" cond="Var2=='Heizölrückstoßabdämpfung'" target="german">
+ <scxml:assign location="VarTmp" expr="_event.data.Var2"/>
+ </scxml:transition>
+ <scxml:state id="german">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="greek" cond="Var3=='Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'" target="greek">
+ <scxml:assign location="VarTmp" expr="_event.data.Var3"/>
+ </scxml:transition>
+ <scxml:state id="greek">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <scxml:assign location="VarTmp" expr="_event.data.Var4"/>
+ </scxml:transition>
+ <scxml:state id="english">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="spanish" cond="Var5=='El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'" target="spanish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var5"/>
+ </scxml:transition>
+ <scxml:state id="spanish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="french" cond="Var6=='Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'" target="french">
+ <scxml:assign location="VarTmp" expr="_event.data.Var6"/>
+ </scxml:transition>
+ <scxml:state id="french">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="gaelic" cond="Var7=='D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'" target="gaelic">
+ <scxml:assign location="VarTmp" expr="_event.data.Var7"/>
+ </scxml:transition>
+ <scxml:state id="gaelic">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hungarian" cond="Var8=='Árvíztűrő tükörfúrógép'" target="hungarian">
+ <scxml:assign location="VarTmp" expr="_event.data.Var8"/>
+ </scxml:transition>
+ <scxml:state id="hungarian">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="icelandic" cond="Var9=='Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'" target="icelandic">
+ <scxml:assign location="VarTmp" expr="_event.data.Var9"/>
+ </scxml:transition>
+ <scxml:state id="icelandic">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hiragana" cond="Var10=='いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'" target="hiragana">
+ <scxml:assign location="VarTmp" expr="_event.data.Var10"/>
+ </scxml:transition>
+ <scxml:state id="hiragana">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="katakana" cond="Var11=='イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'" target="katakana">
+ <scxml:assign location="VarTmp" expr="_event.data.Var11"/>
+ </scxml:transition>
+ <scxml:state id="katakana">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hebrew" cond="Var12=='? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'" target="hebrew">
+ <scxml:assign location="VarTmp" expr="_event.data.Var12"/>
+ </scxml:transition>
+ <scxml:state id="hebrew">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="polish" cond="Var13=='Pchnąć w tę łódź jeża lub ośm skrzyń fig'" target="polish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var13"/>
+ </scxml:transition>
+ <scxml:state id="polish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="russian" cond="Var14=='В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'" target="russian">
+ <scxml:assign location="VarTmp" expr="_event.data.Var14"/>
+ </scxml:transition>
+ <scxml:state id="russian">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="thai" cond="Var15=='เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'" target="thai">
+ <scxml:assign location="VarTmp" expr="_event.data.Var15"/>
+ </scxml:transition>
+ <scxml:state id="thai">
+ <scxml:transition cond="" target="idle"/>
<scxml:transition target="fail"/>
</scxml:state>
- <scxml:state id="s1">
- <scxml:transition cond="Var1=='ü'" target="pass"/>
+ <scxml:transition event="turkish" cond="Var16=='Pijamalı hasta, yağız şoföre çabucak güvendi'" target="turkish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var16"/>
+ </scxml:transition>
+ <scxml:state id="turkish">
+ <scxml:transition cond="" target="idle"/>
<scxml:transition target="fail"/>
</scxml:state>
<scxml:final id="pass">
diff --git a/test/w3c/namespace/test-enc-WINDOWS-1252.scxml b/test/w3c/namespace/test-enc-WINDOWS-1252.scxml
index b0509c1..887b38d 100644
--- a/test/w3c/namespace/test-enc-WINDOWS-1252.scxml
+++ b/test/w3c/namespace/test-enc-WINDOWS-1252.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="WINDOWS-1252"?>
-<!-- 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">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<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="init" version="1.0" datamodel="ecmascript">
<scxml:datamodel>
- <scxml:data id="Var1" expr="''"/>
- <scxml:data id="Var2" expr="''"/>
+ <scxml:data id="VarTmp"/>
+ <scxml:data id="Var1" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <scxml:data id="Var2" expr="'Heizlrckstoabdmpfung'"/>
+ <scxml:data id="Var3" expr="' '"/>
+ <scxml:data id="Var4" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <scxml:data id="Var5" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <scxml:data id="Var6" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <scxml:data id="Var7" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <scxml:data id="Var8" expr="'rvztr tkrfrgp'"/>
+ <scxml:data id="Var9" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <scxml:data id="Var10" expr="' '"/>
+ <scxml:data id="Var11" expr="' '"/>
+ <scxml:data id="Var12" expr="'? '"/>
+ <scxml:data id="Var13" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <scxml:data id="Var14" expr="' ? , !'"/>
+ <scxml:data id="Var15" expr="' '"/>
+ <scxml:data id="Var16" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</scxml:datamodel>
- <scxml:state id="s0">
- <scxml:transition cond="Var1===Var2" target="s1"/>
+ <scxml:state id="init">
+ <scxml:onentry>
+ <scxml:send event="danish" namelist="Var1"/>
+ <scxml:send event="german" namelist="Var2"/>
+ <scxml:send event="greek" namelist="Var3"/>
+ <scxml:send event="english" namelist="Var4"/>
+ <scxml:send event="spanish" namelist="Var5"/>
+ <scxml:send event="french" namelist="Var6"/>
+ <scxml:send event="gaelic" namelist="Var7"/>
+ <scxml:send event="hungarian" namelist="Var8"/>
+ <scxml:send event="icelandic" namelist="Var9"/>
+ <scxml:send event="hiragana" namelist="Var10"/>
+ <scxml:send event="katakana" namelist="Var11"/>
+ <scxml:send event="hebrew" namelist="Var12"/>
+ <scxml:send event="polish" namelist="Var13"/>
+ <scxml:send event="russian" namelist="Var14"/>
+ <scxml:send event="thai" namelist="Var15"/>
+ <scxml:send event="turkish" namelist="Var16"/>
+ <scxml:send event="done"/>
+ </scxml:onentry>
+ <scxml:transition target="idle"/>
+ </scxml:state>
+ <scxml:state id="idle"/>
+ <scxml:transition event="done" target="pass"/>
+ <scxml:transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var1"/>
+ </scxml:transition>
+ <scxml:state id="danish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <scxml:assign location="VarTmp" expr="_event.data.Var2"/>
+ </scxml:transition>
+ <scxml:state id="german">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="greek" cond="Var3==' '" target="greek">
+ <scxml:assign location="VarTmp" expr="_event.data.Var3"/>
+ </scxml:transition>
+ <scxml:state id="greek">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <scxml:assign location="VarTmp" expr="_event.data.Var4"/>
+ </scxml:transition>
+ <scxml:state id="english">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var5"/>
+ </scxml:transition>
+ <scxml:state id="spanish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <scxml:assign location="VarTmp" expr="_event.data.Var6"/>
+ </scxml:transition>
+ <scxml:state id="french">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <scxml:assign location="VarTmp" expr="_event.data.Var7"/>
+ </scxml:transition>
+ <scxml:state id="gaelic">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <scxml:assign location="VarTmp" expr="_event.data.Var8"/>
+ </scxml:transition>
+ <scxml:state id="hungarian">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <scxml:assign location="VarTmp" expr="_event.data.Var9"/>
+ </scxml:transition>
+ <scxml:state id="icelandic">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <scxml:assign location="VarTmp" expr="_event.data.Var10"/>
+ </scxml:transition>
+ <scxml:state id="hiragana">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="katakana" cond="Var11==' '" target="katakana">
+ <scxml:assign location="VarTmp" expr="_event.data.Var11"/>
+ </scxml:transition>
+ <scxml:state id="katakana">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <scxml:assign location="VarTmp" expr="_event.data.Var12"/>
+ </scxml:transition>
+ <scxml:state id="hebrew">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var13"/>
+ </scxml:transition>
+ <scxml:state id="polish">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <scxml:assign location="VarTmp" expr="_event.data.Var14"/>
+ </scxml:transition>
+ <scxml:state id="russian">
+ <scxml:transition cond="" target="idle"/>
+ <scxml:transition target="fail"/>
+ </scxml:state>
+ <scxml:transition event="thai" cond="Var15==' '" target="thai">
+ <scxml:assign location="VarTmp" expr="_event.data.Var15"/>
+ </scxml:transition>
+ <scxml:state id="thai">
+ <scxml:transition cond="" target="idle"/>
<scxml:transition target="fail"/>
</scxml:state>
- <scxml:state id="s1">
- <scxml:transition cond="Var1==''" target="pass"/>
+ <scxml:transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <scxml:assign location="VarTmp" expr="_event.data.Var16"/>
+ </scxml:transition>
+ <scxml:state id="turkish">
+ <scxml:transition cond="" target="idle"/>
<scxml:transition target="fail"/>
</scxml:state>
<scxml:final id="pass">
diff --git a/test/w3c/promela/test-enc-ISO-8859-1.scxml b/test/w3c/promela/test-enc-ISO-8859-1.scxml
index c44f071..cf5b578 100644
--- a/test/w3c/promela/test-enc-ISO-8859-1.scxml
+++ b/test/w3c/promela/test-enc-ISO-8859-1.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 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="promela">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="promela">
<datamodel>
- <data id="Var1" type="string" expr="''"/>
- <data id="Var2" type="string" expr="''"/>
+ <data id="VarTmp" type="int"/>
+ <data id="Var1" type="string" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" type="string" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" type="string" expr="' '"/>
+ <data id="Var4" type="string" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" type="string" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" type="string" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" type="string" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" type="string" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" type="string" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" type="string" expr="' '"/>
+ <data id="Var11" type="string" expr="' '"/>
+ <data id="Var12" type="string" expr="'? '"/>
+ <data id="Var13" type="string" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" type="string" expr="' ? , !'"/>
+ <data id="Var15" type="string" expr="' '"/>
+ <data id="Var16" type="string" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1==Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
diff --git a/test/w3c/promela/test-enc-UTF-16.scxml b/test/w3c/promela/test-enc-UTF-16.scxml
index d02ab96..960c774 100644
--- a/test/w3c/promela/test-enc-UTF-16.scxml
+++ b/test/w3c/promela/test-enc-UTF-16.scxml
Binary files differ
diff --git a/test/w3c/promela/test-enc-WINDOWS-1252.scxml b/test/w3c/promela/test-enc-WINDOWS-1252.scxml
index 10c99f6..7222e3e 100644
--- a/test/w3c/promela/test-enc-WINDOWS-1252.scxml
+++ b/test/w3c/promela/test-enc-WINDOWS-1252.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="WINDOWS-1252"?>
-<!-- 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="promela">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="promela">
<datamodel>
- <data id="Var1" type="string" expr="''"/>
- <data id="Var2" type="string" expr="''"/>
+ <data id="VarTmp" type="int"/>
+ <data id="Var1" type="string" expr="'Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'"/>
+ <data id="Var2" type="string" expr="'Heizlrckstoabdmpfung'"/>
+ <data id="Var3" type="string" expr="' '"/>
+ <data id="Var4" type="string" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" type="string" expr="'El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'"/>
+ <data id="Var6" type="string" expr="'Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'"/>
+ <data id="Var7" type="string" expr="'D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'"/>
+ <data id="Var8" type="string" expr="'rvztr tkrfrgp'"/>
+ <data id="Var9" type="string" expr="'Kmi n xi hr ykist jfum n bi vl og drepa'"/>
+ <data id="Var10" type="string" expr="' '"/>
+ <data id="Var11" type="string" expr="' '"/>
+ <data id="Var12" type="string" expr="'? '"/>
+ <data id="Var13" type="string" expr="'Pchn w t d jea lub om skrzy fig'"/>
+ <data id="Var14" type="string" expr="' ? , !'"/>
+ <data id="Var15" type="string" expr="' '"/>
+ <data id="Var16" type="string" expr="'Pijamal hasta, yaz ofre abucak gvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1==Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbr med flde, mens cirkusklovnen Wolther spillede p xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizlrckstoabdmpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3==' '" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingino Wenceslao hizo kilmetros bajo exhaustiva lluvia y fro, aoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cur du mais l`me plutt nave, Lous rva de crapater en cano au del des les, prs du mlstrm o brlent les nov'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail osa, rmhac na highe Beannaithe, pr ava agus dhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='rvztr tkrfrgp'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kmi n xi hr ykist jfum n bi vl og drepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10==' '" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11==' '" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? '" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchn w t d jea lub om skrzy fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14==' ? , !'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15==' '" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1==''" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamal hasta, yaz ofre abucak gvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
diff --git a/test/w3c/promela/test-enc-utf8.scxml b/test/w3c/promela/test-enc-utf8.scxml
index 998a1d3..6f53766 100644
--- a/test/w3c/promela/test-enc-utf8.scxml
+++ b/test/w3c/promela/test-enc-utf8.scxml
@@ -1,16 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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="promela">
+<!-- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt -->
+<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="init" version="1.0" datamodel="promela">
<datamodel>
- <data id="Var1" type="string" expr="'ü'"/>
- <data id="Var2" type="string" expr="'ü'"/>
+ <data id="VarTmp" type="int"/>
+ <data id="Var1" type="string" expr="'Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'"/>
+ <data id="Var2" type="string" expr="'Heizölrückstoßabdämpfung'"/>
+ <data id="Var3" type="string" expr="'Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'"/>
+ <data id="Var4" type="string" expr="'The quick brown fox jumps over the lazy dog'"/>
+ <data id="Var5" type="string" expr="'El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'"/>
+ <data id="Var6" type="string" expr="'Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'"/>
+ <data id="Var7" type="string" expr="'D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'"/>
+ <data id="Var8" type="string" expr="'Árvíztűrő tükörfúrógép'"/>
+ <data id="Var9" type="string" expr="'Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'"/>
+ <data id="Var10" type="string" expr="'いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'"/>
+ <data id="Var11" type="string" expr="'イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'"/>
+ <data id="Var12" type="string" expr="'? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'"/>
+ <data id="Var13" type="string" expr="'Pchnąć w tę łódź jeża lub ośm skrzyń fig'"/>
+ <data id="Var14" type="string" expr="'В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'"/>
+ <data id="Var15" type="string" expr="'เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'"/>
+ <data id="Var16" type="string" expr="'Pijamalı hasta, yağız şoföre çabucak güvendi'"/>
</datamodel>
- <state id="s0">
- <transition cond="Var1==Var2" target="s1"/>
+ <state id="init">
+ <onentry>
+ <send event="danish" namelist="Var1"/>
+ <send event="german" namelist="Var2"/>
+ <send event="greek" namelist="Var3"/>
+ <send event="english" namelist="Var4"/>
+ <send event="spanish" namelist="Var5"/>
+ <send event="french" namelist="Var6"/>
+ <send event="gaelic" namelist="Var7"/>
+ <send event="hungarian" namelist="Var8"/>
+ <send event="icelandic" namelist="Var9"/>
+ <send event="hiragana" namelist="Var10"/>
+ <send event="katakana" namelist="Var11"/>
+ <send event="hebrew" namelist="Var12"/>
+ <send event="polish" namelist="Var13"/>
+ <send event="russian" namelist="Var14"/>
+ <send event="thai" namelist="Var15"/>
+ <send event="turkish" namelist="Var16"/>
+ <send event="done"/>
+ </onentry>
+ <transition target="idle"/>
+ </state>
+ <state id="idle"/>
+ <transition event="done" target="pass"/>
+ <transition event="danish" cond="Var1=='Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Wolther spillede på xylofon.'" target="danish">
+ <assign location="VarTmp" expr="_event.data.Var1"/>
+ </transition>
+ <state id="danish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="german" cond="Var2=='Heizölrückstoßabdämpfung'" target="german">
+ <assign location="VarTmp" expr="_event.data.Var2"/>
+ </transition>
+ <state id="german">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="greek" cond="Var3=='Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο'" target="greek">
+ <assign location="VarTmp" expr="_event.data.Var3"/>
+ </transition>
+ <state id="greek">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="english" cond="Var4=='The quick brown fox jumps over the lazy dog'" target="english">
+ <assign location="VarTmp" expr="_event.data.Var4"/>
+ </transition>
+ <state id="english">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="spanish" cond="Var5=='El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro'" target="spanish">
+ <assign location="VarTmp" expr="_event.data.Var5"/>
+ </transition>
+ <state id="spanish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="french" cond="Var6=='Le cœur déçu mais l`âme plutôt naïve, Louÿs rêva de crapaüter en canoë au delà des îles, près du mälström où brûlent les novæ'" target="french">
+ <assign location="VarTmp" expr="_event.data.Var6"/>
+ </transition>
+ <state id="french">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="gaelic" cond="Var7=='D`fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh'" target="gaelic">
+ <assign location="VarTmp" expr="_event.data.Var7"/>
+ </transition>
+ <state id="gaelic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hungarian" cond="Var8=='Árvíztűrő tükörfúrógép'" target="hungarian">
+ <assign location="VarTmp" expr="_event.data.Var8"/>
+ </transition>
+ <state id="hungarian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="icelandic" cond="Var9=='Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa'" target="icelandic">
+ <assign location="VarTmp" expr="_event.data.Var9"/>
+ </transition>
+ <state id="icelandic">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hiragana" cond="Var10=='いろはにほへとちりぬるを わかよたれそつねならむ うゐのおくやまけふこえて あさきゆめみしゑひもせす'" target="hiragana">
+ <assign location="VarTmp" expr="_event.data.Var10"/>
+ </transition>
+ <state id="hiragana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="katakana" cond="Var11=='イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン'" target="katakana">
+ <assign location="VarTmp" expr="_event.data.Var11"/>
+ </transition>
+ <state id="katakana">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="hebrew" cond="Var12=='? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה'" target="hebrew">
+ <assign location="VarTmp" expr="_event.data.Var12"/>
+ </transition>
+ <state id="hebrew">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="polish" cond="Var13=='Pchnąć w tę łódź jeża lub ośm skrzyń fig'" target="polish">
+ <assign location="VarTmp" expr="_event.data.Var13"/>
+ </transition>
+ <state id="polish">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="russian" cond="Var14=='В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!'" target="russian">
+ <assign location="VarTmp" expr="_event.data.Var14"/>
+ </transition>
+ <state id="russian">
+ <transition cond="" target="idle"/>
+ <transition target="fail"/>
+ </state>
+ <transition event="thai" cond="Var15=='เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ'" target="thai">
+ <assign location="VarTmp" expr="_event.data.Var15"/>
+ </transition>
+ <state id="thai">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
- <state id="s1">
- <transition cond="Var1=='ü'" target="pass"/>
+ <transition event="turkish" cond="Var16=='Pijamalı hasta, yağız şoföre çabucak güvendi'" target="turkish">
+ <assign location="VarTmp" expr="_event.data.Var16"/>
+ </transition>
+ <state id="turkish">
+ <transition cond="" target="idle"/>
<transition target="fail"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">