Je travaille sur un système très léger pour tester un framework javascript que je construis pour le travail.javascript gestion des événements
J'ai créé une fonction de test qui fait office de wrapper en invoquant la fonction que je suis en train de tester dans un try/catch pour signaler un feedback sans interrompre mon cycle de test. Le problème est que mon catch n'est pas appelé quand je crée délibérément une erreur.
Mon code ....
/// <summary>
/// Acts as a wrapper to allow us to perform and report the result
/// of each individual
/// test without blocking further tests.
/// </summary>
/// <param name="selector" type="String">
/// The id jQuery selector e.g #versionTests to repot feedback to.
/// </param>
/// <param name="testFunction" type="Function">
/// The test function to call.
/// </param>
test: function (selector, testFunction) {
try {
// now we are calling our own callback function
if (typeof testFunction === 'function') {
testFunction.call();
}
} catch (e) {
jQuery(selector).addClass("error").append("<p>" + e.description + "</p>");
}
}
Merci à l'avance ....
EDIT .. Ajouté appelé le code pour plus de clarté.
La fonction de test que je fais appel est essentiellement sur qui appelle cette ....
testEqualizeHeight: function() {
PeachUI("div.heightTest").equalizeHeight();
}
Ce qui appelle cette ....... (this.selector
est une propriété qui reflète sélecteur de jQuerys.) Notez la '$'
manquante sur $selector.height(tallest);
equalizeHeight: function() {
/// <summary>
/// Equalizes the height of the specified element(s).
/// </summary>
var $tallest = 0, $selector = this.selector;
$selector.each(function() {
var $height = jQuery(this).height();
if ($height > $tallest) {
$tallest = $height;
}
});
// ie6 height is the same as min-height for other browsers.
if (PeachUI.browser.ie6) {
$selector.height(tallest);
} else {
$selector.css("min-height", $tallest);
}
}
Pouvez-vous poster le code qui est censé créer l'erreur? – cambraca