@@ -4,6 +4,7 @@ module( "widget factory", {
4
4
teardown : function ( ) {
5
5
if ( $ . ui ) {
6
6
delete $ . ui . testWidget ;
7
+ delete $ . fn . testWidget ;
7
8
}
8
9
}
9
10
} ) ;
@@ -1305,4 +1306,56 @@ asyncTest( "_delay", function() {
1305
1306
$ ( "#widget" ) . testWidget ( ) ;
1306
1307
} ) ;
1307
1308
1309
+ test ( "$.widget.bridge()" , function ( ) {
1310
+ expect ( 9 ) ;
1311
+
1312
+ var instance , ret ,
1313
+ elem = $ ( "<div>" ) ;
1314
+
1315
+ function TestWidget ( options , element ) {
1316
+ deepEqual ( options , { foo : "bar" } , "options passed" ) ;
1317
+ strictEqual ( element , elem [ 0 ] , "element passed" ) ;
1318
+ }
1319
+
1320
+ $ . extend ( TestWidget . prototype , {
1321
+ method : function ( param ) {
1322
+ ok ( true , "method called via .pluginName(methodName)" ) ;
1323
+ equal ( param , "value1" ,
1324
+ "parameter passed via .pluginName(methodName, param)" ) ;
1325
+ } ,
1326
+ getter : function ( ) {
1327
+ return "qux" ;
1328
+ }
1329
+ } ) ;
1330
+
1331
+ $ . widget . bridge ( "testWidget" , TestWidget ) ;
1332
+
1333
+ ok ( $ . isFunction ( $ . fn . testWidget ) , "jQuery plugin was created" ) ;
1334
+
1335
+ strictEqual ( elem . testWidget ( { foo : "bar" } ) , elem , "plugin returns original jQuery object" ) ;
1336
+ instance = elem . data ( "testWidget" ) ;
1337
+ equal ( typeof instance , "object" , "instance stored in .data(pluginName)" ) ;
1338
+
1339
+ ret = elem . testWidget ( "method" , "value1" ) ;
1340
+ equal ( ret , elem , "jQuery object returned from method call" ) ;
1341
+
1342
+ ret = elem . testWidget ( "getter" ) ;
1343
+ equal ( ret , "qux" , "getter returns value" ) ;
1344
+ } ) ;
1345
+
1346
+ test ( "$.widget.bridge() - widgetFullName" , function ( ) {
1347
+ expect ( 1 ) ;
1348
+
1349
+ var instance ,
1350
+ elem = $ ( "<div>" ) ;
1351
+
1352
+ function TestWidget ( ) { }
1353
+ TestWidget . prototype . widgetFullName = "custom-widget" ;
1354
+ $ . widget . bridge ( "testWidget" , TestWidget ) ;
1355
+
1356
+ elem . testWidget ( ) ;
1357
+ instance = elem . data ( "custom-widget" ) ;
1358
+ equal ( typeof instance , "object" , "instance stored in .data(widgetFullName)" ) ;
1359
+ } ) ;
1360
+
1308
1361
} ( jQuery ) ) ;
0 commit comments