summaryrefslogtreecommitdiff
path: root/blockly/tests/generators/loops1.xml
diff options
context:
space:
mode:
Diffstat (limited to 'blockly/tests/generators/loops1.xml')
-rw-r--r--blockly/tests/generators/loops1.xml291
1 files changed, 291 insertions, 0 deletions
diff --git a/blockly/tests/generators/loops1.xml b/blockly/tests/generators/loops1.xml
new file mode 100644
index 0000000..7cdff07
--- /dev/null
+++ b/blockly/tests/generators/loops1.xml
@@ -0,0 +1,291 @@
+<xml xmlns="http://www.w3.org/1999/xhtml">
+ <block type="unittest_main" x="33" y="140">
+ <statement name="DO">
+ <block type="procedures_callnoreturn">
+ <mutation name="test repeat"></mutation>
+ <next>
+ <block type="procedures_callnoreturn">
+ <mutation name="test while"></mutation>
+ <next>
+ <block type="procedures_callnoreturn">
+ <mutation name="test foreach"></mutation>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </statement>
+ </block>
+ <block type="procedures_defnoreturn" x="31" y="296">
+ <mutation></mutation>
+ <field name="NAME">test foreach</field>
+ <statement name="STACK">
+ <block type="variables_set" inline="false">
+ <field name="VAR">log</field>
+ <value name="VALUE">
+ <block type="text">
+ <field name="TEXT"></field>
+ </block>
+ </value>
+ <next>
+ <block type="controls_forEach" inline="false">
+ <field name="VAR">x</field>
+ <value name="LIST">
+ <block type="lists_create_with" inline="false">
+ <mutation items="3"></mutation>
+ <value name="ADD0">
+ <block type="text">
+ <field name="TEXT">a</field>
+ </block>
+ </value>
+ <value name="ADD1">
+ <block type="text">
+ <field name="TEXT">b</field>
+ </block>
+ </value>
+ <value name="ADD2">
+ <block type="text">
+ <field name="TEXT">c</field>
+ </block>
+ </value>
+ </block>
+ </value>
+ <statement name="DO">
+ <block type="text_append" inline="false">
+ <field name="VAR">log</field>
+ <value name="TEXT">
+ <block type="variables_get">
+ <field name="VAR">x</field>
+ </block>
+ </value>
+ </block>
+ </statement>
+ <next>
+ <block type="unittest_assertequals" inline="false">
+ <value name="MESSAGE">
+ <block type="text">
+ <field name="TEXT">for loop</field>
+ </block>
+ </value>
+ <value name="ACTUAL">
+ <block type="variables_get">
+ <field name="VAR">log</field>
+ </block>
+ </value>
+ <value name="EXPECTED">
+ <block type="text">
+ <field name="TEXT">abc</field>
+ </block>
+ </value>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </statement>
+ </block>
+ <block type="procedures_defnoreturn" x="30" y="624">
+ <mutation></mutation>
+ <field name="NAME">test while</field>
+ <statement name="STACK">
+ <block type="controls_whileUntil" inline="false">
+ <field name="MODE">WHILE</field>
+ <value name="BOOL">
+ <block type="logic_boolean">
+ <field name="BOOL">FALSE</field>
+ </block>
+ </value>
+ <statement name="DO">
+ <block type="unittest_fail">
+ <field name="MESSAGE">while 0</field>
+ </block>
+ </statement>
+ <next>
+ <block type="controls_whileUntil" inline="false">
+ <field name="MODE">UNTIL</field>
+ <value name="BOOL">
+ <block type="logic_boolean">
+ <field name="BOOL">TRUE</field>
+ </block>
+ </value>
+ <statement name="DO">
+ <block type="unittest_fail">
+ <field name="MESSAGE">until 0</field>
+ </block>
+ </statement>
+ <next>
+ <block type="variables_set" inline="false">
+ <field name="VAR">count</field>
+ <value name="VALUE">
+ <block type="math_number">
+ <field name="NUM">1</field>
+ </block>
+ </value>
+ <next>
+ <block type="controls_whileUntil" inline="false">
+ <field name="MODE">WHILE</field>
+ <value name="BOOL">
+ <block type="logic_compare">
+ <field name="OP">NEQ</field>
+ <value name="A">
+ <block type="variables_get">
+ <field name="VAR">count</field>
+ </block>
+ </value>
+ <value name="B">
+ <block type="math_number">
+ <field name="NUM">10</field>
+ </block>
+ </value>
+ </block>
+ </value>
+ <statement name="DO">
+ <block type="math_change" inline="false">
+ <field name="VAR">count</field>
+ <value name="DELTA">
+ <block type="math_number">
+ <field name="NUM">1</field>
+ </block>
+ </value>
+ </block>
+ </statement>
+ <next>
+ <block type="unittest_assertequals" inline="false">
+ <value name="MESSAGE">
+ <block type="text">
+ <field name="TEXT">while 10</field>
+ </block>
+ </value>
+ <value name="ACTUAL">
+ <block type="variables_get">
+ <field name="VAR">count</field>
+ </block>
+ </value>
+ <value name="EXPECTED">
+ <block type="math_number">
+ <field name="NUM">10</field>
+ </block>
+ </value>
+ <next>
+ <block type="variables_set" inline="false">
+ <field name="VAR">count</field>
+ <value name="VALUE">
+ <block type="math_number">
+ <field name="NUM">1</field>
+ </block>
+ </value>
+ <next>
+ <block type="controls_whileUntil" inline="false">
+ <field name="MODE">UNTIL</field>
+ <value name="BOOL">
+ <block type="logic_compare">
+ <field name="OP">EQ</field>
+ <value name="A">
+ <block type="variables_get">
+ <field name="VAR">count</field>
+ </block>
+ </value>
+ <value name="B">
+ <block type="math_number">
+ <field name="NUM">10</field>
+ </block>
+ </value>
+ </block>
+ </value>
+ <statement name="DO">
+ <block type="math_change" inline="false">
+ <field name="VAR">count</field>
+ <value name="DELTA">
+ <block type="math_number">
+ <field name="NUM">1</field>
+ </block>
+ </value>
+ </block>
+ </statement>
+ <next>
+ <block type="unittest_assertequals" inline="false">
+ <value name="MESSAGE">
+ <block type="text">
+ <field name="TEXT">until 10</field>
+ </block>
+ </value>
+ <value name="ACTUAL">
+ <block type="variables_get">
+ <field name="VAR">count</field>
+ </block>
+ </value>
+ <value name="EXPECTED">
+ <block type="math_number">
+ <field name="NUM">10</field>
+ </block>
+ </value>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </statement>
+ </block>
+ <block type="procedures_defnoreturn" x="397" y="628">
+ <mutation></mutation>
+ <field name="NAME">test repeat</field>
+ <statement name="STACK">
+ <block type="variables_set" inline="false">
+ <field name="VAR">count</field>
+ <value name="VALUE">
+ <block type="math_number">
+ <field name="NUM">0</field>
+ </block>
+ </value>
+ <next>
+ <block type="controls_repeat_ext" inline="true">
+ <value name="TIMES">
+ <block type="math_number">
+ <field name="NUM">10</field>
+ </block>
+ </value>
+ <statement name="DO">
+ <block type="math_change" inline="false">
+ <field name="VAR">count</field>
+ <value name="DELTA">
+ <block type="math_number">
+ <field name="NUM">1</field>
+ </block>
+ </value>
+ </block>
+ </statement>
+ <next>
+ <block type="unittest_assertequals" inline="false">
+ <value name="MESSAGE">
+ <block type="text">
+ <field name="TEXT">repeat 10</field>
+ </block>
+ </value>
+ <value name="ACTUAL">
+ <block type="variables_get">
+ <field name="VAR">count</field>
+ </block>
+ </value>
+ <value name="EXPECTED">
+ <block type="math_number">
+ <field name="NUM">10</field>
+ </block>
+ </value>
+ </block>
+ </next>
+ </block>
+ </next>
+ </block>
+ </statement>
+ </block>
+</xml>