Jakob has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/350233 )

Change subject: [WIP] Add qunit test for jquery.wikibase.lexemeformview
......................................................................

[WIP] 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, 64 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme 
refs/changes/33/350233/1

diff --git a/src/WikibaseLexeme.hooks.php b/src/WikibaseLexeme.hooks.php
index cf59811..42f5d75 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',
                                
'tests/qunit/jquery.wikibase.lexemeformlistview.tests.js',
                        ],
                        'dependencies' => [
@@ -90,7 +91,9 @@
                                'wikibase.lexeme.services.ItemLookup',
                                
'wikibase.lexeme.services.LanguageFromItemExtractor',
                                
'wikibase.lexeme.special.formHelpers.LexemeLanguageFieldObserver',
+                               'wikibase.lexeme.datamodel.LexemeForm',
                                'jquery.wikibase.lexemeformlistview',
+                               '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..f820fe2
--- /dev/null
+++ b/tests/qunit/jquery.wikibase.lexemeformview.tests.js
@@ -0,0 +1,61 @@
+/**
+ * @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( 'L123', 'foo' ),
+                       view = newLexemeFormView( {
+                               value: form
+                       } );
+
+               assert.equal( view.value(), form );
+       } );
+
+       QUnit.test( 'value() sets internal value', function ( assert ) {
+               var form1 = newForm( 'L123', 'foo' ),
+                       form2 = newForm( 'L234', '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 );
+       } );
+
+}( jQuery, wikibase, QUnit ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/350233
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I23afc98861e109830891ef7fb6e315d00ecb26d9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseLexeme
Gerrit-Branch: master
Gerrit-Owner: Jakob <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to