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