From 25dae411bc7bb0e618db4df062fa2f1c08bfcc77 Mon Sep 17 00:00:00 2001 From: Scott González Date: Fri, 14 Jan 2011 15:52:03 -0500 Subject: Widget: Added _super() and _superApply() methods. Fixes #6861 - Widget: Add _super() and _superApply() for easy access to parent methods. --- tests/unit/widget/widget_core.js | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'tests/unit') diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index c01cd6542..388e078b0 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -228,6 +228,59 @@ test( "re-init", function() { same( actions, [ "optionfoo", "init" ], "correct methods called on re-init with options" ); }); +test( "._super()", function() { + expect( 6 ); + var instance; + $.widget( "ui.testWidget", { + method: function( a, b ) { + same( this, instance, "this is correct in super widget" ); + same( a, 5, "parameter passed to super widget" ); + same( b, 10, "second parameter passed to super widget" ); + return a + b; + } + }); + + $.widget( "ui.testWidget2", $.ui.testWidget, { + method: function( a ) { + same( this, instance, "this is correct in widget" ); + same( a, 5, "parameter passed to widget" ); + var ret = this._super( "method", a, a*2 ); + same( ret, 15, "super returned value" ); + } + }); + + instance = $( "
" ).testWidget2().data( "testWidget2" ); + instance.method( 5 ); + delete $.ui.testWidget2; +}); + +test( "._superApply()", function() { + expect( 7 ); + var instance; + $.widget( "ui.testWidget", { + method: function( a, b ) { + same( this, instance, "this is correct in super widget" ); + same( a, 5, "parameter passed to super widget" ); + same( b, 10, "second parameter passed to super widget" ); + return a + b; + } + }); + + $.widget( "ui.testWidget2", $.ui.testWidget, { + method: function( a, b ) { + same( this, instance, "this is correct in widget" ); + same( a, 5, "parameter passed to widget" ); + same( b, 10, "second parameter passed to widget" ); + var ret = this._superApply( "method", arguments ); + same( ret, 15, "super returned value" ); + } + }); + + instance = $( "
" ).testWidget2().data( "testWidget2" ); + instance.method( 5, 10 ); + delete $.ui.testWidget2; +}); + test( ".option() - getter", function() { $.widget( "ui.testWidget", { _create: function() {} -- cgit v1.2.3