jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/350233 )
Change subject: Add qunit test for jquery.wikibase.lexemeformview
......................................................................
Add qunit test for jquery.wikibase.lexemeformview
Change-Id: I23afc98861e109830891ef7fb6e315d00ecb26d9
---
M src/WikibaseLexeme.hooks.php
A tests/qunit/jquery.wikibase.lexemeformview.tests.js
2 files changed, 99 insertions(+), 0 deletions(-)
Approvals:
jenkins-bot: Verified
Thiemo Mättig (WMDE): Looks good to me, approved
diff --git a/src/WikibaseLexeme.hooks.php b/src/WikibaseLexeme.hooks.php
index 4e85b92..a96330a 100644
--- a/src/WikibaseLexeme.hooks.php
+++ b/src/WikibaseLexeme.hooks.php
@@ -82,6 +82,7 @@
'tests/qunit/services/ItemLookup.tests.js',
'tests/qunit/services/LanguageFromItemExtractor.tests.js',
'tests/qunit/special/formHelpers/LexemeLanguageFieldObserver.tests.js',
+
'tests/qunit/jquery.wikibase.lexemeformview.tests.js',
],
'dependencies' => [
'wikibase.lexeme.serialization.LexemeDeserializer',
@@ -89,6 +90,8 @@
'wikibase.lexeme.services.ItemLookup',
'wikibase.lexeme.services.LanguageFromItemExtractor',
'wikibase.lexeme.special.formHelpers.LexemeLanguageFieldObserver',
+ 'wikibase.lexeme.datamodel.LexemeForm',
+ 'jquery.wikibase.lexemeformview',
'oojs-ui'
],
'localBasePath' => dirname( __DIR__ ),
diff --git a/tests/qunit/jquery.wikibase.lexemeformview.tests.js
b/tests/qunit/jquery.wikibase.lexemeformview.tests.js
new file mode 100644
index 0000000..a7191d5
--- /dev/null
+++ b/tests/qunit/jquery.wikibase.lexemeformview.tests.js
@@ -0,0 +1,96 @@
+/**
+ * @license GPL-2.0+
+ */
+( function ( $, wb, QUnit ) {
+ 'use strict';
+
+ var TEST_LEXMEFORMVIEW_CLASS = 'test_lexemeformview';
+
+ QUnit.module( 'jquery.wikibase.lexemeformview', QUnit.newMwEnvironment(
{
+ teardown: function () {
+ $( '.' + TEST_LEXMEFORMVIEW_CLASS ).remove();
+ }
+ } ) );
+
+ var newLexemeFormView = function ( options ) {
+ var $node = $( '<div/>' ).appendTo( 'body' );
+
+ $node.addClass( TEST_LEXMEFORMVIEW_CLASS );
+
+ return $node.lexemeformview( options || {} ).data(
'lexemeformview' );
+ };
+
+ var newForm = function ( id, representation ) {
+ return new wb.lexeme.datamodel.LexemeForm( id, representation );
+ };
+
+ QUnit.test( 'can be created', function ( assert ) {
+ assert.ok( newLexemeFormView() instanceof
$.wikibase.lexemeformview );
+ } );
+
+ QUnit.test( 'value can be injected as option.value', function ( assert
) {
+ var form = newForm( 'F123', 'foo' ),
+ view = newLexemeFormView( {
+ value: form
+ } );
+
+ assert.equal( view.value(), form );
+ } );
+
+ QUnit.test( 'value() sets internal value', function ( assert ) {
+ var form1 = newForm( 'F123', 'foo' ),
+ form2 = newForm( 'F234', 'bar' ),
+ view = newLexemeFormView( {
+ value: form1
+ } );
+
+ view.value( form2 );
+ assert.equal( view.value(), form2 );
+ } );
+
+ QUnit.test( 'value() creates value from input if it is in edit mode',
function ( assert ) {
+ var view = newLexemeFormView(),
+ textInput = 'foobar';
+
+ view.startEditing();
+ view.element.find( view.options.inputNodeName ).val( textInput
);
+
+ assert.equal( view.value().getRepresentation(), textInput );
+ } );
+
+ QUnit.test( 'should be in edit mode by default when initialized without
a value', function ( assert ) {
+ assert.ok( newLexemeFormView().isInEditMode() );
+ } );
+
+ QUnit.test( 'should not be in edit mode by default when initialized
with a value', function ( assert ) {
+ assert.notOk( newLexemeFormView( { value: newForm( 'F123',
'foo' ) } ).isInEditMode() );
+ } );
+
+ QUnit.test( 'draws value in input node after startEditing()', function
( assert ) {
+ var form = newForm( 'F123', 'foobar' ),
+ view = newLexemeFormView( {
+ value: form
+ } );
+
+ view.startEditing();
+ assert.equal(
+ view.element.find( view.options.inputNodeName ).val(),
+ form.getRepresentation()
+ );
+ } );
+
+ QUnit.test( 'draws value in text node after stopEditing()', function (
assert ) {
+ var form = newForm( 'F123', 'foobar' ),
+ view = newLexemeFormView( {
+ value: form
+ } );
+
+ view.startEditing();
+ view.stopEditing();
+ assert.equal(
+ view.element.find( '.wikibase-lexeme-form-text'
).text(),
+ form.getRepresentation()
+ );
+ } );
+
+}( jQuery, wikibase, QUnit ) );
--
To view, visit https://gerrit.wikimedia.org/r/350233
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I23afc98861e109830891ef7fb6e315d00ecb26d9
Gerrit-PatchSet: 9
Gerrit-Project: mediawiki/extensions/WikibaseLexeme
Gerrit-Branch: master
Gerrit-Owner: Jakob <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits