Export 0.1.45
[framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.1.0 / tests / unit / widget / widget_core.js
1 /*
2  * mobile widget unit tests
3  */
4 (function($){
5         module('jquery.mobile.widget.js');
6
7         test( "getting data from creation options", function(){
8                 var expected = "bizzle";
9
10                 $.mobile.widget.prototype.options = { "fooBar" : true };
11                 $.mobile.widget.prototype.element = $("<div data-"+$.mobile.ns+"foo-bar=" + expected + ">");
12                 same($.mobile.widget.prototype._getCreateOptions()["fooBar"],
13                                  expected);
14         });
15
16         test( "getting no data when the options are empty", function(){
17                                 var expected = {};
18
19                 $.mobile.widget.prototype.options = {};
20                 $.mobile.widget.prototype.element = $("<div data-"+$.mobile.ns+"foo-bar=" + expected + ">");
21                 same($.mobile.widget.prototype._getCreateOptions(),
22                                  expected);
23         });
24
25         test( "getting no data when the element has none", function(){
26                 var expected = {};
27
28                 $.mobile.widget.prototype.options = { "fooBar" : true };
29                 $.mobile.widget.prototype.element = $("<div>");
30                 same($.mobile.widget.prototype._getCreateOptions(),
31                                  expected);
32         });
33
34         test( "elements embedded in sub page elements are excluded on create when they match the keep native selector", function() {
35                 // uses default keep native of data-role=none
36                 $("#enhance-prevented")
37                                 .append('<label for="unenhanced">Text Input:</label><input type="text" name="name" id="unenhanced" value="" data-'+$.mobile.ns+'role="none" />')
38                                 .trigger("create");
39
40                 ok( !$("#unenhanced").hasClass( "ui-input-text" ), "doesn't have the ui input text class (unenhanced)");
41         });
42
43         test( "elements embedded in sub page elements are included on create when they don't match the keep native selector", function() {
44
45                 // uses default keep native of data-role=none
46                 $("#enhance-allowed")
47                                 .append('<label for="enhanced">Text Input:</label><input type="text" name="name" id="enhanced" value=""/>')
48                                 .trigger("create");
49
50                 ok( $("#enhanced").hasClass( "ui-input-text" ), "has the ui input text class (unenhanced)");
51         });
52 })(jQuery);