Aide sur le comportement des cases à cocher des tests unitaires. J'ai cette page:Inversion de la case à cocher en JavaScript avec jQuery
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('<div><input type="checkbox" name="makeHidden" id="makeHidden" checked="checked" />Make Hidden</div>').appendTo('body');
$('<div id="displayer" style="display:none;">Was Hidden</div>').appendTo('body');
$('#makeHidden').click(function() {
var isChecked = $(this).is(':checked');
if (isChecked) {
$('#displayer').hide();
}
else {
$('#displayer').show();
}
return false;
});
});
</script>
</head>
<body>
</body>
</html>
Cela ne fonctionne pas, il est à cause de la return false;
dans le gestionnaire de clic. Si je l'enlève, ça fonctionne très bien. Le problème est que si je tire la fonction de clic sur dans sa propre fonction et test unitaire avec QUnit il ne fonctionnera pas sans return false;
[EDIT] En utilisant @ patrick répondre à mes résultats sont les suivants:
Firefox :
- Test manuel du jouet - bon.
- Tests unitaires - bien.
- Test manuel de l'application de production - bien.
Internet Explorer:
- Test manuel de jouet - échec.
- Tests unitaires - bien.
- Test manuel de l'application de production - Échec.
Internet Explorer requiert initialement un clic. après cela, il faut deux clics.
Je pensais que jQuery est de faire abstraction des navigateurs? Est-ce que je vais avoir à surcharger le comportement entier de la case à cocher pour une solution?
Dans mes tests unitaires voilà comment je fais la simulation de case à cocher d'un utilisateur:
$(':input[name=shipToNotActive]').removeAttr('checked');
$('#shipToNotActive').change();
et aussi:
$(':input[name=shipToNotActive]').attr('checked', 'checked');
$('#shipToNotActive').change();
Cela fonctionne jusqu'à présent dans mon exemple de jouet. Maintenant, laissez-moi exécuter mes tests en code réel! – Gutzofter
Ça a l'air bien. Tiens-moi au courant de ce que ça devient. – user113716
Fonctionne comme un charme dans Firefox. Firefox: Test manuel du jouet - bien. Tests unitaires - bien. Test manuel de l'application de production - bien. Internet Explorer: Test manuel du jouet - échoué. Tests unitaires - bien. Test manuel de l'application de production - échouer. Internet Explorer nécessite initialement un clic. après cela, il faut deux clics. – Gutzofter