Merge pull request from rschamp/fix-filter-tests

Update tests to account for custom categories
This commit is contained in:
Ray Schamp 2017-03-01 13:01:12 -05:00 committed by GitHub
commit ba00db897f
2 changed files with 113 additions and 118 deletions

View file

@ -724,120 +724,115 @@ var categories = '<xml id="toolbox-categories" style="display: none">' +
'</category>' + '</category>' +
'<category name="More Blocks" colour="#FF6680" secondaryColour="#FF3355" custom="PROCEDURE"></category>' + '<category name="More Blocks" colour="#FF6680" secondaryColour="#FF3355" custom="PROCEDURE"></category>' +
'</xml>'; '</xml>';
var simple = '<?xml version="1.0" encoding="UTF-8" standalone="no" ?><xml id="toolbox-simple" style="display: none">' + var simple = '<xml id="toolbox-simple" style="display: none">' +
' <block type="operator_random">' + '<block type="motion_movesteps">' +
' <value name="FROM">' + '<value name="STEPS">' +
' <shadow type="math_number">' + '<shadow type="math_number">' +
' <field name="NUM">1</field>' + '<field name="NUM">10</field>' +
' </shadow>' + '</shadow>' +
' </value>' + '</value>' +
' <value name="TO">' + '</block>' +
' <shadow type="math_number">' + '<block type="motion_turnright">' +
' <field name="NUM">10</field>' + '<value name="DEGREES">' +
' </shadow>' + '<shadow type="math_number">' +
' </value>' + '<field name="NUM">15</field>' +
' </block>' + '</shadow>' +
' <block type="operator_lt">' + '</value>' +
' <value name="OPERAND1">' + '</block>' +
' <shadow type="text">' + '<block type="motion_turnleft">' +
' <field name="TEXT"></field>' + '<value name="DEGREES">' +
' </shadow>' + '<shadow type="math_number">' +
' </value>' + '<field name="NUM">15</field>' +
' <value name="OPERAND2">' + '</shadow>' +
' <shadow type="text">' + '</value>' +
' <field name="TEXT"></field>' + '</block>' +
' </shadow>' + '<block type="motion_pointindirection">' +
' </value>' + '<value name="DIRECTION">' +
' </block>' + '<shadow type="math_angle">' +
' <block type="operator_equals">' + '<field name="NUM">90</field>' +
' <value name="OPERAND1">' + '</shadow>' +
' <shadow type="text">' + '</value>' +
' <field name="TEXT"></field>' + '</block>' +
' </shadow>' + '<block type="motion_pointtowards">' +
' </value>' + '<value name="TOWARDS">' +
' <value name="OPERAND2">' + '<shadow type="motion_pointtowards_menu">' +
' <shadow type="text">' + '</shadow>' +
' <field name="TEXT"></field>' + '</value>' +
' </shadow>' + '</block>' +
' </value>' + '<block type="motion_gotoxy">' +
' </block>' + '<value name="X">' +
' <block type="operator_gt">' + '<shadow type="math_number">' +
' <value name="OPERAND1">' + '<field name="NUM">0</field>' +
' <shadow type="text">' + '</shadow>' +
' <field name="TEXT"></field>' + '</value>' +
' </shadow>' + '<value name="Y">' +
' </value>' + '<shadow type="math_number">' +
' <value name="OPERAND2">' + '<field name="NUM">0</field>' +
' <shadow type="text">' + '</shadow>' +
' <field name="TEXT"></field>' + '</value>' +
' </shadow>' + '</block>' +
' </value>' + '<block type="motion_goto">' +
' </block>' + '<value name="TO">' +
' <block type="operator_and"></block>' + '<shadow type="motion_goto_menu">' +
' <block type="operator_or"></block>' + '</shadow>' +
' <block type="operator_not"></block>' + '</value>' +
' <block type="operator_join">' + '</block>' +
' <value name="STRING1">' + '<block type="motion_glidesecstoxy">' +
' <shadow type="text">' + '<value name="SECS">' +
' <field name="TEXT">hello</field>' + '<shadow type="math_number">' +
' </shadow>' + '<field name="NUM">1</field>' +
' </value>' + '</shadow>' +
' <value name="STRING2">' + '</value>' +
' <shadow type="text">' + '<value name="X">' +
' <field name="TEXT">world</field>' + '<shadow type="math_number">' +
' </shadow>' + '<field name="NUM">0</field>' +
' </value>' + '</shadow>' +
' </block>' + '</value>' +
' <block type="operator_letter_of">' + '<value name="Y">' +
' <value name="LETTER">' + '<shadow type="math_number">' +
' <shadow type="math_whole_number">' + '<field name="NUM">0</field>' +
' <field name="NUM">1</field>' + '</shadow>' +
' </shadow>' + '</value>' +
' </value>' + '</block>' +
' <value name="STRING">' + '<block type="motion_changexby">' +
' <shadow type="text">' + '<value name="DX">' +
' <field name="TEXT">world</field>' + '<shadow type="math_number">' +
' </shadow>' + '<field name="NUM">10</field>' +
' </value>' + '</shadow>' +
' </block>' + '</value>' +
' <block type="operator_length">' + '</block>' +
' <value name="STRING">' + '<block type="motion_setx">' +
' <shadow type="text">' + '<value name="X">' +
' <field name="TEXT">world</field>' + '<shadow type="math_number">' +
' </shadow>' + '<field name="NUM">0</field>' +
' </value>' + '</shadow>' +
' </block>' + '</value>' +
' <block type="operator_mod">' + '</block>' +
' <value name="NUM1">' + '<block type="motion_changeyby">' +
' <shadow type="math_number">' + '<value name="DY">' +
' <field name="NUM"></field>' + '<shadow type="math_number">' +
' </shadow>' + '<field name="NUM">10</field>' +
' </value>' + '</shadow>' +
' <value name="NUM2">' + '</value>' +
' <shadow type="math_number">' + '</block>' +
' <field name="NUM"></field>' + '<block type="motion_sety">' +
' </shadow>' + '<value name="Y">' +
' </value>' + '<shadow type="math_number">' +
' </block>' + '<field name="NUM">0</field>' +
' <block type="operator_round">' + '</shadow>' +
' <value name="NUM">' + '</value>' +
' <shadow type="math_number">' + '</block>' +
' <field name="NUM"></field>' + '<block type="motion_ifonedgebounce"></block>' +
' </shadow>' + '<block type="motion_setrotationstyle">' +
' </value>' + '<value name="STYLE">' +
' </block>' + '<shadow type="motion_setrotationstyle_menu"></shadow>' +
' <block type="operator_mathop">' + '</value>' +
' <value name="OPERATOR">' + '</block>' +
' <shadow type="operator_mathop_menu"></shadow>' + '<block type="motion_xposition"></block>' +
' </value>' + '<block type="motion_yposition"></block>' +
' <value name="NUM">' + '<block type="motion_direction"></block>' +
' <shadow type="math_number">' + '</xml>';
' <field name="NUM"></field>' + var empty = '<xml id="toolbox-simple" style="display: none"></xml>';
' </shadow>' +
' </value>' +
' </block>' +
'</xml>';
var empty = '<?xml version="1.0" encoding="UTF-8" standalone="no" ?><xml id="toolbox-simple" style="display: none"></xml>';
module.exports = { module.exports = {
categories: jsdom(categories).body.firstElementChild, categories: jsdom(categories).body.firstElementChild,
simple: jsdom(simple).body.firstElementChild, simple: jsdom(simple).body.firstElementChild,

View file

@ -3,20 +3,20 @@ var test = require('tap').test;
var filterToolbox = require('../../src/util/filter-toolbox'); var filterToolbox = require('../../src/util/filter-toolbox');
test('categories', function (t) { test('categories', function (t) {
var filteredToolbox = filterToolbox(toolboxes.categories, ['operator_random']); var filteredToolbox = filterToolbox(toolboxes.categories, ['motion_movesteps']);
t.strictEqual(filteredToolbox.children.length, 1); t.strictEqual(filteredToolbox.children.length, 3);
t.strictEqual(filteredToolbox.firstElementChild.children.length, 1); t.strictEqual(filteredToolbox.firstElementChild.children.length, 1);
t.end(); t.end();
}); });
test('simple', function (t) { test('simple', function (t) {
var filteredToolbox = filterToolbox(toolboxes.simple, ['operator_random']); var filteredToolbox = filterToolbox(toolboxes.simple, ['motion_movesteps']);
t.strictEqual(filteredToolbox.children.length, 1); t.strictEqual(filteredToolbox.children.length, 1);
t.end(); t.end();
}); });
test('empty', function (t) { test('empty', function (t) {
var filteredToolbox = filterToolbox(toolboxes.empty, ['operator_random']); var filteredToolbox = filterToolbox(toolboxes.empty, ['motion_movesteps']);
t.strictEqual(filteredToolbox.children.length, 0); t.strictEqual(filteredToolbox.children.length, 0);
t.end(); t.end();
}); });