mirror of
https://github.com/google/blockly.git
synced 2026-01-09 01:50:11 +01:00
705 lines
39 KiB
XML
705 lines
39 KiB
XML
<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="600" y="300">
|
|
<mutation></mutation>
|
|
<title name="NAME">test break</title>
|
|
<statement name="STACK">
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="VALUE">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_whileUntil" inline="false">
|
|
<title name="MODE">WHILE</title>
|
|
<value name="BOOL">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">NEQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">10</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">BREAK</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="math_change" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="DELTA">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">while break</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="VALUE">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_whileUntil" inline="false">
|
|
<title name="MODE">UNTIL</title>
|
|
<value name="BOOL">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">10</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">BREAK</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="math_change" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="DELTA">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">until break</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="VALUE">
|
|
<block type="text">
|
|
<title name="TEXT"></title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_for" inline="true">
|
|
<title name="VAR">x</title>
|
|
<value name="FROM">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
<value name="TO">
|
|
<block type="math_number">
|
|
<title name="NUM">8</title>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">BREAK</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="text_append" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="TEXT">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">count break</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">log</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="text">
|
|
<title name="TEXT">1234</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="VALUE">
|
|
<block type="text">
|
|
<title name="TEXT"></title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_forEach" inline="false">
|
|
<title name="VAR">x</title>
|
|
<value name="LIST">
|
|
<block type="lists_create_with" inline="false">
|
|
<mutation items="4"></mutation>
|
|
<value name="ADD0">
|
|
<block type="text">
|
|
<title name="TEXT">a</title>
|
|
</block>
|
|
</value>
|
|
<value name="ADD1">
|
|
<block type="text">
|
|
<title name="TEXT">b</title>
|
|
</block>
|
|
</value>
|
|
<value name="ADD2">
|
|
<block type="text">
|
|
<title name="TEXT">c</title>
|
|
</block>
|
|
</value>
|
|
<value name="ADD3">
|
|
<block type="text">
|
|
<title name="TEXT">d</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="text">
|
|
<title name="TEXT">c</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">BREAK</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="text_append" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="TEXT">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">for break</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">log</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="text">
|
|
<title name="TEXT">ab</title>
|
|
</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>
|
|
<block type="procedures_defnoreturn" x="13" y="300">
|
|
<mutation></mutation>
|
|
<title name="NAME">test continue</title>
|
|
<statement name="STACK">
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="VALUE">
|
|
<block type="text">
|
|
<title name="TEXT"></title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="VALUE">
|
|
<block type="math_number">
|
|
<title name="NUM">0</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_whileUntil" inline="false">
|
|
<title name="MODE">WHILE</title>
|
|
<value name="BOOL">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">NEQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">8</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="math_change" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="DELTA">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">CONTINUE</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="text_append" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="TEXT">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">while continue</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">log</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="text">
|
|
<title name="TEXT">1234678</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="VALUE">
|
|
<block type="text">
|
|
<title name="TEXT"></title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="VALUE">
|
|
<block type="math_number">
|
|
<title name="NUM">0</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_whileUntil" inline="false">
|
|
<title name="MODE">UNTIL</title>
|
|
<value name="BOOL">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">8</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="math_change" inline="false">
|
|
<title name="VAR">count</title>
|
|
<value name="DELTA">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">CONTINUE</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="text_append" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="TEXT">
|
|
<block type="variables_get">
|
|
<title name="VAR">count</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">until continue</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">log</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="text">
|
|
<title name="TEXT">1234678</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="VALUE">
|
|
<block type="text">
|
|
<title name="TEXT"></title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_for" inline="true">
|
|
<title name="VAR">x</title>
|
|
<value name="FROM">
|
|
<block type="math_number">
|
|
<title name="NUM">1</title>
|
|
</block>
|
|
</value>
|
|
<value name="TO">
|
|
<block type="math_number">
|
|
<title name="NUM">8</title>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="math_number">
|
|
<title name="NUM">5</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">CONTINUE</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="text_append" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="TEXT">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">count continue</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">log</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="text">
|
|
<title name="TEXT">1234678</title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="variables_set" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="VALUE">
|
|
<block type="text">
|
|
<title name="TEXT"></title>
|
|
</block>
|
|
</value>
|
|
<next>
|
|
<block type="controls_forEach" inline="false">
|
|
<title name="VAR">x</title>
|
|
<value name="LIST">
|
|
<block type="lists_create_with" inline="false">
|
|
<mutation items="4"></mutation>
|
|
<value name="ADD0">
|
|
<block type="text">
|
|
<title name="TEXT">a</title>
|
|
</block>
|
|
</value>
|
|
<value name="ADD1">
|
|
<block type="text">
|
|
<title name="TEXT">b</title>
|
|
</block>
|
|
</value>
|
|
<value name="ADD2">
|
|
<block type="text">
|
|
<title name="TEXT">c</title>
|
|
</block>
|
|
</value>
|
|
<value name="ADD3">
|
|
<block type="text">
|
|
<title name="TEXT">d</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO">
|
|
<block type="controls_if" inline="false">
|
|
<value name="IF0">
|
|
<block type="logic_compare" inline="true">
|
|
<title name="OP">EQ</title>
|
|
<value name="A">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
<value name="B">
|
|
<block type="text">
|
|
<title name="TEXT">c</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</value>
|
|
<statement name="DO0">
|
|
<block type="controls_flow_statements">
|
|
<title name="FLOW">CONTINUE</title>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="text_append" inline="false">
|
|
<title name="VAR">log</title>
|
|
<value name="TEXT">
|
|
<block type="variables_get">
|
|
<title name="VAR">x</title>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
<next>
|
|
<block type="unittest_assertequals" inline="false">
|
|
<title name="MESSAGE">for continue</title>
|
|
<value name="ACTUAL">
|
|
<block type="variables_get">
|
|
<title name="VAR">log</title>
|
|
</block>
|
|
</value>
|
|
<value name="EXPECTED">
|
|
<block type="text">
|
|
<title name="TEXT">abd</title>
|
|
</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>
|
|
</xml>
|