Henning Snater has uploaded a new change for review. https://gerrit.wikimedia.org/r/172506
Change subject: Added TemplatedWidget QUnit tests ...................................................................... Added TemplatedWidget QUnit tests Change-Id: Ib38ae165188d7fa23e97d7b2ff0eaafcb00e839f --- A lib/tests/qunit/jquery.ui/jquery.ui.TemplatedWidget.tests.js M lib/tests/qunit/resources.php 2 files changed, 83 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/06/172506/1 diff --git a/lib/tests/qunit/jquery.ui/jquery.ui.TemplatedWidget.tests.js b/lib/tests/qunit/jquery.ui/jquery.ui.TemplatedWidget.tests.js new file mode 100644 index 0000000..dab7e11 --- /dev/null +++ b/lib/tests/qunit/jquery.ui/jquery.ui.TemplatedWidget.tests.js @@ -0,0 +1,73 @@ +/** + * @licence GNU GPL v2+ + * @author H. Snater < [email protected] > + */ +( function( mw, $, QUnit ) { + 'use strict'; + +QUnit.module( 'jquery.ui.TemplatedWidget' ); + +QUnit.test( 'Create & destroy', function( assert ) { + var testSets = [ + [ + '<div><span>$1</span></div>', + { + templateParams: ['test'], + templateShortCuts: { + $div: 'span' + } + } + ] + ]; + + /** + * @param {Object} templateShortCuts + */ + function checkShortCuts( templateShortCuts ) { + $.each( templateShortCuts, function( key, selector ) { + assert.ok( + $subject.data( 'TemplatedWidget' )[key] instanceof $, + 'Assigned templateShortCut: ' + key + '.' + ); + } ); + } + + for( var i = 0; i < testSets.length; i++ ) { + mw.wbTemplates.store.set( 'templatedWidget-test', testSets[i][0] ); + + var $subject = $( '<div/>' ); + + $subject.TemplatedWidget( $.extend( { + template: 'templatedWidget-test' + }, testSets[i][1] ) ); + + assert.ok( + $subject.data( 'TemplatedWidget' ) instanceof $.ui.TemplatedWidget, + 'Test set #' + i + ': Initialized widget.' + ); + + $subject.removeAttr( 'class' ); + + assert.equal( + $( '<div/>' ).append( $subject ).html(), + $( '<div/>' ).append( + mw.wbTemplate( 'templatedWidget-test', testSets[i][1].templateParams ) + ).html(), + 'Verified generated HTML.' + ); + + if( testSets[i][1].templateShortCuts ) { + checkShortCuts( testSets[i][1].templateShortCuts ); + } + + $subject.data( 'TemplatedWidget' ).destroy(); + + assert.ok( + $subject.data( 'TemplatedWidget' ) === undefined, + 'Destroyed widget.' + ); + } + +} ); + +}( mediaWiki, jQuery, QUnit ) ); diff --git a/lib/tests/qunit/resources.php b/lib/tests/qunit/resources.php index 6031765..b3356e3 100644 --- a/lib/tests/qunit/resources.php +++ b/lib/tests/qunit/resources.php @@ -62,6 +62,16 @@ ), ), + 'jquery.ui.TemplatedWidget.tests' => $moduleBase + array( + 'scripts' => array( + 'jquery.ui/jquery.ui.TemplatedWidget.tests.js', + ), + 'dependencies' => array( + 'jquery.ui.TemplatedWidget', + 'wikibase.templates', + ), + ), + 'wikibase.dataTypes.tests' => $moduleBase + array( 'scripts' => array( 'wikibase.dataTypes/wikibase.dataTypes.tests.js', -- To view, visit https://gerrit.wikimedia.org/r/172506 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib38ae165188d7fa23e97d7b2ff0eaafcb00e839f Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Henning Snater <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
