webshim
Version:
modular capability-based polyfill loading libary, which extends jQuery with HTML5 features in legacy browsers
72 lines (53 loc) • 1.91 kB
JavaScript
(function($){
module("boolean attr");
var booleanJTest = function(i, data){
var elem = $(data.sel);
equals(elem.prop(data.attr), data.init, 'element initial boolean value');
elem.prop(data.attr, true);
equals(elem.prop(data.attr), true, 'element is set set to true');
//fals-y value test
elem.prop(data.attr, "");
equals(elem.prop(data.attr), false, 'element is set to false by using empty string');
};
var booleanContentTest = function(i, data){
var elem = $(data.sel);
elem.prop(data.attr, true);
//fals-y value test
elem.prop(data.attr, "");
equals(elem.attr(data.attr), undefined, 'element is set undefined by using empty string');
elem.attr(data.attr, "");
equals(elem.attr(data.attr), data.attr, 'element is set to "attribute name" by using empty string');
elem.removeAttr(data.attr);
equals(elem.attr(data.attr), undefined, 'element is set undefined by using removeAttr');
};
asyncTest("boolean IDL attributes", function(){
QUnit.reset();
$.each([{
sel: '#name',
attr: 'required',
init: true
}, {
sel: '#number',
attr: 'required',
init: false
}], booleanJTest);
$.webshims.ready('DOM forms forms-ext es5 canvas', function(){
start();
});
});
asyncTest("boolean content attributes", function(){
QUnit.reset();
$.each([{
sel: '#name',
attr: 'required',
init: 'required'
}, {
sel: '#number',
attr: 'required',
init: undefined
}], booleanContentTest);
$.webshims.ready('DOM forms forms-ext es5 canvas', function(){
start();
});
});
})(jQuery);