Update FieldCheckbox and FieldColour setValue tests (#4332)

* update FieldCheckbox setValue tests

* update FieldColout setValue tests
This commit is contained in:
Monica Kozbial
2020-09-29 10:09:05 -07:00
committed by GitHub
parent 76fabc91f7
commit dec7463a49
2 changed files with 29 additions and 112 deletions

View File

@@ -30,10 +30,14 @@ suite('Checkbox Fields', function() {
* @type {!Array<!FieldCreationTestCase>}
*/
var validValueTestCases = [
{title: 'Boolean true', value: true, expectedValue: 'TRUE'},
{title: 'Boolean false', value: false, expectedValue: 'FALSE'},
{title: 'String TRUE', value: 'TRUE', expectedValue: 'TRUE'},
{title: 'String FALSE', value: 'FALSE', expectedValue: 'FALSE'},
{title: 'Boolean true', value: true, expectedValue: 'TRUE',
expectedText: 'true'},
{title: 'Boolean false', value: false, expectedValue: 'FALSE',
expectedText: 'false'},
{title: 'String TRUE', value: 'TRUE', expectedValue: 'TRUE',
expectedText: 'true'},
{title: 'String FALSE', value: 'FALSE', expectedValue: 'FALSE',
expectedText: 'false'},
];
var addArgsAndJson = function(testCase) {
testCase.args = [testCase.value];
@@ -72,54 +76,21 @@ suite('Checkbox Fields', function() {
testHelpers.runFromJsonSuiteTests(
Blockly.FieldCheckbox, validValueTestCases,invalidValueTestCases,
validTestCaseAssertField, assertFieldDefault);
suite('setValue', function() {
suite('True -> New Value', function() {
setup(function() {
this.checkboxField = new Blockly.FieldCheckbox('TRUE');
});
test('Null', function() {
this.checkboxField.setValue(null);
testHelpers.assertFieldValue(this.checkboxField, 'TRUE', 'true');
});
test('Undefined', function() {
this.checkboxField.setValue(undefined);
testHelpers.assertFieldValue(this.checkboxField, 'TRUE', 'true');
});
test('Non-Parsable String', function() {
this.checkboxField.setValue('bad');
testHelpers.assertFieldValue(this.checkboxField, 'TRUE', 'true');
});
test('False', function() {
this.checkboxField.setValue('FALSE');
testHelpers.assertFieldValue(this.checkboxField, 'FALSE', 'false');
});
test('With source block', function() {
this.checkboxField.setSourceBlock(createTestBlock());
this.checkboxField.setValue('FALSE');
testHelpers.assertFieldValue(this.checkboxField, 'FALSE', 'false');
this.field = new Blockly.FieldCheckbox('TRUE');
});
testHelpers.runSetValueTests(
validValueTestCases, invalidValueTestCases, 'TRUE', 'true');
});
suite('False -> New Value', function() {
setup(function() {
this.checkboxField = new Blockly.FieldCheckbox('FALSE');
});
test('Null', function() {
this.checkboxField.setValue(null);
testHelpers.assertFieldValue(this.checkboxField, 'FALSE', 'false');
});
test('Undefined', function() {
this.checkboxField.setValue(undefined);
testHelpers.assertFieldValue(this.checkboxField, 'FALSE', 'false');
});
test('Non-Parsable String', function() {
this.checkboxField.setValue('bad');
testHelpers.assertFieldValue(this.checkboxField, 'FALSE', 'false');
});
test('True', function() {
this.checkboxField.setValue('TRUE');
testHelpers.assertFieldValue(this.checkboxField, 'TRUE', 'true');
this.field = new Blockly.FieldCheckbox('FALSE');
});
testHelpers.runSetValueTests(
validValueTestCases, invalidValueTestCases, 'FALSE', 'false');
});
});
suite('Validators', function() {

View File

@@ -105,81 +105,27 @@ suite('Colour Fields', function() {
suite('setValue', function() {
suite('Empty -> New Value', function() {
setup(function() {
this.colourField = new Blockly.FieldColour();
});
test('Null', function() {
this.colourField.setValue(null);
assertFieldDefault(this.colourField);
});
test('Undefined', function() {
this.colourField.setValue(undefined);
assertFieldDefault(this.colourField);
});
test('Non-Parsable String', function() {
this.colourField.setValue('not_a_colour');
assertFieldDefault(this.colourField);
});
test('#000000', function() {
this.colourField.setValue('#000000');
testHelpers.assertFieldValue(this.colourField, '#000000', '#000');
});
test('#bcbcbc', function() {
this.colourField.setValue('#bcbcbc');
testHelpers.assertFieldValue(this.colourField, '#bcbcbc', '#bcbcbc');
});
test('#aa0', function() {
this.colourField.setValue('#aa0');
testHelpers.assertFieldValue(this.colourField, '#aaaa00', '#aa0');
});
test('rgb(170, 170, 0)', function() {
this.colourField.setValue('rgb(170, 170, 0)');
testHelpers.assertFieldValue(this.colourField, '#aaaa00', '#aa0');
});
test('red', function() {
this.colourField.setValue('red');
testHelpers.assertFieldValue(this.colourField, '#ff0000', '#f00');
this.field = new Blockly.FieldColour();
});
testHelpers.runSetValueTests(
validValueTestCases, invalidValueTestCases, defaultFieldValue,
defaultTextValue);
test('With source block', function() {
this.colourField.setSourceBlock(createTestBlock());
this.colourField.setValue('#bcbcbc');
testHelpers.assertFieldValue(this.colourField, '#bcbcbc', '#bcbcbc');
this.field.setSourceBlock(createTestBlock());
this.field.setValue('#bcbcbc');
testHelpers.assertFieldValue(this.field, '#bcbcbc', '#bcbcbc');
});
});
suite('Value -> New Value', function() {
setup(function() {
this.colourField = new Blockly.FieldColour('#aaaaaa');
this.field = new Blockly.FieldColour('#aaaaaa');
});
test('Null', function() {
this.colourField.setValue(null);
testHelpers.assertFieldValue(this.colourField, '#aaaaaa', '#aaa');
});
test('Undefined', function() {
this.colourField.setValue(undefined);
testHelpers.assertFieldValue(this.colourField, '#aaaaaa', '#aaa');
});
test('Non-Parsable String', function() {
this.colourField.setValue('not_a_colour');
testHelpers.assertFieldValue(this.colourField, '#aaaaaa', '#aaa');
});
test('#000000', function() {
this.colourField.setValue('#000000');
testHelpers.assertFieldValue(this.colourField, '#000000', '#000');
});
test('#bcbcbc', function() {
this.colourField.setValue('#bcbcbc');
testHelpers.assertFieldValue(this.colourField, '#bcbcbc', '#bcbcbc');
});
test('#aa0', function() {
this.colourField.setValue('#aa0');
testHelpers.assertFieldValue(this.colourField, '#aaaa00', '#aa0');
});
test('rgb(170, 170, 0)', function() {
this.colourField.setValue('rgb(170, 170, 0)');
testHelpers.assertFieldValue(this.colourField, '#aaaa00', '#aa0');
});
test('red', function() {
this.colourField.setValue('red');
testHelpers.assertFieldValue(this.colourField, '#ff0000', '#f00');
testHelpers.runSetValueTests(
validValueTestCases, invalidValueTestCases, '#aaaaaa', '#aaa');
test('With source block', function() {
this.field.setSourceBlock(createTestBlock());
this.field.setValue('#bcbcbc');
testHelpers.assertFieldValue(this.field, '#bcbcbc', '#bcbcbc');
});
});
});