Categories > TBS next version >

intégration pcre dans tbs pour les tests

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: ioguix
Date: 2006-03-07
Time: 23:30

intégration pcre dans tbs pour les tests

Salut,

J'avais posté un bout de fonction modifiée afin d'ajouter l'opérateur '~=' permettant de faire des tests via les expressions régulières dans tbs ( http://tinybutstrong.com/fr/forum.php?msg_id=4195 ).

Avant de me lancer dans son codage, j'aimerais savoir si le nouveau système de plugin de la v3.0 pourrait permettre d'ajouter cette fonctionnalité ?

Effectivement, ce serait plus pratique pour moi que de réintégrer ce petit bout de code dans TBS à chaque nouvelle version ou correction :)

Trés bonne idée en tout cas les plugins !

++
By: Skrol29
Date: 2006-03-08
Time: 12:01

Re: intégration pcre dans tbs pour les tests

Salut,

À priori, ce ne sera pas possible. En tout cas pas de cette façon.
Par contre il te sera possible de personaliser un paramètre. Par exemple :
"if2", et de coder son traitement dernière..
By: ioguix
Date: 2006-03-08
Time: 12:10

Re: intégration pcre dans tbs pour les tests

Salut,

Ok, j'utiliserai cette possibilité quand j'aurai un élan de courrage pour étudier et coder le plugin en question ;)

UN des avantages des PCRE dans TBS est de pouvoir faire facilement des OU : [test;if2 [val]~=/toto|tata/;...] .

++
By: Skrol29
Date: 2006-03-08
Time: 12:20

Re: intégration pcre dans tbs pour les tests

Je pense que je peux intégrer ta modif dans la V 3.0.

La V3.0 intégre la possibilité de faire plusieurs if/then. est-ce que cela solutionnerai ton problème ?
By: ioguix
Date: 2006-03-08
Time: 12:36

Re: intégration pcre dans tbs pour les tests

Salut,

Si l'imbrication de if;then;else répond au problème du OU dans les tests (Quoiqu'en terme de performance, je m'obstinerai sur les PCRE ;)).

En revanche, si on revient à mon problème original pour lequel j'avais intégré les PCRE dans dans la v2.05, ça n'irai pas. Effectivement, je devais tester si une variable débutait (ou finissait ou contenait...) par une certaine chaine. Par exemple : [test;if [val]~=/^(to)|(ta)/;...] me premet de considérer le test comme vrai si test débute par to ou ta (soit to* ou ta* en gros).

Mais bon, on peux imaginer toutes sorte d'autre application aux tests via les PCRE.

je regarderais ce soir l'histoire de la pluginisation qd même. Mais si tu décide de l'intégrer, et bien tant mieux ;)

++
By: Skrol29
Date: 2006-03-08
Time: 12:44

Re: intégration pcre dans tbs pour les tests

Bon, j'ai intégré ta modif dans la v 3.00b25 qui sera bientôt dipso en téléchargement.

Au lieu de :
  return (preg_match($Val2,$Val1));
j'ai codé :
  eturn (preg_match($Val2,$Val1)>0);
car la fonction doit retourner true ou false selon mes spec.

J'ai longtemps hésité à intégrer ta fonctionnalité car les expressions régulières sont des notions très "développeur" que TBS essai justement d'éviter. D'un autre côté, ça répond à un besoin réel je crois pour une solution de OU ou de LIKE.
By: ioguix
Date: 2006-03-08
Time: 14:17

Re: intégration pcre dans tbs pour les tests

Salut,

Il est vrai que ça demande quelques notions les regex, je comprend le dilemne.

Peut-être peut-on en simplifier la notation dans TBS et ainsi "cacher" les notations regex à l'utilisateur ?
Par exemple, une notation [test; if [val]|='to,ti"] et [test; if [val]~="*to*"] pour le Ou d'une part, les jokers d'autre part. Enfin, je pense qu'on peut trouver mieux comme notation hein ;)

Et puis au final, dans tinybutstrong,vous annoncez que c'est fait pour les débutants et les utilisateurs avancés/développeurs non ?

En tout cas, je suis bien content de pouvoir apporter des idées à votre beau projet :)

++
By: Skrol29
Date: 2006-03-08
Time: 16:17

Re: intégration pcre dans tbs pour les tests

Je pense le laisser tel quel en disant que c'est une fonction avancée.
Si on recadre la syntaxe, on va ausi enlever des fonctionnalités de vraies expressions régulières dont les développeurs avancés auront besoin un jour. Pour les débutant, il suffira de donner des exemples d'opération OU et LIKE.