Skip to content

Commit bc71499

Browse files
committed
Widget: Added tests for defaultElement and element normalization between jQuery objects, elements and selectors.
1 parent 29bfb86 commit bc71499

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

tests/unit/widget/widget_core.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,47 @@ test( "widget creation", function() {
2626
"option method copied over from base widget" );
2727
});
2828

29+
test( "element normalization", function() {
30+
expect( 10 );
31+
var elem;
32+
$.widget( "ui.testWidget", {} );
33+
34+
$.ui.testWidget.prototype._create = function() {
35+
ok( this.element.is( "div" ), "generated div" );
36+
same( this.element.data( "testWidget" ), this, "intance stored in .data()" );
37+
};
38+
$.ui.testWidget();
39+
40+
$.ui.testWidget.prototype.defaultElement = "<span data-test='pass'>";
41+
$.ui.testWidget.prototype._create = function() {
42+
ok( this.element.is( "span[data-test=pass]" ), "generated span with properties" );
43+
same( this.element.data( "testWidget" ), this, "instace stored in .data()" );
44+
};
45+
$.ui.testWidget();
46+
47+
elem = $( "<input>" );
48+
$.ui.testWidget.prototype._create = function() {
49+
same( this.element[ 0 ], elem[ 0 ], "from element" );
50+
same( elem.data( "testWidget" ), this, "instace stored in .data()" );
51+
};
52+
$.ui.testWidget( {}, elem[ 0 ] );
53+
54+
elem = $( "<div>" );
55+
$.ui.testWidget.prototype._create = function() {
56+
same( this.element[ 0 ], elem[ 0 ], "from jQuery object" );
57+
same( elem.data( "testWidget" ), this, "instace stored in .data()" );
58+
};
59+
$.ui.testWidget( {}, elem );
60+
61+
elem = $( "<div id='element-normalization-selector'></div>" )
62+
.appendTo( "#main" );
63+
$.ui.testWidget.prototype._create = function() {
64+
same( this.element[ 0 ], elem[ 0 ], "from selector" );
65+
same( elem.data( "testWidget" ), this, "instace stored in .data()" );
66+
};
67+
$.ui.testWidget( {}, "#element-normalization-selector" );
68+
});
69+
2970
test( "jQuery usage", function() {
3071
expect( 11 );
3172

0 commit comments

Comments
 (0)