diff options
Diffstat (limited to 'blockly/tests/generators/loops3.xml')
-rw-r--r-- | blockly/tests/generators/loops3.xml | 734 |
1 files changed, 734 insertions, 0 deletions
diff --git a/blockly/tests/generators/loops3.xml b/blockly/tests/generators/loops3.xml new file mode 100644 index 0000000..508b887 --- /dev/null +++ b/blockly/tests/generators/loops3.xml @@ -0,0 +1,734 @@ +<xml xmlns="http://www.w3.org/1999/xhtml"> + <block type="unittest_main" x="19" y="106"> + <statement name="DO"> + <block type="procedures_callnoreturn"> + <mutation name="test break"></mutation> + <next> + <block type="procedures_callnoreturn"> + <mutation name="test continue"></mutation> + </block> + </next> + </block> + </statement> + </block> + <block type="procedures_defnoreturn" x="13" y="300"> + <field name="NAME">test continue</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="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_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">8</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> + <next> + <block type="controls_if" inline="false"> + <value name="IF0"> + <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">5</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">CONTINUE</field> + </block> + </statement> + <next> + <block type="text_append" inline="false"> + <field name="VAR">log</field> + <value name="TEXT"> + <block type="variables_get"> + <field name="VAR">count</field> + </block> + </value> + </block> + </next> + </block> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">while continue</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">1234678</field> + </block> + </value> + <next> + <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="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_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">8</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> + <next> + <block type="controls_if" inline="false"> + <value name="IF0"> + <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">5</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">CONTINUE</field> + </block> + </statement> + <next> + <block type="text_append" inline="false"> + <field name="VAR">log</field> + <value name="TEXT"> + <block type="variables_get"> + <field name="VAR">count</field> + </block> + </value> + </block> + </next> + </block> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">until continue</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">1234678</field> + </block> + </value> + <next> + <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_for"> + <field name="VAR">x</field> + <value name="FROM"> + <block type="math_number"> + <field name="NUM">1</field> + </block> + </value> + <value name="TO"> + <block type="math_number"> + <field name="NUM">8</field> + </block> + </value> + <statement name="DO"> + <block type="controls_if" inline="false"> + <value name="IF0"> + <block type="logic_compare"> + <field name="OP">EQ</field> + <value name="A"> + <block type="variables_get"> + <field name="VAR">x</field> + </block> + </value> + <value name="B"> + <block type="math_number"> + <field name="NUM">5</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">CONTINUE</field> + </block> + </statement> + <next> + <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> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">count continue</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">1234678</field> + </block> + </value> + <next> + <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="4"></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> + <value name="ADD3"> + <block type="text"> + <field name="TEXT">d</field> + </block> + </value> + </block> + </value> + <statement name="DO"> + <block type="controls_if" inline="false"> + <value name="IF0"> + <block type="logic_compare"> + <field name="OP">EQ</field> + <value name="A"> + <block type="variables_get"> + <field name="VAR">x</field> + </block> + </value> + <value name="B"> + <block type="text"> + <field name="TEXT">c</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">CONTINUE</field> + </block> + </statement> + <next> + <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> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">for continue</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">abd</field> + </block> + </value> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </statement> + </block> + <block type="procedures_defnoreturn" x="600" y="300"> + <field name="NAME">test break</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">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="controls_if" inline="false"> + <value name="IF0"> + <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">5</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">BREAK</field> + </block> + </statement> + <next> + <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> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">while break</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">5</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="controls_if" inline="false"> + <value name="IF0"> + <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">5</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">BREAK</field> + </block> + </statement> + <next> + <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> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">until break</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">5</field> + </block> + </value> + <next> + <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_for"> + <field name="VAR">x</field> + <value name="FROM"> + <block type="math_number"> + <field name="NUM">1</field> + </block> + </value> + <value name="TO"> + <block type="math_number"> + <field name="NUM">8</field> + </block> + </value> + <statement name="DO"> + <block type="controls_if" inline="false"> + <value name="IF0"> + <block type="logic_compare"> + <field name="OP">EQ</field> + <value name="A"> + <block type="variables_get"> + <field name="VAR">x</field> + </block> + </value> + <value name="B"> + <block type="math_number"> + <field name="NUM">5</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">BREAK</field> + </block> + </statement> + <next> + <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> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">count break</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">1234</field> + </block> + </value> + <next> + <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="4"></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> + <value name="ADD3"> + <block type="text"> + <field name="TEXT">d</field> + </block> + </value> + </block> + </value> + <statement name="DO"> + <block type="controls_if" inline="false"> + <value name="IF0"> + <block type="logic_compare"> + <field name="OP">EQ</field> + <value name="A"> + <block type="variables_get"> + <field name="VAR">x</field> + </block> + </value> + <value name="B"> + <block type="text"> + <field name="TEXT">c</field> + </block> + </value> + </block> + </value> + <statement name="DO0"> + <block type="controls_flow_statements"> + <field name="FLOW">BREAK</field> + </block> + </statement> + <next> + <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> + </next> + </block> + </statement> + <next> + <block type="unittest_assertequals" inline="false"> + <value name="MESSAGE"> + <block type="text"> + <field name="TEXT">for break</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">ab</field> + </block> + </value> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </next> + </block> + </statement> + </block> +</xml> |