Skip to content
Extraits de code Groupes Projets
Valider f3120a68 rédigé par ben.spip@gmail.com's avatar ben.spip@gmail.com
Parcourir les fichiers

et réaparaissent

git-svn-id: https://zone.spip.org/spip-zone/_core_/tests@28915 ac52e18a-acf5-0310-9fe8-c4428f23b10a
parent
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 376 ajouts et 0 suppression
[(#REM)
Test pour la balise #AUTORISER
]
[(#AUTORISER{niet}?{Ah ben non !! il faut pas...,
[(#AUTORISER{ok}?{OK,Allez quoi dis-moi oui!})]
})]
\ No newline at end of file
[(#REM)
la balise CONFIG sert a récupérer des valeurs de spip_meta
]
[(#SET{err,''}|test_meta)]
[(#CONFIG{pasla}|=={''}|?{'',' '})
#SET{err,1}
!=&#35;CONFIG{pasla}==#CONFIG{pasla}<br />]
[(#CONFIG{pasla,defaut}|=={defaut}|?{'',' '})
#SET{err,1}
defaut!=&#35;CONFIG{pasla,defaut}==#CONFIG{pasla,defaut}<br />]
[(#CONFIG{chaine}|=={une chaine}|?{'',' '})
#SET{err,1}
une chaine!=&#35;CONFIG{chaine}==#CONFIG{chaine}<br />]
[(#CONFIG{chaine,defaut}|=={une chaine}|?{'',' '})
#SET{err,1}
une chaine!=&#35;CONFIG{chaine,defaut}==#CONFIG{chaine,defaut}<br />]
[(#CONFIG{zero}|=={0}|?{'',' '})
#SET{err,1}
0!=&#35;CONFIG{zero}==#CONFIG{zero}<br />]
[(#CONFIG{zero,defaut}|=={0}|?{'',' '})
#SET{err,1}
0!=&#35;CONFIG{zero,defaut}==#CONFIG{zero,defaut}<br />]
[(#CONFIG{zeroc}|=={'0'}|?{'',' '})
#SET{err,1}
0!=&#35;CONFIG{zeroc}==#CONFIG{zeroc}<br />]
[(#CONFIG{zeroc,defaut}|=={'0'}|?{'',' '})
#SET{err,1}
0!=&#35;CONFIG{zeroc,defaut}==#CONFIG{zeroc,defaut}<br />]
[(#CONFIG{assoc,'',''}|=={#ARRAY{one,element 1,two,element 2}}|?{'',' '})
#SET{err,1}
array('one'=>'element 1','two'=>'element 2')!=&#35;CONFIG{assoc}==[(#CONFIG{assoc}|var_export{1})]<br />]
[(#CONFIG{assoc,defaut,''}|=={#ARRAY{one,element 1,two,element 2}}|?{'',' '})
#SET{err,1}
array('one'=>'element 1','two'=>'element 2')!=&#35;CONFIG{assoc,defaut}==[(#CONFIG{assoc,defaut}|var_export{1})]<br />]
[(#CONFIG{serie}|=={a:2:{s:3:"one";s:9:"element 1";s:3:"two";s:9:"element 2";}}|?{'',' '})
#SET{err,1}
a:2:{s:3:"one";s:9:"element 1";s:3:"two";s:9:"element 2";}!=&#35;CONFIG{serie}==#CONFIG{serie}<br />]
[(#CONFIG{serie,defaut}|=={a:2:{s:3:"one";s:9:"element 1";s:3:"two";s:9:"element 2";}}|?{'',' '})
#SET{err,1}
a:2:{s:3:"one";s:9:"element 1";s:3:"two";s:9:"element 2";}!=&#35;CONFIG{serie,defaut}==#CONFIG{serie,defaut}<br />]
[(#GET{err}|?{ERREUR,OK})]
<?php
// un filtre pour blinder les metas de test
function test_meta() {
$assoc = array('one' => 'element 1', 'two' => 'element 2');
$GLOBALS['meta'] = array(
'zero' => 0,
'zeroc' => '0',
'chaine' => 'une chaine',
'assoc' => $assoc,
'serie' => serialize($assoc)
);
}
?>
[(#REM)
la balise EXPOSE sert a mettre en relief un element
]
filtre:strip_tags
<BOUCLE_select(RUBRIQUES){0,1}>
<BOUCLE_rubrique2(RUBRIQUES){id_rubrique}>
#SET{expose,#INCLURE{fond=#DOSSIER_SQUELETTE/inclus_expose}{id_rubrique}|trim}
</BOUCLE_rubrique2>
<BOUCLE_rubrique3(RUBRIQUES){id_rubrique!=#ID_RUBRIQUE}{0,1}>
#SET{expose,#GET{expose}|concat{#INCLURE{fond=#DOSSIER_SQUELETTE/inclus_expose}{id_rubrique}|trim} }
</BOUCLE_rubrique3>
NA Ce test exige l'existence d'au moins deux rubriques publiees
<//B_rubrique3>
[(#GET{expose}|=={ONOFF}|?{OK,ERREUR:#GET{expose}})]
</BOUCLE_select>
[(#REM)
Foreach verification de ce que dit http://www.spip-contrib.net/Balise-FOREACH
]
[(#SET{err,''})]
[(#CONFIG|?{'',' '})
#SET{err,1}
&#35;CONFIG n'existe pas
<br />]
[(#FOREACH{CONFIG}|?{'',' '})
#SET{err,1}
&#35;CONFIG n'est pas retourné via le modele foreach.html
<br />]
[(#FOREACH{CONFIG,''}|?{'',' '})
#SET{err,1}
&#35;FOREACH{CONFIG,''} n'est pas traité par modeles/foreach.html
<br />]
[(#FOREACH{CONFIG,foreach_ul_li}|?{'',' '})
#SET{err,1}
&#35;FOREACH{CONFIG,foreach_ul_li} n'est pas traité par modeles/foreach_ul_li.html
<br />]
[(#CONFIG{plugin}|unserialize|count|>{1}|oui)
[(#FOREACH{CONFIG,'',plugin}|?{'',' '})
#SET{err,1}
&#35;FOREACH{CONFIG,'',index_table} n'est pas retourné via le modele foreach.html
<br />]
]
[(#GET{err}|?{ERREUR,OK})]
[(#REM)
la balise INCLURE avec un tableau en argument
]
#SET{test1,(#INCLURE{fond=#DOSSIER_SQUELETTE/inclus_article}{zero=1})}
#SET{test1,#GET{test1}|concat{(#INCLURE{fond=#DOSSIER_SQUELETTE/inclus_rien})}}
#SET{test1,#GET{test1}|concat{(#INCLURE{fond=#DOSSIER_SQUELETTE/inclus_article}{zero=1})}}
#SET{fonds,#ARRAY{0,#DOSSIER_SQUELETTE/inclus_article,1,#DOSSIER_SQUELETTE/inclus_rien,2,#DOSSIER_SQUELETTE/inclus_article}}
#SET{test2,(#INCLURE{fond=#GET{fonds}}{zero=1})}
[(#GET{test1}|=={#GET{test2}}|?{OK,#GET{test1}!=#GET{test2}})]
<?php ob_start();
?><INCLURE{fond=#GET{fonds}}{zero=1}><?php
$texte = ob_get_contents();
ob_end_clean();
$attendu = '[(#GET{test1}|texte_script)]';
if ($texte!==$attendu) {
echo "Erreur sur &lt;INCLURE&gt; avec un tableau pour fond : $texte ; attendu : $attendu";
}
?>
\ No newline at end of file
[(#REM)
INCLURE un fichier non existant
]
filtre:fin_inclure_manquant
#SET{toto,'toto9876543210'}
[(#GET{toto}|concat{'.html'}|find_in_path|?{le fichier [(#GET{toto})] ne doit pas exister})]
<INCLURE{fond=#GET{toto}}{env}>
<?php
function fin_inclure_manquant() {
if (!$GLOBALS['tableau_des_erreurs'])
return "pas d'erreur declenchee";
$GLOBALS['tableau_des_erreurs'] = array();
return 'OK';
}
?>
\ No newline at end of file
<BOUCLE_art(ARTICLES){#ENV{zero,0},1}>test:#ID_ARTICLE</BOUCLE_art>
\ No newline at end of file
<BOUCLE_menu_secteur2(RUBRIQUES){0,1}>
#EXPOSE{ON,OFF}
</BOUCLE_menu_secteur2>
[(#REM)
Teste la balise INTRODUCTION
notamment avec son
define('_INTRODUCTION_SUITE', '___SUITE');
Note: ces tests ne sont pas vraiment fiables, ils peuvent echouer parce que
la base de donnees ne contient pas de texte correspondant a ce qu'il faut.
]
[(#REM) un article de redirection n'a pas d'introduction]
<BOUCLE_b(ARTICLES){chapo=='^='}{descriptif=''}{0,1}>
[(#INTRODUCTION)erreur sur l'article de redirection #ID_ARTICLE]
</BOUCLE_b>
NA necessite article de redirection
<//B_b>
[(#REM) une introduction normale doit finir par _INTRODUCTION_SUITE]
<BOUCLE_a(ARTICLES){chapo=='.{100}'}{texte>''}{descriptif=''}{chapo!=='^='}{0,1}>
[(#INTRODUCTION|match{___SUITE$}|?{OK,#INTRODUCTION})]
</BOUCLE_a>
NA necessite un article avec un texte long et pas de descriptif
<//B_a>
<?php
// on va tester ce hack
define('_INTRODUCTION_SUITE', '___SUITE');
?>
[(#REM)
LESAUTEURS doit afficher quelque chose :-)
]
<BOUCLE_a(ARTICLES){id_auteur>0}{0,1}>
[(#LESAUTEURS|?{OK,'#LESAUTEURS a echoue'})]
</BOUCLE_a>
Ce test ne fonctionne que s'il existe un article ayant un auteur !
<//B_a>
\ No newline at end of file
[(#REM)
MIME_TYPE doit afficher le type mime des docs...
]
<BOUCLE_d(DOCUMENTS){extension IN jpg}{0,1}>
[(#MIME_TYPE|match{^image/jpeg$}|?{OK, erreur mime_type : #MIME_TYPE})]
</BOUCLE_d>
NA Ce test ne fonctionne que s'il y a au moins un document jpg dans le site !
<//B_d>
[(#REM)
Les notes
Quelques soucis avec les modeles
]
[(#REM)
Ce bloc est en premier, et contient des notes separees par un MODELE;
il ne doit pas "sauter" de compteur_notes (nb2-2)
]
[(#EVAL{"chr(91).chr(91).'note1'.chr(93).chr(93).'<img1>'.chr(91).chr(91).'note2'.chr(93).chr(93)"}|propre|match{'nb.-1'}|?{#SET{err1,'Le compteur_notes a change a cause du modele'#NOTES}})]
[(#REM)
Ce bloc teste le bug introduit en
http://trac.rezo.net/trac/spip/changeset/8847
et corrige en
http://trac.rezo.net/trac/spip/changeset/8872
]
[(#EVAL{"chr(91).chr(91).'Ma note'.chr(93).chr(93)"}|propre|?)]
[(#INCLURE{fond=#DOSSIER_SQUELETTE/inclus_rien})]
[(#NOTES|match{Ma note}|?{'',#SET{err2,'Une note mangee par #INCLURE'}})]
#GET{err1}
#GET{err2}
[(#GET{err1}|?{'',[(#GET{err2}|?{'',OK})]})]
[(#REM)
Teste que la balise #SESSION correspond bien a l'auteur connecte
(Comme on est appelle avec var_mode:recalcul ce test est un peu nul...)
]
<?php
include_spip('inc/texte');
$auteur_session = $GLOBALS['auteur_session'];
if (intval($auteur_session['id_auteur'])
!= intval('#SESSION{id_auteur}')
OR interdire_scripts($auteur_session['nom'])
!= '[(#SESSION{nom}|texte_script)]'
)
die ('oups session');
else
echo "OK";
?>
[(#REM)
Teste la balise #_boucle:ID_ARTICLE
]
#CACHE{0}
<BOUCLE_a(ARTICLES){0,1}{doublons}>
#SET{ida,#ID_ARTICLE}
</BOUCLE_a>
<BOUCLE_b(ARTICLES){0,1}{doublons}>
#SET{idb,#ID_ARTICLE}
<BOUCLE_c(ARTICLES){0,1}{doublons}>
#SET{idc,#ID_ARTICLE}
#SET{idac,#_a:ID_ARTICLE} [(#REM) ici #_a:ID_ARTICLE n'est pas cense etre defini ]
#SET{idbc,#_b:ID_ARTICLE}
</BOUCLE_c>
NA Il faut au moins 3 articles publiés !
<//B_c>
</BOUCLE_b>
NA Il faut au moins 3 articles publiés !
<//B_b>
[(#GET{ida}|=={#GET{idac}}|?{
bug 1,
[(#GET{idb}|=={#GET{idbc}}|?{
OK,
bug 2
})]
})]
[(#REM)
#SET et boucle recursive
http://trac.rezo.net/trac/spip/ticket/764
]
OK [(#REM) en cas d'echec, le compilo plante ]
#CACHE{0}
<BOUCLE_secteurs(RUBRIQUES) {0,1}>
<B_Rubriques>
#SET{'niveau','0'}
<BOUCLE_Rubriques(RUBRIQUES) {id_parent} {par titre}>
<BOUCLE_Sous_Rubriques(BOUCLE_Rubriques)></BOUCLE_Sous_Rubriques>
</BOUCLE_Rubriques>
</B_Rubriques>
</BOUCLE_secteurs>
<BOUCLE_a(ARTICLES){doublons}></BOUCLE_a>
<BOUCLE_b(ARTICLES){doublons}{0,1}>erreur doublons articles</BOUCLE_b>
<BOUCLE_a1(BREVES){doublons}></BOUCLE_a1>
<BOUCLE_b1(BREVES){doublons}{0,1}>erreur doublons breves</BOUCLE_b1>
<BOUCLE_a2(RUBRIQUES){doublons}></BOUCLE_a2>
<BOUCLE_b2(RUBRIQUES){doublons}{0,1}>erreur doublons rubriques</BOUCLE_b2>
<BOUCLE_a3(DOCUMENTS){doublons}{id_document<100}></BOUCLE_a3>
<BOUCLE_b3(DOCUMENTS){doublons}{id_document<100}{0,1}>erreur doublons documents</BOUCLE_b3>
<BOUCLE_a4(FORUMS){doublons}{id_forum<100}></BOUCLE_a4>
<BOUCLE_b4(FORUMS){doublons}{id_forum<100}{0,1}>erreur doublons forums</BOUCLE_b4>
OK
<//B_b4>
<//B_b3>
<//B_b2>
<//B_b1>
<//B_b>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter