Henning Snater has uploaded a new change for review. https://gerrit.wikimedia.org/r/171878
Change subject: Use wb.datamodel.Term in descriptionview ...................................................................... Use wb.datamodel.Term in descriptionview Change-Id: I766b93ce6819d8905afb7109dbb4300b2d4450c9 --- M lib/resources/entityChangers/DescriptionsChanger.js M lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js M lib/resources/jquery.wikibase/jquery.wikibase.entityview.js M lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js M lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js M lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js M lib/resources/jquery.wikibase/resources.php M lib/tests/qunit/entityChangers/DescriptionsChanger.tests.js M lib/tests/qunit/jquery.wikibase/jquery.wikibase.descriptionview.tests.js M lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js M lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js M lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js M lib/tests/qunit/jquery.wikibase/resources.php 13 files changed, 106 insertions(+), 148 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/78/171878/1 diff --git a/lib/resources/entityChangers/DescriptionsChanger.js b/lib/resources/entityChangers/DescriptionsChanger.js index 3ff5885..8642f7a 100644 --- a/lib/resources/entityChangers/DescriptionsChanger.js +++ b/lib/resources/entityChangers/DescriptionsChanger.js @@ -34,22 +34,22 @@ _api: null, /** - * @param {string} description - * @param {string} language + * @param {wikibase.datamodel.Term} description * @return {jQuery.Promise} * Resolved parameters: * - {string} The saved description * Rejected parameters: * - {wikibase.RepoApiError} */ - setDescription: function( description, language ) { + setDescription: function( description ) { var self = this, - deferred = $.Deferred(); + deferred = $.Deferred(), + language = description.getLanguageCode(); this._api.setDescription( this._entity.getId(), this._revisionStore.getDescriptionRevision(), - description, + description.getText(), language ) .done( function( result ) { diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js b/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js index cb16fa7..965c124 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.descriptionview.js @@ -12,9 +12,7 @@ * @since 0.5 * @extends jQuery.ui.TemplatedWidget * - * @option {Object|null} value - * Object representing the widget's value. - * Structure: { language: <{string}>, description: <{string|null}> } + * @option {wikibase.datamodel.Term} value * * @option {string} [helpMessage] * Default: mw.msg( 'wikibase-description-input-help-message' ) @@ -58,21 +56,21 @@ * @throws {Error} if required parameters are not specified properly. */ _create: function() { - if( !this.options.descriptionsChanger ) { + if( + !( this.options.value instanceof wb.datamodel.Term ) + || !this.options.descriptionsChanger + ) { throw new Error( 'Required parameter(s) missing' ); } - this.options.value = this._checkValue( this.options.value ); - - var self = this, - value = this.options.value; + var self = this; this.element .on( 'descriptionviewafterstartediting.' + this.widgetName + ' eachchange.' + this.widgetName, function( event ) { - if( !self.value().description ) { + if( self.value().getText() === '' ) { // Since the widget shall not be in view mode when there is no value, triggering // the event without a proper value is only done when creating the widget. Disabling // other edit buttons shall be avoided. @@ -86,7 +84,7 @@ PARENT.prototype._create.call( this ); - if( value && value.description !== '' && this.$text.text() === '' ) { + if( this.options.value.getText() !== '' && this.$text.text() === '' ) { this._draw(); } }, @@ -112,28 +110,30 @@ * Main draw routine. */ _draw: function() { - this.element[this.options.value.description ? 'removeClass' : 'addClass']( 'wb-empty' ); + var self = this, + languageCode = this.options.value.getLanguageCode(), + descriptionText = this.options.value.getText(); + + if( descriptionText === '' ) { + descriptionText = null; + } + + this.element[descriptionText ? 'removeClass' : 'addClass']( 'wb-empty' ); if( !this._isInEditMode ) { - this.$text.text( - this.options.value.description || mw.msg( 'wikibase-description-empty' ) - ); + this.$text.text( descriptionText || mw.msg( 'wikibase-description-empty' ) ); return; } - var self = this; - - var langCode = this.options.value.language; - var dir = ( $.uls && $.uls.data ) ? - $.uls.data.getDir( langCode ) : + $.uls.data.getDir( languageCode ) : $( 'html' ).prop( 'dir' ); var $input = $( '<input />', { // TODO: Inject correct placeholder via options placeholder: mw.msg( 'wikibase-description-edit-placeholder-language-aware', - wb.getNativeLanguageNameByCode( langCode ) + wb.getNativeLanguageNameByCode( languageCode ) ), dir: dir } ) @@ -141,8 +141,8 @@ self._trigger( 'change' ); } ); - if( this.options.value.description ) { - $input.val( this.options.value.description ); + if( descriptionText ) { + $input.val( descriptionText ); } this.$text.empty().append( $input ); @@ -196,10 +196,7 @@ this._trigger( 'stopediting', null, [dropValue] ); - this.options.descriptionsChanger.setDescription( - this.value().description || '', - this.options.value.language - ) + this.options.descriptionsChanger.setDescription( this.value() ) .done( function( description ) { self.enable(); self._afterStopEditing( dropValue ); @@ -225,7 +222,7 @@ _afterStopEditing: function( dropValue ) { if( !dropValue ) { this.options.value = this.value(); - } else if( !this.options.value.description ) { + } else if( this.options.value.getText() === '' ) { this.$text.children( 'input' ).val( '' ); } @@ -249,11 +246,7 @@ * @return {boolean} */ isInitialValue: function() { - var initialValue = this.options.value, - currentValue = this.value(); - - return currentValue.language === initialValue.language - && currentValue.description === initialValue.description; + return this.value().equals( this.options.value ); }, /** @@ -279,8 +272,8 @@ * @see jQuery.ui.TemplatedWidget._setOption */ _setOption: function( key, value ) { - if( key === 'value' ) { - value = this._checkValue( value ); + if( key === 'value' && !( value instanceof wb.datamodel.Term ) ) { + throw new Error( 'Value needs to be a wb.datamodel.Term instance' ); } var response = PARENT.prototype._setOption.call( this, key, value ); @@ -293,30 +286,10 @@ }, /** - * @param {*} value - * @return {Object} - * - * @throws {Error} if value is not defined properly. - */ - _checkValue: function( value ) { - if( !$.isPlainObject( value ) ) { - throw new Error( 'Value needs to be an object' ); - } else if( !value.language ) { - throw new Error( 'Value needs language to be specified' ); - } - - if( !value.description ) { - value.description = null; - } - - return value; - }, - - /** * Gets/Sets the widget's value. * - * @param {Object} [value] - * @return {Object|undefined} + * @param {wikibase.datamodel.Term} [value] + * @return {wikibase.datamodel.Term|undefined} */ value: function( value ) { if( value !== undefined ) { @@ -328,12 +301,10 @@ return this.option( 'value' ); } - var text = $.trim( this.$text.children( 'input' ).val() ); - - return { - language: this.options.value.language, - description: text !== '' ? text : null - }; + return new wb.datamodel.Term( + this.options.value.getLanguageCode(), + $.trim( this.$text.children( 'input' ).val() ) + ); }, /** @@ -378,7 +349,7 @@ } } ); - if( !descriptionview.value().description ) { + if( descriptionview.value().getText() === '' ) { descriptionview.toEditMode(); $descriptionview.data( 'edittoolbar' ).toEditMode(); $descriptionview.data( 'edittoolbar' ).disable(); @@ -388,7 +359,7 @@ .off( 'descriptionviewafterstopediting.edittoolbar' ) .on( 'descriptionviewafterstopediting.edittoolbar', function( event ) { var edittoolbar = $( event.target ).data( 'edittoolbar' ); - if( descriptionview.value().description ) { + if( descriptionview.value().getText() !== '' ) { edittoolbar.toNonEditMode(); edittoolbar.enable(); edittoolbar.toggleActionMessage( function() { @@ -411,8 +382,8 @@ btnSave = edittoolbar.getButton( 'save' ), enableSave = descriptionview.isValid() && !descriptionview.isInitialValue(), btnCancel = edittoolbar.getButton( 'cancel' ), - currentDescription = descriptionview.value().description, - disableCancel = !currentDescription && descriptionview.isInitialValue(); + currentDescription = descriptionview.value().getText(), + disableCancel = currentDescription === '' && descriptionview.isInitialValue(); btnSave[enableSave ? 'enable' : 'disable'](); btnCancel[disableCancel ? 'disable' : 'enable'](); @@ -420,7 +391,10 @@ if( event.type === 'descriptionviewchange' ) { if( !descriptionview.isInitialValue() ) { descriptionview.startEditing(); - } else if( descriptionview.isInitialValue() && !descriptionview.value().description ) { + } else if( + descriptionview.isInitialValue() + && descriptionview.value().getText() === '' + ) { descriptionview.cancelEditing(); } } @@ -431,15 +405,15 @@ edittoolbar = $descriptionview.data( 'edittoolbar' ), btnSave = edittoolbar.getButton( 'save' ), enable = descriptionview.isValid() && !descriptionview.isInitialValue(), - currentDescription = descriptionview.value().description; + currentDescription = descriptionview.value().getText(); btnSave[enable ? 'enable' : 'disable'](); - if( descriptionview.option( 'disabled' ) || currentDescription ) { + if( descriptionview.option( 'disabled' ) || currentDescription !== '' ) { return; } - if( !currentDescription ) { + if( currentDescription === '' ) { edittoolbar.disable(); } }, diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js b/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js index 180a651..3059d1c 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js @@ -148,17 +148,13 @@ this.$description = $( '<div/>' ).appendTo( this.element ); } + // FIXME: entity object should not contain fallback strings var description = this.options.value.getFingerprint().getDescriptionFor( mw.config.get( 'wgUserLanguage' ) - ); + ) || new wb.datamodel.Term( mw.config.get( 'wgUserLanguage' ), '' ); + this.$description.descriptionview( { - value: { - language: mw.config.get( 'wgUserLanguage' ), - description: this.$description.hasClass( 'wb-empty' ) - ? null - // FIXME: entity object should not contain fallback strings - : ( description && description.getText() ) - }, + value: description, helpMessage: mw.msg( 'wikibase-description-input-help-message', wb.getLanguageNameByCode( mw.config.get( 'wgUserLanguage' ) ) @@ -207,19 +203,18 @@ } var fingerprint = this.options.value.getFingerprint(), - value = [], - nextValue; + value = []; + for( var i = 0; i < this.options.languages.length; i++ ) { - nextValue = { + value.push( { language: this.options.languages[i], label: fingerprint.getLabelFor( this.options.languages[i] ) || new wb.datamodel.Term( this.options.languages[i], '' ), - description: fingerprint.getDescriptionFor( this.options.languages[i] ), + description: fingerprint.getDescriptionFor( this.options.languages[i] ) + || new wb.datamodel.Term( this.options.languages[i], '' ), aliases: fingerprint.getAliasesFor( this.options.languages[i] ) || new wb.datamodel.MultiTerm( this.options.languages[i], [] ) - }; - nextValue.description = nextValue.description ? nextValue.description.getText() : null; - value.push( nextValue ); + } ); } this.$fingerprints.fingerprintgroupview( { diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js index f8ad851..0f84ac0 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js @@ -18,7 +18,7 @@ * { * language: <{string]>, * label: <{wikibase.datamodel.Term}>, - * description: <{string|null}> + * description: <{wikibase.datamodel.Term}> * aliases: <{wikibase.datamodel.MultiTerm}> * }[, ...] * ] diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js index 6971644..ff7d87a 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js @@ -18,7 +18,7 @@ * { * language: <{string]>, * label: <{wikibase.datamodel.Term}>, - * description: <{string|null}>, + * description: <{wikibase.datamodel.Term}>, * aliases: <{wikibase.datamodel.MultiTerm}> * }[, ...] * ] @@ -187,7 +187,7 @@ if( currentValue[i].language !== this.options.value[i].language || !currentValue[i].label.equals( this.options.value[i].label ) - || currentValue[i].description !== this.options.value[i].description + || !currentValue[i].description.equals( this.options.value[i].description ) || !currentValue[i].aliases.equals( this.options.value[i].aliases ) ) { return false; diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js index 9beb6a6..55c6613 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js @@ -17,7 +17,7 @@ * Structure: { * language: <{string}>, * label: <{wikibase.datamodel.Term}>, - * description: <{string|null>, + * description: <{wikibase.datamodel.Term}>, * aliases: <{wikibase.datamodel.MultiTerm}> * } * @@ -185,7 +185,7 @@ ); var options = { - value: self.options.value, + value: self.options.value[subjectName], helpMessage: mw.msg( 'wikibase-' + subjectName + '-input-help-message', wb.getLanguageNameByCode( self.options.value.language ) @@ -194,11 +194,9 @@ if( widgetName === 'aliasesview' ) { options.aliasesChanger = self.options.entityChangersFactory.getAliasesChanger(); - options.value = self.options.value.aliases; } else if ( widgetName === 'descriptionview' ) { options.descriptionsChanger = self.options.entityChangersFactory.getDescriptionsChanger(); } else if ( widgetName === 'labelview' ) { - options.value = self.options.value.label; options.labelsChanger = self.options.entityChangersFactory.getLabelsChanger(); options.entityId = self.options.entityId; } @@ -354,7 +352,7 @@ return { language: this.options.value.language, label: this.$labelview.data( 'labelview' ).value(), - description: this.$descriptionview.data( 'descriptionview' ).value().description, + description: this.$descriptionview.data( 'descriptionview' ).value(), aliases: this.$aliasesview.data( 'aliasesview' ).value() }; }, @@ -373,12 +371,7 @@ } this.$labelview.data( 'labelview' ).option( 'value', value.label ); - - this.$descriptionview.data( 'descriptionview' ).option( 'value', { - language: value.language, - description: value.description - } ); - + this.$descriptionview.data( 'descriptionview' ).option( 'value', value.description ); this.$aliasesview.data( 'aliasesview' ).option( 'value', value.aliases ); } @@ -411,7 +404,7 @@ } if( !value.description ) { - value.description = null; + throw new Error( 'description needs to be a wb.datamodel.Term instance' ); } if( !value.aliases ) { diff --git a/lib/resources/jquery.wikibase/resources.php b/lib/resources/jquery.wikibase/resources.php index 2810e9a..9cdc5c3 100644 --- a/lib/resources/jquery.wikibase/resources.php +++ b/lib/resources/jquery.wikibase/resources.php @@ -135,6 +135,7 @@ 'jquery.wikibase.edittoolbar', 'jquery.wikibase.toolbarcontroller', 'wikibase', + 'wikibase.datamodel.Term', ), 'messages' => array( 'wikibase-description-edit-placeholder', diff --git a/lib/tests/qunit/entityChangers/DescriptionsChanger.tests.js b/lib/tests/qunit/entityChangers/DescriptionsChanger.tests.js index 7fab678..2fb7160 100644 --- a/lib/tests/qunit/entityChangers/DescriptionsChanger.tests.js +++ b/lib/tests/qunit/entityChangers/DescriptionsChanger.tests.js @@ -25,7 +25,7 @@ var api = { setDescription: sinon.spy( function() { return $.Deferred().promise(); - } ), + } ) }; var descriptionsChanger = new SUBJECT( api, @@ -33,7 +33,7 @@ new wb.datamodel.Item( 'Q1' ) ); - descriptionsChanger.setDescription( 'description', 'language' ); + descriptionsChanger.setDescription( new wb.datamodel.Term( 'language', 'description' ) ); assert.ok( api.setDescription.calledOnce ); } ); @@ -51,7 +51,7 @@ } } } ).promise(); - } ), + } ) }; var descriptionsChanger = new SUBJECT( api, @@ -61,7 +61,7 @@ QUnit.stop(); - descriptionsChanger.setDescription( 'description', 'language' ) + descriptionsChanger.setDescription( new wb.datamodel.Term( 'language', 'description' ) ) .done( function( savedDescription ) { QUnit.start(); assert.equal( savedDescription, 'description' ); @@ -75,7 +75,7 @@ var api = { setDescription: sinon.spy( function() { return $.Deferred().reject( 'errorCode', { error: { code: 'errorCode' } } ).promise(); - } ), + } ) }; var descriptionsChanger = new SUBJECT( api, @@ -85,7 +85,7 @@ QUnit.stop(); - descriptionsChanger.setDescription( 'description', 'language' ) + descriptionsChanger.setDescription( new wb.datamodel.Term( 'language', 'description' ) ) .done( function( savedDescription ) { assert.ok( false, 'setDescription should have failed' ); } ) diff --git a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.descriptionview.tests.js b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.descriptionview.tests.js index 3fd14cf..1180cdb 100644 --- a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.descriptionview.tests.js +++ b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.descriptionview.tests.js @@ -2,7 +2,7 @@ * @licence GNU GPL v2+ * @author H. Snater < mediaw...@snater.com > */ -( function( $, QUnit ) { +( function( $, wb, QUnit ) { 'use strict'; /** @@ -15,10 +15,7 @@ descriptionsChanger: { setDescription: function () { return $.Deferred().resolve(); } }, - value: { - language: 'en', - description: 'test description' - } + value: new wb.datamodel.Term( 'en', 'test description' ) }, options || {} ); $node = $node || $( '<div/>' ).appendTo( 'body' ); @@ -156,36 +153,33 @@ QUnit.test( 'value()', function( assert ) { var $descriptionview = createDescriptionview(), - descriptionview = $descriptionview.data( 'descriptionview' ); + descriptionview = $descriptionview.data( 'descriptionview' ), + newValue = null; assert.throws( function() { - descriptionview.value( null ); + descriptionview.value( newValue ); }, 'Trying to set no value fails.' ); - descriptionview.value( { - language: 'de', - description: 'changed description' - } ); + newValue = new wb.datamodel.Term( 'de', 'changed description' ); + + descriptionview.value( newValue ); assert.ok( - descriptionview.value().language === 'de' - && descriptionview.value().description === 'changed description', + descriptionview.value().equals( newValue ), 'Set new value.' ); - descriptionview.value( { - language: 'en', - description: null - } ); + newValue = new wb.datamodel.Term( 'en', '' ); + + descriptionview.value( newValue ); assert.ok( - descriptionview.value().language === 'en' - && descriptionview.value().description === null, + descriptionview.value().equals( newValue ), 'Set another value.' ); } ); -}( jQuery, QUnit ) ); +}( jQuery, wikibase, QUnit ) ); diff --git a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js index 485fabd..c43f67e 100644 --- a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js +++ b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js @@ -15,12 +15,12 @@ { language: 'de', label: new wb.datamodel.Term( 'de', 'de-label' ), - description: 'de-description', + description: new wb.datamodel.Term( 'de', 'de-description' ), aliases: new wb.datamodel.MultiTerm( 'de', [] ) }, { language: 'en', label: new wb.datamodel.Term( 'en', 'en-label' ), - description: 'en-description', + description: new wb.datamodel.Term( 'en', 'en-description' ), aliases: new wb.datamodel.MultiTerm( 'en', [] ) } ], diff --git a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js index 0a25d27..b286060 100644 --- a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js +++ b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js @@ -21,12 +21,12 @@ { language: 'de', label: new wb.datamodel.Term( 'de', 'de-label' ), - description: 'de-description', + description: new wb.datamodel.Term( 'de', 'de-description' ), aliases: new wb.datamodel.MultiTerm( 'de', [] ) }, { language: 'en', label: new wb.datamodel.Term( 'en', 'en-label' ), - description: 'en-description', + description: new wb.datamodel.Term( 'en', 'en-description' ), aliases: new wb.datamodel.MultiTerm( 'en', [] ) } ] @@ -91,7 +91,7 @@ var $item = $fingerprintlistview.data( 'listview' ).addItem( { language: 'fa', label: new wb.datamodel.Term( 'fa', 'fa-label' ), - description: 'fa-description', + description: new wb.datamodel.Term( 'fa', 'fa-description' ), aliases: new wb.datamodel.MultiTerm( 'fa', [] ) } ); diff --git a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js index 0976a7b..f23d8ba 100644 --- a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js +++ b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js @@ -29,7 +29,7 @@ value: { language: 'en', label: new wb.datamodel.Term( 'en', 'test label' ), - description: 'test description', + description: new wb.datamodel.Term( 'en', 'test description' ), aliases: new wb.datamodel.MultiTerm( 'en', ['alias1', 'alias2'] ) } }, options || {} ); @@ -247,6 +247,7 @@ var $fingerprintview = createFingerprintview(), fingerprintview = $fingerprintview.data( 'fingerprintview' ), label = new wb.datamodel.Term( 'en', 'changed label' ), + description = new wb.datamodel.Term( 'en', 'test description' ), aliases = new wb.datamodel.MultiTerm( 'en', ['alias1', 'alias2'] ); assert.throws( @@ -259,7 +260,7 @@ fingerprintview.value( { language: 'en', label: label, - description: 'test description', + description: description, aliases: aliases } ); @@ -268,18 +269,18 @@ 'Set new label.' ); - assert.equal( - fingerprintview.value().description, - 'test description', + assert.ok( + fingerprintview.value().description.equals( description ), 'Did not change description.' ); label = new wb.datamodel.Term( 'en', 'test label' ); + description = new wb.datamodel.Term( 'en', '' ); fingerprintview.value( { language: 'en', label: label, - description: null, + description: description, aliases: aliases } ); @@ -288,9 +289,8 @@ 'Reset label.' ); - assert.strictEqual( - fingerprintview.value().description, - null, + assert.ok( + fingerprintview.value().description.equals( description ), 'Removed description.' ); @@ -299,7 +299,7 @@ fingerprintview.value( { language: 'en', label: label, - description: null, + description: description, aliases: aliases } ); @@ -313,7 +313,7 @@ fingerprintview.value( { language: 'en', label: label, - description: null, + description: description, aliases: aliases } ); @@ -327,7 +327,7 @@ fingerprintview.value( { language: 'de', label: label, - description: null, + description: description, aliases: aliases } ); }, diff --git a/lib/tests/qunit/jquery.wikibase/resources.php b/lib/tests/qunit/jquery.wikibase/resources.php index 7889923..071c68f 100644 --- a/lib/tests/qunit/jquery.wikibase/resources.php +++ b/lib/tests/qunit/jquery.wikibase/resources.php @@ -81,6 +81,7 @@ ), 'dependencies' => array( 'jquery.wikibase.descriptionview', + 'wikibase.datamodel.Term', ), ), -- To view, visit https://gerrit.wikimedia.org/r/171878 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I766b93ce6819d8905afb7109dbb4300b2d4450c9 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Henning Snater <henning.sna...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits