mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-04-27 17:34:45 +00:00
Added $.testHelper.deferredSequence
Renamed reloadLib to reloadModule Resuscitated $.testHelper.reloadLib
This commit is contained in:
parent
02baaf67f7
commit
043a5164c9
2 changed files with 67 additions and 7 deletions
|
|
@ -55,7 +55,7 @@
|
|||
|
||||
reloads: {},
|
||||
|
||||
reloadLib: function(libName){
|
||||
reloadModule: function(libName){
|
||||
var deferred = $.Deferred();
|
||||
if(this.reloads[libName] === undefined) {
|
||||
this.reloads[libName] = {
|
||||
|
|
@ -76,6 +76,22 @@
|
|||
return deferred;
|
||||
},
|
||||
|
||||
reloadLib: function(libName){
|
||||
if(this.reloads[libName] === undefined) {
|
||||
this.reloads[libName] = {
|
||||
lib: $("script[src$='" + libName + "']"),
|
||||
count: 0
|
||||
};
|
||||
}
|
||||
|
||||
var lib = this.reloads[libName].lib.clone(),
|
||||
src = lib.attr('src');
|
||||
|
||||
//NOTE append "cache breaker" to force reload
|
||||
lib.attr('src', src + "?" + this.reloads[libName].count++);
|
||||
$("body").append(lib);
|
||||
},
|
||||
|
||||
rerunQunit: function(){
|
||||
var self = this;
|
||||
QUnit.init();
|
||||
|
|
@ -147,6 +163,37 @@
|
|||
fn(timedOut);
|
||||
},
|
||||
|
||||
deferredSequence: function(fns) {
|
||||
var fn = fns.shift(),
|
||||
deferred = $.Deferred(),
|
||||
self = this;
|
||||
|
||||
if (fn) {
|
||||
res = fn();
|
||||
if ( res && $.type( res.done ) === "function" ) {
|
||||
res.done(
|
||||
function() {
|
||||
self.deferredSequence( fns ).done(
|
||||
function() {
|
||||
deferred.resolve();
|
||||
}
|
||||
);
|
||||
}
|
||||
)
|
||||
} else {
|
||||
self.deferredSequence( fns ).done(
|
||||
function() {
|
||||
deferred.resolve();
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
} else {
|
||||
deferred.resolve();
|
||||
}
|
||||
return deferred;
|
||||
},
|
||||
|
||||
decorate: function(opts){
|
||||
var thisVal = opts.self || window;
|
||||
|
||||
|
|
|
|||
|
|
@ -24,14 +24,27 @@
|
|||
});
|
||||
|
||||
$.testHelper.excludeFileProtocol(function(){
|
||||
test( "grade A browser either supports media queries or is IE 7+", function(){
|
||||
asyncTest( "grade A browser either supports media queries or is IE 7+", function(){
|
||||
setGradeA(false, 6);
|
||||
$.testHelper.reloadLib(libName);
|
||||
ok(!$.mobile.gradeA());
|
||||
$.testHelper.deferredSequence([
|
||||
function() {
|
||||
return $.testHelper.reloadModule(libName);
|
||||
},
|
||||
|
||||
setGradeA(true, 8);
|
||||
$.testHelper.reloadLib(libName);
|
||||
ok($.mobile.gradeA());
|
||||
function() {
|
||||
ok(!$.mobile.gradeA());
|
||||
},
|
||||
|
||||
function() {
|
||||
setGradeA(true, 8);
|
||||
return $.testHelper.reloadModule(libName);
|
||||
},
|
||||
|
||||
function() {
|
||||
ok($.mobile.gradeA());
|
||||
start();
|
||||
}
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue