Articles

Affichage des articles du 2016

Hell with Angular: tests unitaires, ng-click et ng-disabled

Je vous donne cette petite astuce, car je viens de voir qu'il existe un bug connu dans Angular au niveau des tests unitaires. Parfois, pour tester des directives, nous simulons un click sur des élements où "ng-click" a été déclaré. Or parfois, nous utilisons de manière combinée un "ng-disabled" pour pouvoir cliquer ou non sur l'élément. Quand l'application tourne, pas de soucis. Dans les tests, en revanche, nous pouvons cliquer à n'importe quel moment ! Des ruses sur stackoverflow nous incite à déclarer dans le ng-click la condition mise dans le ng-disabled afin que la fonction du ng-click ne s'exécute que si la condition est remplise. C'est un peu ballot de faire du code redondant pour un bug côté test. Du coup, voici un petit bout de code que vous pouvez utiliser dans vos tests (à charger après la déclaration de votre module applicatif dans Karma), et qui permet de résoudre ça: angular . module ( ' myApp ' ) ...

Modifier les régles CSS de sa page en JavaScript

Image
Je viens de trouver une petite astuce intéressante afin de manipuler sa page. Mon besoin est le suivant: j'ai une application Web dont on voudrait customiser l'affichage, en l’occurrence les couleurs, les fonts, certaines icônes, etc... Le tout injecter en tant que query parameters. Le but est de pouvoir facilement paramétrer cela. Le plus facile en tant que développeur serait de demander un fichier CSS et de l'injecter dans sa page. Mais cela implique au développeur utilisateur de connaître la structuration du CSS de mon application. Et de la mettre à jour en fonction de son évolution. Une second solution serait d'injecter un fichier de variables Less avec les valeurs, et que l'application la charge et compile le Less "on the fly". Mais c'est très très lent. Une autre serait d'écouter les "MutationEvent" et de modifier les éléments. Mais non seulement c'est très, mais c'est un traitement quasi en continue: à ...

npmversion: comment faciliter le "bumping" et l'usage de "npm version"

Image
Lors de mes deux précédents articles, je vous avais présenter la commande npm "version", qui permet de faire l'équivalent du bumping. Pour rappel, mes deux articles: NodeJs et le bumping déjà présent NodeJs bumping: un exemple d'utilisation dans nos projets Après quelques semaines d'utilisations, j'ai pu m'apercevoir des points suivants: Soit nous avons un commit et un tag git, soit aucun des deux: nous ne pouvons pas avoir l'un ou l'autre L'option "sign-git-tag" pose parfois problème lors du setupage de son environnement (surtout sur un poste Windows) Le bumping avec un "preid" pourtant gérer dans la norme semver est ici ignorée Du coup, je me suis fait un petit outils s'appelant "npmversion" permettant de répondre à mes besoins sur la gestion d'un projet, comme: Faire un commit git, un tag git, les deux ou aucun Faire un bumping avec gestion du preid et du prenum Faire la ré...