diff --git a/tests/library/Class/ArticleFormulaireTest.php b/tests/library/Class/ArticleFormulaireTest.php index dec8855d7df02ad190fd6c858c9c232d31fb1f08..41360a5c9678f0b611239b84bf8c3e0aff9b1ded 100644 --- a/tests/library/Class/ArticleFormulaireTest.php +++ b/tests/library/Class/ArticleFormulaireTest.php @@ -19,16 +19,16 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -class ArticleFormulaireInternalTest extends ModelTestCase { - protected - $_storm_default_to_volatile = true; +class ArticleFormulaireInternalTest extends ViewHelperTestCase { + protected $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); - $this->_article = $this->fixture('Class_Article', - ['id' => 2, - 'titre' => 'Contactez-nous !', - 'contenu' => '<FORM id="idform" action=\'form\' method="post" name="form" target="_blank"> + + $article = $this->fixture('Class_Article', + ['id' => 2, + 'titre' => 'Contactez-nous !', + 'contenu' => '<FORM id="idform" action=\'form\' method="post" name="form" target="_blank"> <p> Donnee 1 :<br /><input name="champs texte" type="text" value="champtxt" /> <input value="champ2" name=\'champs texte\' type="text"/></p> <p> </p> @@ -37,89 +37,103 @@ class ArticleFormulaireInternalTest extends ModelTestCase { <input type="submit" value="send" name="send"/> </form> - POST<form method="POST"> + POST<form method="POST" id="without_action"> <input type="button" value="likebutton" /> <input data-spambots="true" name="emailCheck" type="text" /> </form> - EMPTY<form> + EMPTY<form id="empty"> </form> ']); + + $this->_content = $article->getContenu(); } /** @test */ public function formIdFormActionShouldBeFormulaireAdd() { - $this->assertContains('<FORM action="'.BASE_URL.'/formulaire/add/id_article/2" method="POST" id="idform" name="form" target="_blank', - $this->_article->getContenu()); + $this + ->assertXPath($this->_content, + '//form[contains(@action, "/formulaire/add/id_article/2")][@id="idform"][@method="POST"]'); } /** @test */ public function eachFormShouldContainsInputEmailCheckForSpamBot() { - $xpath = new Storm_Test_XPath(); - $xpath->assertXPathCount($this->_article->getContenu(), - '//form/input[@name="emailCheck"][@data-spambots="true"]', - 3); + $this + ->assertXPathCount($this->_content, + '//form/input[@name="emailCheck"][@data-spambots="true"]', + 3); } /** @test */ - public function formWithMethodPostActionShouldBeFormulaireAdd() { - $this->assertContains('POST<form action="'.BASE_URL.'/formulaire/add/id_article/2" method="POST" >', - $this->_article->getContenu()); + public function withoutActionFormShouldHaveFormulaireAddAction() { + $this + ->assertXPath($this->_content, + '//form[contains(@action, "/formulaire/add/id_article/2")][@id="without_action"][@method="POST"]'); } /** @test */ - public function emptyFormActionShouldBeFormulaireAdd() { - $this->assertContains('EMPTY<form action="'.BASE_URL.'/formulaire/add/id_article/2" method="POST" >', - $this->_article->getContenu()); + public function emptyFormShouldHaveFormulaireAddAction() { + $this + ->assertXPath($this->_content, + '//form[contains(@action, "/formulaire/add/id_article/2")][@id="empty"][@method="POST"]'); } /** @test */ public function formSubmitButtonShouldHaveNoName() { - $this->assertContains('<input value="click !" type="submit"/>', - $this->_article->getContenu()); + $this + ->assertXPath($this->_content, + '//input[@value="click !"][@type="submit"][not(@name)]'); } /** @test */ public function formNotSubmitButtonShouldNotBeChanged() { - $this->assertContains( - '<input name="champs texte" type="text" value="champtxt" />', - $this->_article->getContenu()); + $this + ->assertXPath($this->_content, + '//input[@name="champs texte"][@type="text"][@value="champtxt"]'); } /** @test */ public function formSubmitButtonNamedEnvoiShouldHaveNoName() { - $this->assertContains('<input value="envoi" type="submit"/>', - $this->_article->getContenu()); + $this + ->assertXPath($this->_content, + '//input[@value="envoi"][@type="submit"][not(@name)]'); } + /** @test */ public function formSubmitButtonNamedSendShouldHaveNoName() { - $this->assertContains('<input value="send" type="submit"/>', - $this->_article->getContenu()); + $this + ->assertXPath($this->_content, + '//input[@value="send"][@type="submit"][not(@name)]'); } /** @test */ public function formTypeButtonShouldBeTransformedToSubmit() { - $this->assertContains('<input value="likebutton" type="submit"/>', - $this->_article->getContenu()); + $this + ->assertXPath($this->_content, + '//input[@value="likebutton"][@type="submit"][not(@name)]'); } } class ArticleFormulaireWithLegacyEmailCheckTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + public function setUp() { parent::setUp(); - $this->_article = Class_Article::newInstanceWithId(2,['titre' => 'Contactez-nous !', - 'contenu' => ' + $this->_article = $this->fixture('Class_Article', + ['id' => 2, + 'titre' => 'Contactez-nous !', + 'contenu' => ' <form id="old" > <input name="extenvoi" value="extenvoi" type="submit"/> <input name="emailCheck" /> @@ -136,11 +150,16 @@ class ArticleFormulaireWithLegacyEmailCheckTest extends ModelTestCase { -class ArticleFormulaireExternalTest extends Storm_Test_ModelTestCase { +class ArticleFormulaireExternalTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + public function setUp() { parent::setUp(); - $this->_article = Class_Article::newInstanceWithId(2,['titre' => 'Contactez-nous !', - 'contenu' => ' + + $this->_article = $this->fixture('Class_Article', + ['id' => 2, + 'titre' => 'Contactez-nous !', + 'contenu' => ' <form id="extern" action="http://monserveur/post" > <input name="extenvoi" value="extenvoi" type="submit"/> </form>