diff --git a/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js b/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js index 4dd90ab6..198972b7 100644 --- a/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +++ b/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js @@ -26,7 +26,8 @@ import TableCellPropertyCommand from './tablecellpropertycommand'; * * * `'top'` * * `'bottom'` - * * `'middle'` + * + * The `'middle'` value is default one so there's no need to set this value. * * @extends module:table/tablecellproperties/commands/tablecellpropertycommand */ diff --git a/src/tablecellproperties/tablecellpropertiesediting.js b/src/tablecellproperties/tablecellpropertiesediting.js index 5d8a5bbd..d42f644a 100644 --- a/src/tablecellproperties/tablecellpropertiesediting.js +++ b/src/tablecellproperties/tablecellpropertiesediting.js @@ -24,6 +24,8 @@ import TableCellBorderStyleCommand from './commands/tablecellborderstylecommand' import TableCellBorderColorCommand from './commands/tablecellbordercolorcommand'; import TableCellBorderWidthCommand from './commands/tablecellborderwidthcommand'; +const VALIGN_VALUES_REG_EXP = /^(top|bottom)$/; + /** * The table cell properties editing feature. * @@ -92,7 +94,7 @@ export default class TableCellPropertiesEditing extends Plugin { enableProperty( schema, conversion, 'backgroundColor', 'background-color' ); editor.commands.add( 'tableCellBackgroundColor', new TableCellBackgroundColorCommand( editor ) ); - enableProperty( schema, conversion, 'verticalAlignment', 'vertical-align' ); + enableVerticalAlignmentProperty( schema, conversion ); editor.commands.add( 'tableCellVerticalAlignment', new TableCellVerticalAlignmentCommand( editor ) ); } } @@ -125,16 +127,9 @@ function enableHorizontalAlignmentProperty( schema, conversion ) { model: { name: 'tableCell', key: 'horizontalAlignment', - values: [ 'left', 'right', 'center', 'justify' ] + values: [ 'right', 'center', 'justify' ] }, view: { - // TODO: controversial one but I don't know if we want "default". - left: { - key: 'style', - value: { - 'text-align': 'left' - } - }, right: { key: 'style', value: { @@ -157,6 +152,53 @@ function enableHorizontalAlignmentProperty( schema, conversion ) { } ); } +// Enables the `'verticalAlignment'` attribute for table cells. +// +// @param {module:engine/model/schema~Schema} schema +// @param {module:engine/conversion/conversion~Conversion} conversion +function enableVerticalAlignmentProperty( schema, conversion ) { + schema.extend( 'tableCell', { + allowAttributes: [ 'verticalAlignment' ] + } ); + + conversion.attributeToAttribute( { + model: { + name: 'tableCell', + key: 'verticalAlignment', + values: [ 'top', 'bottom' ] + }, + view: { + top: { + key: 'style', + value: { + 'vertical-align': 'top' + } + }, + bottom: { + key: 'style', + value: { + 'vertical-align': 'bottom' + } + } + } + } ); + + conversion.for( 'upcast' ) + // Support for backwards compatibility and pasting from other sources. + .attributeToAttribute( { + view: { + attributes: { + valign: VALIGN_VALUES_REG_EXP + } + }, + model: { + name: 'tableCell', + key: 'verticalAlignment', + value: viewElement => viewElement.getAttribute( 'valign' ) + } + } ); +} + // Enables conversion for an attribute for simple view-model mappings. // // @param {String} modelAttribute diff --git a/src/tablecellproperties/tablecellpropertiesui.js b/src/tablecellproperties/tablecellpropertiesui.js index 212da8dd..e354a997 100644 --- a/src/tablecellproperties/tablecellpropertiesui.js +++ b/src/tablecellproperties/tablecellpropertiesui.js @@ -15,19 +15,16 @@ import ContextualBalloon from '@ckeditor/ckeditor5-ui/src/panel/balloon/contextu import TableCellPropertiesView from './ui/tablecellpropertiesview'; import tableCellProperties from './../../theme/icons/table-cell-properties.svg'; import { - repositionContextualBalloon, + colorFieldValidator, getBalloonCellPositionData, getLocalizedColorErrorText, getLocalizedLengthErrorText, - colorFieldValidator, lengthFieldValidator, - lineWidthFieldValidator + lineWidthFieldValidator, + repositionContextualBalloon } from '../ui/utils'; import { debounce } from 'lodash-es'; -const DEFAULT_BORDER_STYLE = 'none'; -const DEFAULT_HORIZONTAL_ALIGNMENT = 'left'; -const DEFAULT_VERTICAL_ALIGNMENT = 'middle'; const ERROR_TEXT_TIMEOUT = 500; /** @@ -235,15 +232,15 @@ export default class TableCellPropertiesUI extends Plugin { const commands = this.editor.commands; this.view.set( { - borderStyle: commands.get( 'tableCellBorderStyle' ).value || DEFAULT_BORDER_STYLE, + borderStyle: commands.get( 'tableCellBorderStyle' ).value || '', borderColor: commands.get( 'tableCellBorderColor' ).value || '', borderWidth: commands.get( 'tableCellBorderWidth' ).value || '', width: commands.get( 'tableCellWidth' ).value || '', height: commands.get( 'tableCellHeight' ).value || '', padding: commands.get( 'tableCellPadding' ).value || '', backgroundColor: commands.get( 'tableCellBackgroundColor' ).value || '', - horizontalAlignment: commands.get( 'tableCellHorizontalAlignment' ).value || DEFAULT_HORIZONTAL_ALIGNMENT, - verticalAlignment: commands.get( 'tableCellVerticalAlignment' ).value || DEFAULT_VERTICAL_ALIGNMENT, + horizontalAlignment: commands.get( 'tableCellHorizontalAlignment' ).value || '', + verticalAlignment: commands.get( 'tableCellVerticalAlignment' ).value || '' } ); } diff --git a/src/tablecellproperties/ui/tablecellpropertiesview.js b/src/tablecellproperties/ui/tablecellpropertiesview.js index 5b37bd98..62beaf07 100644 --- a/src/tablecellproperties/ui/tablecellpropertiesview.js +++ b/src/tablecellproperties/ui/tablecellpropertiesview.js @@ -67,10 +67,10 @@ export default class TableCellPropertiesView extends View { * The value of the cell border style. * * @observable - * @default 'none' + * @default '' * @member #borderStyle */ - borderStyle: 'none', + borderStyle: '', /** * The value of the cell border width style. @@ -130,19 +130,19 @@ export default class TableCellPropertiesView extends View { * The value of the horizontal text alignment style. * * @observable - * @default 'left' + * @default '' * @member #horizontalAlignment */ - horizontalAlignment: 'left', + horizontalAlignment: '', /** * The value of the vertical text alignment style. * * @observable - * @default 'middle' + * @default '' * @member #verticalAlignment */ - verticalAlignment: 'middle' + verticalAlignment: '' } ); const { borderStyleDropdown, borderWidthInput, borderColorInput, borderRowLabel } = this._createBorderFields(); @@ -455,7 +455,7 @@ export default class TableCellPropertiesView extends View { } ); borderStyleDropdown.view.buttonView.bind( 'label' ).to( this, 'borderStyle', value => { - return styleLabels[ value ]; + return styleLabels[ value ? value : 'none' ]; } ); borderStyleDropdown.view.on( 'execute', evt => { @@ -470,13 +470,11 @@ export default class TableCellPropertiesView extends View { borderWidthInput.set( { label: t( 'Width' ), - class: 'ck-table-form__border-width', + class: 'ck-table-form__border-width' } ); borderWidthInput.view.bind( 'value' ).to( this, 'borderWidth' ); - borderWidthInput.bind( 'isEnabled' ).to( this, 'borderStyle', value => { - return value !== 'none'; - } ); + borderWidthInput.bind( 'isEnabled' ).to( this, 'borderStyle', isBorderStyleSet ); borderWidthInput.view.on( 'input', () => { this.borderWidth = borderWidthInput.view.element.value; } ); @@ -486,9 +484,7 @@ export default class TableCellPropertiesView extends View { const borderColorInput = new LabeledView( locale, createLabeledInputText ); borderColorInput.label = t( 'Color' ); borderColorInput.view.bind( 'value' ).to( this, 'borderColor' ); - borderColorInput.bind( 'isEnabled' ).to( this, 'borderStyle', value => { - return value !== 'none'; - } ); + borderColorInput.bind( 'isEnabled' ).to( this, 'borderStyle', isBorderStyleSet ); borderColorInput.view.on( 'input', () => { this.borderColor = borderColorInput.view.element.value; @@ -497,7 +493,7 @@ export default class TableCellPropertiesView extends View { // Reset the border color and width fields when style is "none". // https://github.com/ckeditor/ckeditor5/issues/6227 this.on( 'change:borderStyle', ( evt, name, value ) => { - if ( value === 'none' ) { + if ( !isBorderStyleSet( value ) ) { this.borderColor = ''; this.borderWidth = ''; } @@ -665,7 +661,10 @@ export default class TableCellPropertiesView extends View { icons: ALIGNMENT_ICONS, toolbar: horizontalAlignmentToolbar, labels: this._horizontalAlignmentLabels, - propertyName: 'horizontalAlignment' + propertyName: 'horizontalAlignment', + nameToValue: name => { + return name === 'left' ? '' : name; + } } ); // -- Vertical ----------------------------------------------------- @@ -682,7 +681,10 @@ export default class TableCellPropertiesView extends View { icons: ALIGNMENT_ICONS, toolbar: verticalAlignmentToolbar, labels: this._verticalAlignmentLabels, - propertyName: 'verticalAlignment' + propertyName: 'verticalAlignment', + nameToValue: name => { + return name === 'middle' ? '' : name; + } } ); return { @@ -773,3 +775,7 @@ export default class TableCellPropertiesView extends View { }; } } + +function isBorderStyleSet( value ) { + return !!value; +} diff --git a/src/tableproperties/tablepropertiesui.js b/src/tableproperties/tablepropertiesui.js index 0eb7c315..999eec0a 100644 --- a/src/tableproperties/tablepropertiesui.js +++ b/src/tableproperties/tablepropertiesui.js @@ -15,18 +15,16 @@ import ContextualBalloon from '@ckeditor/ckeditor5-ui/src/panel/balloon/contextu import TablePropertiesView from './ui/tablepropertiesview'; import tableProperties from './../../theme/icons/table-properties.svg'; import { - repositionContextualBalloon, + colorFieldValidator, getBalloonTablePositionData, getLocalizedColorErrorText, getLocalizedLengthErrorText, - colorFieldValidator, lengthFieldValidator, - lineWidthFieldValidator + lineWidthFieldValidator, + repositionContextualBalloon } from '../ui/utils'; import { debounce } from 'lodash-es'; -const DEFAULT_BORDER_STYLE = 'none'; -const DEFAULT_ALIGNMENT = ''; const ERROR_TEXT_TIMEOUT = 500; /** @@ -226,13 +224,13 @@ export default class TablePropertiesUI extends Plugin { const commands = this.editor.commands; this.view.set( { - borderStyle: commands.get( 'tableBorderStyle' ).value || DEFAULT_BORDER_STYLE, + borderStyle: commands.get( 'tableBorderStyle' ).value || '', borderColor: commands.get( 'tableBorderColor' ).value || '', borderWidth: commands.get( 'tableBorderWidth' ).value || '', backgroundColor: commands.get( 'tableBackgroundColor' ).value || '', width: commands.get( 'tableWidth' ).value || '', height: commands.get( 'tableHeight' ).value || '', - alignment: commands.get( 'tableAlignment' ).value || DEFAULT_ALIGNMENT, + alignment: commands.get( 'tableAlignment' ).value || '', } ); } diff --git a/src/tableproperties/ui/tablepropertiesview.js b/src/tableproperties/ui/tablepropertiesview.js index a3579a26..bde7050f 100644 --- a/src/tableproperties/ui/tablepropertiesview.js +++ b/src/tableproperties/ui/tablepropertiesview.js @@ -59,10 +59,10 @@ export default class TablePropertiesView extends View { * The value of the border style. * * @observable - * @default 'none' + * @default '' * @member #borderStyle */ - borderStyle: 'none', + borderStyle: '', /** * The value of the border width style. @@ -401,7 +401,7 @@ export default class TablePropertiesView extends View { } ); borderStyleDropdown.view.buttonView.bind( 'label' ).to( this, 'borderStyle', value => { - return styleLabels[ value ]; + return styleLabels[ value ? value : 'none' ]; } ); borderStyleDropdown.view.on( 'execute', evt => { @@ -416,13 +416,11 @@ export default class TablePropertiesView extends View { borderWidthInput.set( { label: t( 'Width' ), - class: 'ck-table-form__border-width', + class: 'ck-table-form__border-width' } ); borderWidthInput.view.bind( 'value' ).to( this, 'borderWidth' ); - borderWidthInput.bind( 'isEnabled' ).to( this, 'borderStyle', value => { - return value !== 'none'; - } ); + borderWidthInput.bind( 'isEnabled' ).to( this, 'borderStyle', isBorderStyleSet ); borderWidthInput.view.on( 'input', () => { this.borderWidth = borderWidthInput.view.element.value; } ); @@ -432,9 +430,7 @@ export default class TablePropertiesView extends View { const borderColorInput = new LabeledView( locale, createLabeledInputText ); borderColorInput.label = t( 'Color' ); borderColorInput.view.bind( 'value' ).to( this, 'borderColor' ); - borderColorInput.bind( 'isEnabled' ).to( this, 'borderStyle', value => { - return value !== 'none'; - } ); + borderColorInput.bind( 'isEnabled' ).to( this, 'borderStyle', isBorderStyleSet ); borderColorInput.view.on( 'input', () => { this.borderColor = borderColorInput.view.element.value; @@ -443,7 +439,7 @@ export default class TablePropertiesView extends View { // Reset the border color and width fields when style is "none". // https://github.com/ckeditor/ckeditor5/issues/6227 this.on( 'change:borderStyle', ( evt, name, value ) => { - if ( value === 'none' ) { + if ( !isBorderStyleSet( value ) ) { this.borderColor = ''; this.borderWidth = ''; } @@ -661,3 +657,7 @@ export default class TablePropertiesView extends View { }; } } + +function isBorderStyleSet( value ) { + return !!value; +} diff --git a/src/ui/utils.js b/src/ui/utils.js index 38b46ba7..ab3c47dd 100644 --- a/src/ui/utils.js +++ b/src/ui/utils.js @@ -187,7 +187,7 @@ export function lineWidthFieldValidator( value ) { * Generates item definitions for a UI dropdown that allows changing the border style of a table or a table cell. * * @param {module:table/tablecellproperties/ui/tablecellpropertiesview~TableCellPropertiesView| - * module:table/tableproperties/ui/tablepropertiesview~TablePropertiesView} + * module:table/tableproperties/ui/tablepropertiesview~TablePropertiesView} view * @returns {Iterable.} */ export function getBorderStyleDefinitions( view ) { @@ -198,15 +198,19 @@ export function getBorderStyleDefinitions( view ) { const definition = { type: 'button', model: new Model( { - _borderStyleValue: style, + _borderStyleValue: style === 'none' ? '' : style, label: styleLabels[ style ], - withText: true, + withText: true } ) }; - definition.model.bind( 'isOn' ).to( view, 'borderStyle', value => { - return value === style; - } ); + if ( style === 'none' ) { + definition.model.bind( 'isOn' ).to( view, 'borderStyle', value => !value ); + } else { + definition.model.bind( 'isOn' ).to( view, 'borderStyle', value => { + return value === style; + } ); + } itemDefinitions.add( definition ); } @@ -228,9 +232,9 @@ export function getBorderStyleDefinitions( view ) { * @param {module:ui/toolbar/toolbarview~ToolbarView} options.toolbar * @param {Object.} labels * @param {String} propertyName - * @param {Function} [nameToValue] Optional function that maps button name to value. By default names are the same as values. + * @param {Function} nameToValue Function that maps button name to value. By default names are the same as values. */ -export function fillToolbar( { view, icons, toolbar, labels, propertyName, nameToValue = name => name } ) { +export function fillToolbar( { view, icons, toolbar, labels, propertyName, nameToValue } ) { for ( const name in labels ) { const button = new ButtonView( view.locale ); diff --git a/tests/tablecellproperties/tablecellpropertiesediting.js b/tests/tablecellproperties/tablecellpropertiesediting.js index a8be020a..3c33f108 100644 --- a/tests/tablecellproperties/tablecellpropertiesediting.js +++ b/tests/tablecellproperties/tablecellpropertiesediting.js @@ -685,11 +685,11 @@ describe( 'table cell properties', () => { } ); describe( 'upcast conversion', () => { - it( 'should upcast text-align:left style', () => { + it( 'should not upcast text-align:left style', () => { editor.setData( '
foo
' ); const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); - expect( tableCell.getAttribute( 'horizontalAlignment' ) ).to.equal( 'left' ); + expect( tableCell.getAttribute( 'horizontalAlignment' ) ).to.be.undefined; } ); it( 'should upcast text-align:right style', () => { @@ -751,10 +751,10 @@ describe( 'table cell properties', () => { assertTableCellStyle( editor, '' ); } ); - it( 'should downcast horizontalAlignment=left', () => { + it( 'should not downcast horizontalAlignment=left', () => { model.change( writer => writer.setAttribute( 'horizontalAlignment', 'left', tableCell ) ); - assertTableCellStyle( editor, 'text-align:left;' ); + assertTableCellStyle( editor ); } ); it( 'should downcast horizontalAlignment=right', () => { @@ -783,12 +783,47 @@ describe( 'table cell properties', () => { } ); describe( 'upcast conversion', () => { - it( 'should upcast vertical-align', () => { + it( 'should upcast "top" vertical-align', () => { editor.setData( '
foo
' ); const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); expect( tableCell.getAttribute( 'verticalAlignment' ) ).to.equal( 'top' ); } ); + + it( 'should upcast "bottom" vertical-align', () => { + editor.setData( '
foo
' ); + const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); + + expect( tableCell.getAttribute( 'verticalAlignment' ) ).to.equal( 'bottom' ); + } ); + + it( 'should not upcast "middle" vertical-align', () => { + editor.setData( '
foo
' ); + const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); + + expect( tableCell.getAttribute( 'verticalAlignment' ) ).to.be.undefined; + } ); + + it( 'should upcast "top" valign attribute', () => { + editor.setData( '
foo
' ); + const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); + + expect( tableCell.getAttribute( 'verticalAlignment' ) ).to.equal( 'top' ); + } ); + + it( 'should upcast "bottom" valign attribute', () => { + editor.setData( '
foo
' ); + const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); + + expect( tableCell.getAttribute( 'verticalAlignment' ) ).to.equal( 'bottom' ); + } ); + + it( 'should not upcast "middle" valign attribute', () => { + editor.setData( '
foo
' ); + const tableCell = model.document.getRoot().getNodeByPath( [ 0, 0, 0 ] ); + + expect( tableCell.getAttribute( 'verticalAlignment' ) ).to.be.undefined; + } ); } ); describe( 'downcast conversion', () => { @@ -829,9 +864,9 @@ describe( 'table cell properties', () => { } ); it( 'should downcast verticalAlignment', () => { - model.change( writer => writer.setAttribute( 'verticalAlignment', 'middle', tableCell ) ); + model.change( writer => writer.setAttribute( 'verticalAlignment', 'top', tableCell ) ); - assertTableCellStyle( editor, 'vertical-align:middle;' ); + assertTableCellStyle( editor, 'vertical-align:top;' ); } ); } ); } ); diff --git a/tests/tablecellproperties/tablecellpropertiesui.js b/tests/tablecellproperties/tablecellpropertiesui.js index 4e6512bd..734522c8 100644 --- a/tests/tablecellproperties/tablecellpropertiesui.js +++ b/tests/tablecellproperties/tablecellpropertiesui.js @@ -554,15 +554,15 @@ describe( 'table cell properties', () => { expect( contextualBalloon.visibleView ).to.equal( tableCellPropertiesView ); expect( tableCellPropertiesView ).to.include( { - borderStyle: 'none', + borderStyle: '', borderColor: '', borderWidth: '', width: '', height: '', padding: '', backgroundColor: '', - horizontalAlignment: 'left', - verticalAlignment: 'middle' + horizontalAlignment: '', + verticalAlignment: '' } ); } ); } ); diff --git a/tests/tablecellproperties/ui/tablecellpropertiesview.js b/tests/tablecellproperties/ui/tablecellpropertiesview.js index 081b7f11..1ff75c70 100644 --- a/tests/tablecellproperties/ui/tablecellpropertiesview.js +++ b/tests/tablecellproperties/ui/tablecellpropertiesview.js @@ -44,13 +44,13 @@ describe( 'table cell properties', () => { it( 'should define the public data interface (observable properties)', () => { expect( view ).to.include( { - borderStyle: 'none', + borderStyle: '', borderWidth: '', borderColor: '', padding: '', backgroundColor: '', - horizontalAlignment: 'left', - verticalAlignment: 'middle' + horizontalAlignment: '', + verticalAlignment: '' } ); } ); @@ -124,7 +124,7 @@ describe( 'table cell properties', () => { it( 'should change #borderStyle when executed', () => { labeledDropdown.view.listView.items.first.children.first.fire( 'execute' ); - expect( view.borderStyle ).to.equal( 'none' ); + expect( view.borderStyle ).to.equal( '' ); labeledDropdown.view.listView.items.last.children.first.fire( 'execute' ); expect( view.borderStyle ).to.equal( 'outset' ); @@ -143,7 +143,7 @@ describe( 'table cell properties', () => { view.borderWidth = '1px'; view.borderColor = 'red'; - view.borderStyle = 'none'; + view.borderStyle = ''; expect( view.borderColor ).to.equal( '' ); expect( view.borderWidth ).to.equal( '' ); @@ -172,7 +172,7 @@ describe( 'table cell properties', () => { } ); it( 'should be enabled only when #borderStyle is different than "none"', () => { - view.borderStyle = 'none'; + view.borderStyle = ''; expect( labeledInput.isEnabled ).to.be.false; view.borderStyle = 'dotted'; @@ -211,7 +211,7 @@ describe( 'table cell properties', () => { } ); it( 'should be enabled only when #borderStyle is different than "none"', () => { - view.borderStyle = 'none'; + view.borderStyle = ''; expect( labeledInput.isEnabled ).to.be.false; view.borderStyle = 'dotted'; @@ -435,7 +435,7 @@ describe( 'table cell properties', () => { expect( toolbar.items.last.isOn ).to.be.true; toolbar.items.first.fire( 'execute' ); - expect( view.horizontalAlignment ).to.equal( 'left' ); + expect( view.horizontalAlignment ).to.equal( '' ); expect( toolbar.items.last.isOn ).to.be.false; expect( toolbar.items.first.isOn ).to.be.true; } ); diff --git a/tests/tableproperties/tablepropertiesui.js b/tests/tableproperties/tablepropertiesui.js index 891433d5..09a4fa3d 100644 --- a/tests/tableproperties/tablepropertiesui.js +++ b/tests/tableproperties/tablepropertiesui.js @@ -506,7 +506,7 @@ describe( 'table properties', () => { expect( contextualBalloon.visibleView ).to.equal( tablePropertiesView ); expect( tablePropertiesView ).to.include( { - borderStyle: 'none', + borderStyle: '', borderColor: '', borderWidth: '', backgroundColor: '', diff --git a/tests/tableproperties/ui/tablepropertiesview.js b/tests/tableproperties/ui/tablepropertiesview.js index 038bc3e8..7fe75e99 100644 --- a/tests/tableproperties/ui/tablepropertiesview.js +++ b/tests/tableproperties/ui/tablepropertiesview.js @@ -44,7 +44,7 @@ describe( 'table properties', () => { it( 'should define the public data interface (observable properties)', () => { expect( view ).to.include( { - borderStyle: 'none', + borderStyle: '', borderWidth: '', borderColor: '', backgroundColor: '', @@ -124,7 +124,7 @@ describe( 'table properties', () => { it( 'should change #borderStyle when executed', () => { labeledDropdown.view.listView.items.first.children.first.fire( 'execute' ); - expect( view.borderStyle ).to.equal( 'none' ); + expect( view.borderStyle ).to.equal( '' ); labeledDropdown.view.listView.items.last.children.first.fire( 'execute' ); expect( view.borderStyle ).to.equal( 'outset' ); @@ -143,7 +143,7 @@ describe( 'table properties', () => { view.borderWidth = '1px'; view.borderColor = 'red'; - view.borderStyle = 'none'; + view.borderStyle = ''; expect( view.borderColor ).to.equal( '' ); expect( view.borderWidth ).to.equal( '' ); @@ -172,7 +172,7 @@ describe( 'table properties', () => { } ); it( 'should be enabled only when #borderStyle is different than "none"', () => { - view.borderStyle = 'none'; + view.borderStyle = ''; expect( labeledInput.isEnabled ).to.be.false; view.borderStyle = 'dotted'; @@ -211,7 +211,7 @@ describe( 'table properties', () => { } ); it( 'should be enabled only when #borderStyle is different than "none"', () => { - view.borderStyle = 'none'; + view.borderStyle = ''; expect( labeledInput.isEnabled ).to.be.false; view.borderStyle = 'dotted';