mirror of
https://github.com/google/blockly.git
synced 2026-01-10 18:37:09 +01:00
Update FieldCheckbox and FieldColour setValue tests (#4332)
* update FieldCheckbox setValue tests * update FieldColout setValue tests
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user