QUnit.module( 've.ui.MWParameterCheckboxInputWidget' ); QUnit.test( 'Constructor passes config to parent', ( assert ) => { const widget = new ve.ui.MWParameterCheckboxInputWidget( { selected: true } ); assert.strictEqual( widget.getValue(), '1' ); assert.strictEqual( widget.isSelected(), true ); } ); [ [ '1', true, '"1"' ], [ '0', false, '"0"' ], [ '', false, 'empty string' ], [ '2', false, 'unexpected string' ], [ true, false, 'unexpected type' ] ].forEach( ( [ value, expected, message ] ) => QUnit.test( `setValue( ${message} )`, ( assert ) => { const widget = new ve.ui.MWParameterCheckboxInputWidget(); widget.setValue( value ); assert.strictEqual( widget.isSelected(), expected ); assert.strictEqual( widget.getValue(), expected ? '1' : '0' ); } ) ); [ true, false ].forEach( ( value ) => QUnit.test( `setSelected( ${value} )`, ( assert ) => { const widget = new ve.ui.MWParameterCheckboxInputWidget(); widget.setSelected( value ); assert.strictEqual( widget.isSelected(), value ); assert.strictEqual( widget.getValue(), value ? '1' : '0' ); } ) );