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

Reply via email to