Avec mes deux tentatives pour obtenir un message posté sur le JSpec Google Group ayant apparemment échoué, je poste ici à la place.JSpec - RangeError: La taille maximale de la pile d'appels a été dépassée
Je rencontre des problèmes avec JSpec apparemment aller dans une boucle récursive infinie avec un certain type de test (ci-dessous). Des idées? Y at-il quelque chose qui ne va pas avec mon code ou est-ce que c'est JSpec? Je cours JSpec 2.11.2 via Ruby Gem. Les erreurs sont 'RangeError: taille maximale de la pile d'appels dépassée'. (Safari) et 'InternalError: trop de récursion' (FF/Mac). Je peux ajouter un élément à une pièce en utilisant la console Firebug, sans erreur.
Pour reproduire le problème, créez un modèle de projet jspec en utilisant 'jspec init test'. Ensuite, modifiez les fichiers suivants comme ceci:
yourlib.core.js
var Game = {};
Game.item = function() {
var result = {
name : 'Undefined',
room : null
}
return result;
};
Game.room = function() {
var result = {
items : [],
addItem : function (name) {
var item = Game.item();
item.name = name;
item.room = this;
this.items.push(item);
return item;
}
};
return result;
};
spec.core.js
describe 'Room'
before_each
room = Game.room()
end
describe 'addItem()'
before_each
potion = room.addItem('Potion')
key = room.addItem('Key')
end
//this is fine
it 'should return two different items'
key.should_not.be potion
end
//InternalError: too much recursion
it 'should not give recursion error'
key.should.be potion
end
end
end
jamais entendu parler de JSpec avant. désolé :(Presque tout votre code semble assez simple pour ne rien rendre fou, sauf peut-être "item.room = this;" – Tei