PageRenderTime 53ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/testapp/modules/jelix_tests/tests/jforms.htmllightbuilder2.html_cli.php

https://bitbucket.org/doubleface/jelix-jpu
PHP | 372 lines | 314 code | 48 blank | 10 comment | 0 complexity | 248608343c7b98f26143247240568fc0 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
  1. <?php
  2. /**
  3. * @package testapp
  4. * @subpackage unittest module
  5. * @author Jouanneau Laurent
  6. * @contributor Julien Issler
  7. * @copyright 2007-2008 Jouanneau laurent
  8. * @copyright 2008 Julien Issler
  9. * @link http://www.jelix.org
  10. * @licence GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  11. */
  12. require_once(JELIX_LIB_PATH.'forms/jFormsBase.class.php');
  13. require_once(JELIX_LIB_PATH.'forms/jFormsBuilderBase.class.php');
  14. require_once(JELIX_LIB_PATH.'forms/jFormsDataContainer.class.php');
  15. require_once(JELIX_LIB_PATH.'plugins/jforms/htmllight/htmllight.jformsbuilder.php');
  16. class testHTMLLightForm2 extends jFormsBase {
  17. }
  18. class testJFormsHtmlLightBuilder2 extends htmllightJformsBuilder {
  19. function getJsContent() { $js= $this->jsContent; $this->jsContent = '';return $js;}
  20. function clearJs() { $this->jsContent = ''; }
  21. }
  22. class UTjformsHTMLLightBuilder2 extends jUnitTestCaseDb {
  23. protected static $mysharedfixture;
  24. function testStart() {
  25. self::$mysharedfixture = new stdClass;
  26. self::$mysharedfixture->container = new jFormsDataContainer('formtestlightB','');
  27. self::$mysharedfixture->form = new testHTMLLightForm2('formtestlightB', self::$mysharedfixture->container, true );
  28. self::$mysharedfixture->builder = new testJFormsHtmlLightBuilder2(self::$mysharedfixture->form);
  29. self::$mysharedfixture->formname = self::$mysharedfixture->builder->getName();
  30. }
  31. function testOutputGroup(){
  32. $group= new jFormsControlgroup('identity');
  33. $group->label='Your identity';
  34. $ctrl= new jFormsControlinput('nom');
  35. $ctrl->required=true;
  36. $ctrl->label='Your name';
  37. $group->addChildControl($ctrl);
  38. $ctrl= new jFormsControlinput('prenom');
  39. $ctrl->defaultValue='robert';
  40. $ctrl->label='Your firstname';
  41. $group->addChildControl($ctrl);
  42. $ctrl= new jFormsControlradiobuttons('sexe');
  43. $ctrl->required=true;
  44. $ctrl->label='Vous êtes ';
  45. $ctrl->alertRequired='Vous devez indiquer le sexe, même si vous ne savez pas :-)';
  46. $ctrl->datasource= new jFormsStaticDatasource();
  47. $ctrl->datasource->data = array(
  48. 'h'=>'un homme',
  49. 'f'=>'une femme',
  50. 'no'=>'je ne sais pas',
  51. );
  52. $group->addChildControl($ctrl);
  53. $ctrl= new jFormsControlinput('mail');
  54. $ctrl->datatype= new jDatatypeemail();
  55. $ctrl->label='Votre mail';
  56. $group->addChildControl($ctrl);
  57. self::$mysharedfixture->form->addControl($group);
  58. ob_start();self::$mysharedfixture->builder->outputControlLabel($group);$out = ob_get_clean();
  59. $this->assertEqualOrDiff('', $out);
  60. $expected = '<fieldset><legend>Your identity</legend>'."\n";
  61. $expected .= '<table class="jforms-table-group" border="0">'."\n";
  62. $expected .= '<tr><th scope="row"><label class="jforms-label jforms-required" for="'.self::$mysharedfixture->formname.'_nom">Your name</label></th>'."\n";
  63. $expected .= '<td><input type="text" name="nom" id="'.self::$mysharedfixture->formname.'_nom" class=" jforms-required" value=""/></td></tr>'."\n";
  64. $expected .= '<tr><th scope="row"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_prenom">Your firstname</label></th>'."\n";
  65. $expected .= '<td><input type="text" name="prenom" id="'.self::$mysharedfixture->formname.'_prenom" value="robert"/></td></tr>'."\n";
  66. $expected .= '<tr><th scope="row"><span class="jforms-label jforms-required">Vous êtes </span></th>'."\n";
  67. $expected .= '<td><span class="jforms-radio jforms-ctl-sexe"><input type="radio" name="sexe" id="'.self::$mysharedfixture->formname.'_sexe_0" value="h" class=" jforms-required"/><label for="'.self::$mysharedfixture->formname.'_sexe_0">un homme</label></span>';
  68. $expected .= '<span class="jforms-radio jforms-ctl-sexe"><input type="radio" name="sexe" id="'.self::$mysharedfixture->formname.'_sexe_1" value="f" class=" jforms-required"/><label for="'.self::$mysharedfixture->formname.'_sexe_1">une femme</label></span>';
  69. $expected .= '<span class="jforms-radio jforms-ctl-sexe"><input type="radio" name="sexe" id="'.self::$mysharedfixture->formname.'_sexe_2" value="no" class=" jforms-required"/><label for="'.self::$mysharedfixture->formname.'_sexe_2">je ne sais pas</label></span></td></tr>'."\n";
  70. $expected .= '<tr><th scope="row"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_mail">Votre mail</label></th>'."\n";
  71. $expected .= '<td><input type="text" name="mail" id="'.self::$mysharedfixture->formname.'_mail" value=""/></td></tr>'."\n</table></fieldset>";
  72. ob_start();self::$mysharedfixture->builder->outputControl($group);$out = ob_get_clean();
  73. $this->assertEqualOrDiff($expected, $out);
  74. $this->assertEqualOrDiff('c = new jFormsControlString(\'nom\', \'Your name\');
  75. c.required = true;
  76. c.errRequired=\'"Your name" field is required\';
  77. c.errInvalid=\'"Your name" field is invalid\';
  78. jForms.tForm.addControl(c);
  79. c = new jFormsControlString(\'prenom\', \'Your firstname\');
  80. c.errInvalid=\'"Your firstname" field is invalid\';
  81. jForms.tForm.addControl(c);
  82. c = new jFormsControlString(\'sexe\', \'Vous êtes \');
  83. c.required = true;
  84. c.errRequired=\'Vous devez indiquer le sexe, même si vous ne savez pas :-)\';
  85. c.errInvalid=\'"Vous êtes " field is invalid\';
  86. jForms.tForm.addControl(c);
  87. c = new jFormsControlEmail(\'mail\', \'Votre mail\');
  88. c.errInvalid=\'"Votre mail" field is invalid\';
  89. jForms.tForm.addControl(c);
  90. ', self::$mysharedfixture->builder->getJsContent());
  91. $group->setReadOnly(true);
  92. $expected = '<fieldset><legend>Your identity</legend>'."\n";
  93. $expected .= '<table class="jforms-table-group" border="0">'."\n";
  94. $expected .= '<tr><th scope="row"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_nom">Your name</label></th>'."\n";
  95. $expected .= '<td><input type="text" name="nom" id="'.self::$mysharedfixture->formname.'_nom" readonly="readonly" class=" jforms-readonly" value=""/></td></tr>'."\n";
  96. $expected .= '<tr><th scope="row"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_prenom">Your firstname</label></th>'."\n";
  97. $expected .= '<td><input type="text" name="prenom" id="'.self::$mysharedfixture->formname.'_prenom" readonly="readonly" class=" jforms-readonly" value="robert"/></td></tr>'."\n";
  98. $expected .= '<tr><th scope="row"><span class="jforms-label">Vous êtes </span></th>'."\n";
  99. $expected .= '<td><span class="jforms-radio jforms-ctl-sexe"><input type="radio" name="sexe" id="'.self::$mysharedfixture->formname.'_sexe_0" value="h" readonly="readonly" class=" jforms-readonly"/><label for="'.self::$mysharedfixture->formname.'_sexe_0">un homme</label></span>';
  100. $expected .= '<span class="jforms-radio jforms-ctl-sexe"><input type="radio" name="sexe" id="'.self::$mysharedfixture->formname.'_sexe_1" value="f" readonly="readonly" class=" jforms-readonly"/><label for="'.self::$mysharedfixture->formname.'_sexe_1">une femme</label></span>';
  101. $expected .= '<span class="jforms-radio jforms-ctl-sexe"><input type="radio" name="sexe" id="'.self::$mysharedfixture->formname.'_sexe_2" value="no" readonly="readonly" class=" jforms-readonly"/><label for="'.self::$mysharedfixture->formname.'_sexe_2">je ne sais pas</label></span></td></tr>'."\n";
  102. $expected .= '<tr><th scope="row"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_mail">Votre mail</label></th>'."\n";
  103. $expected .= '<td><input type="text" name="mail" id="'.self::$mysharedfixture->formname.'_mail" readonly="readonly" class=" jforms-readonly" value=""/></td></tr>'."\n</table></fieldset>";
  104. ob_start();self::$mysharedfixture->builder->outputControl($group);$out = ob_get_clean();
  105. $this->assertEqualOrDiff($expected, $out);
  106. $this->assertEqualOrDiff('c = new jFormsControlString(\'nom\', \'Your name\');
  107. c.required = true;
  108. c.errRequired=\'"Your name" field is required\';
  109. c.errInvalid=\'"Your name" field is invalid\';
  110. jForms.tForm.addControl(c);
  111. c = new jFormsControlString(\'prenom\', \'Your firstname\');
  112. c.errInvalid=\'"Your firstname" field is invalid\';
  113. jForms.tForm.addControl(c);
  114. c = new jFormsControlString(\'sexe\', \'Vous êtes \');
  115. c.required = true;
  116. c.errRequired=\'Vous devez indiquer le sexe, même si vous ne savez pas :-)\';
  117. c.errInvalid=\'"Vous êtes " field is invalid\';
  118. jForms.tForm.addControl(c);
  119. c = new jFormsControlEmail(\'mail\', \'Votre mail\');
  120. c.errInvalid=\'"Votre mail" field is invalid\';
  121. jForms.tForm.addControl(c);
  122. ', self::$mysharedfixture->builder->getJsContent());
  123. }
  124. function testOutputChoice(){
  125. $choice= new jFormsControlChoice('status');
  126. $choice->label='Task Status';
  127. $choice->createItem('new','New');
  128. $choice->createItem('assigned','Assigned');
  129. $choice->createItem('closed','Closed');
  130. $ctrl= new jFormsControlinput('nom');
  131. $ctrl->required=true;
  132. $ctrl->label='Name';
  133. $choice->addChildControl($ctrl,'assigned');
  134. $ctrl= new jFormsControlinput('prenom');
  135. $ctrl->defaultValue='robert';
  136. $ctrl->label='Firstname';
  137. $choice->addChildControl($ctrl,'assigned');
  138. $ctrl= new jFormsControlMenulist('reason');
  139. $ctrl->required=true;
  140. $ctrl->label='Reason ';
  141. $ctrl->alertRequired='Hey, specify a reason !';
  142. $ctrl->datasource= new jFormsStaticDatasource();
  143. $ctrl->datasource->data = array(
  144. 'aa'=>'fixed',
  145. 'bb'=>'won t fixed',
  146. 'cc'=>'later',
  147. );
  148. $choice->addChildControl($ctrl,'closed');
  149. self::$mysharedfixture->form->addControl($choice);
  150. ob_start();self::$mysharedfixture->builder->outputControlLabel($choice);$out = ob_get_clean();
  151. $this->assertEqualOrDiff('<label class="jforms-label" for="'.self::$mysharedfixture->formname.'_status">Task Status</label>', $out);
  152. $expected = '<ul class="jforms-choice jforms-ctl-status" >'."\n";
  153. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_0" value="new" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'new\')"/>New</label> </li>'."\n";
  154. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_1" value="assigned" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'assigned\')"/>Assigned</label> <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_nom">Name</label> <input type="text" name="nom" id="'.self::$mysharedfixture->formname.'_nom" readonly="readonly" class=" jforms-readonly" value=""/></span>'."\n";
  155. $expected .= ' <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_prenom">Firstname</label> <input type="text" name="prenom" id="'.self::$mysharedfixture->formname.'_prenom" readonly="readonly" class=" jforms-readonly" value="robert"/></span>'."\n";
  156. $expected .= '</li>'."\n";
  157. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_2" value="closed" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'closed\')"/>Closed</label> <span class="jforms-item-controls"><label class="jforms-label jforms-required" for="'.self::$mysharedfixture->formname.'_reason">Reason </label> <select name="reason" id="'.self::$mysharedfixture->formname.'_reason" class=" jforms-required" size="1"><option value="aa">fixed</option><option value="bb">won t fixed</option><option value="cc">later</option></select></span>'."\n";
  158. $expected .= '</li>'."\n";
  159. $expected .= '</ul>'."\n";
  160. ob_start();self::$mysharedfixture->builder->outputControl($choice);$out = ob_get_clean();
  161. $this->assertEqualOrDiff($expected, $out);
  162. $this->assertEqualOrDiff('c = new jFormsControlChoice(\'status\', \'Task Status\');
  163. c.errInvalid=\'"Task Status" field is invalid\';
  164. jForms.tForm.addControl(c);
  165. c2 = c;
  166. c2.items[\'new\']=[];
  167. c = new jFormsControlString(\'nom\', \'Name\');
  168. c.required = true;
  169. c.errRequired=\'"Name" field is required\';
  170. c.errInvalid=\'"Name" field is invalid\';
  171. c2.addControl(c, \'assigned\');
  172. c = new jFormsControlString(\'prenom\', \'Firstname\');
  173. c.errInvalid=\'"Firstname" field is invalid\';
  174. c2.addControl(c, \'assigned\');
  175. c = new jFormsControlString(\'reason\', \'Reason \');
  176. c.required = true;
  177. c.errRequired=\'Hey, specify a reason !\';
  178. c.errInvalid=\'"Reason " field is invalid\';
  179. c2.addControl(c, \'closed\');
  180. c2.activate(\'\');
  181. ', self::$mysharedfixture->builder->getJsContent());
  182. self::$mysharedfixture->form->getContainer()->data['status']='assigned';
  183. $expected = '<ul class="jforms-choice jforms-ctl-status" >'."\n";
  184. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_0" value="new" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'new\')"/>New</label> </li>'."\n";
  185. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_1" value="assigned" checked="checked" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'assigned\')"/>Assigned</label> <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_nom">Name</label> <input type="text" name="nom" id="'.self::$mysharedfixture->formname.'_nom" readonly="readonly" class=" jforms-readonly" value=""/></span>'."\n";
  186. $expected .= ' <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_prenom">Firstname</label> <input type="text" name="prenom" id="'.self::$mysharedfixture->formname.'_prenom" readonly="readonly" class=" jforms-readonly" value="robert"/></span>'."\n";
  187. $expected .= '</li>'."\n";
  188. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_2" value="closed" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'closed\')"/>Closed</label> <span class="jforms-item-controls"><label class="jforms-label jforms-required" for="'.self::$mysharedfixture->formname.'_reason">Reason </label> <select name="reason" id="'.self::$mysharedfixture->formname.'_reason" class=" jforms-required" size="1"><option value="aa">fixed</option><option value="bb">won t fixed</option><option value="cc">later</option></select></span>'."\n";
  189. $expected .= '</li>'."\n";
  190. $expected .= '</ul>'."\n";
  191. ob_start();self::$mysharedfixture->builder->outputControl($choice);$out = ob_get_clean();
  192. $this->assertEqualOrDiff($expected, $out);
  193. $this->assertEqualOrDiff('c = new jFormsControlChoice(\'status\', \'Task Status\');
  194. c.errInvalid=\'"Task Status" field is invalid\';
  195. jForms.tForm.addControl(c);
  196. c2 = c;
  197. c2.items[\'new\']=[];
  198. c = new jFormsControlString(\'nom\', \'Name\');
  199. c.required = true;
  200. c.errRequired=\'"Name" field is required\';
  201. c.errInvalid=\'"Name" field is invalid\';
  202. c2.addControl(c, \'assigned\');
  203. c = new jFormsControlString(\'prenom\', \'Firstname\');
  204. c.errInvalid=\'"Firstname" field is invalid\';
  205. c2.addControl(c, \'assigned\');
  206. c = new jFormsControlString(\'reason\', \'Reason \');
  207. c.required = true;
  208. c.errRequired=\'Hey, specify a reason !\';
  209. c.errInvalid=\'"Reason " field is invalid\';
  210. c2.addControl(c, \'closed\');
  211. c2.activate(\'assigned\');
  212. ', self::$mysharedfixture->builder->getJsContent());
  213. self::$mysharedfixture->form->getContainer()->data['status']='new';
  214. $expected = '<ul class="jforms-choice jforms-ctl-status" >'."\n";
  215. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_0" value="new" checked="checked" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'new\')"/>New</label> </li>'."\n";
  216. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_1" value="assigned" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'assigned\')"/>Assigned</label> <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_nom">Name</label> <input type="text" name="nom" id="'.self::$mysharedfixture->formname.'_nom" readonly="readonly" class=" jforms-readonly" value=""/></span>'."\n";
  217. $expected .= ' <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_prenom">Firstname</label> <input type="text" name="prenom" id="'.self::$mysharedfixture->formname.'_prenom" readonly="readonly" class=" jforms-readonly" value="robert"/></span>'."\n";
  218. $expected .= '</li>'."\n";
  219. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_2" value="closed" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'closed\')"/>Closed</label> <span class="jforms-item-controls"><label class="jforms-label jforms-required" for="'.self::$mysharedfixture->formname.'_reason">Reason </label> <select name="reason" id="'.self::$mysharedfixture->formname.'_reason" class=" jforms-required" size="1"><option value="aa">fixed</option><option value="bb">won t fixed</option><option value="cc">later</option></select></span>'."\n";
  220. $expected .= '</li>'."\n";
  221. $expected .= '</ul>'."\n";
  222. ob_start();self::$mysharedfixture->builder->outputControl($choice);$out = ob_get_clean();
  223. $this->assertEqualOrDiff($expected, $out);
  224. $this->assertEqualOrDiff('c = new jFormsControlChoice(\'status\', \'Task Status\');
  225. c.errInvalid=\'"Task Status" field is invalid\';
  226. jForms.tForm.addControl(c);
  227. c2 = c;
  228. c2.items[\'new\']=[];
  229. c = new jFormsControlString(\'nom\', \'Name\');
  230. c.required = true;
  231. c.errRequired=\'"Name" field is required\';
  232. c.errInvalid=\'"Name" field is invalid\';
  233. c2.addControl(c, \'assigned\');
  234. c = new jFormsControlString(\'prenom\', \'Firstname\');
  235. c.errInvalid=\'"Firstname" field is invalid\';
  236. c2.addControl(c, \'assigned\');
  237. c = new jFormsControlString(\'reason\', \'Reason \');
  238. c.required = true;
  239. c.errRequired=\'Hey, specify a reason !\';
  240. c.errInvalid=\'"Reason " field is invalid\';
  241. c2.addControl(c, \'closed\');
  242. c2.activate(\'new\');
  243. ', self::$mysharedfixture->builder->getJsContent());
  244. self::$mysharedfixture->form->getContainer()->data['status']='closed';
  245. $expected = '<ul class="jforms-choice jforms-ctl-status" >'."\n";
  246. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_0" value="new" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'new\')"/>New</label> </li>'."\n";
  247. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_1" value="assigned" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'assigned\')"/>Assigned</label> <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_nom">Name</label> <input type="text" name="nom" id="'.self::$mysharedfixture->formname.'_nom" readonly="readonly" class=" jforms-readonly" value=""/></span>'."\n";
  248. $expected .= ' <span class="jforms-item-controls"><label class="jforms-label" for="'.self::$mysharedfixture->formname.'_prenom">Firstname</label> <input type="text" name="prenom" id="'.self::$mysharedfixture->formname.'_prenom" readonly="readonly" class=" jforms-readonly" value="robert"/></span>'."\n";
  249. $expected .= '</li>'."\n";
  250. $expected .= '<li><label><input type="radio" name="status" id="'.self::$mysharedfixture->formname.'_status_2" value="closed" checked="checked" onclick="jForms.getForm(\'\').getControl(\'status\').activate(\'closed\')"/>Closed</label> <span class="jforms-item-controls"><label class="jforms-label jforms-required" for="'.self::$mysharedfixture->formname.'_reason">Reason </label> <select name="reason" id="'.self::$mysharedfixture->formname.'_reason" class=" jforms-required" size="1"><option value="aa">fixed</option><option value="bb">won t fixed</option><option value="cc">later</option></select></span>'."\n";
  251. $expected .= '</li>'."\n";
  252. $expected .= '</ul>'."\n";
  253. ob_start();self::$mysharedfixture->builder->outputControl($choice);$out = ob_get_clean();
  254. $this->assertEqualOrDiff($expected, $out);
  255. $this->assertEqualOrDiff('c = new jFormsControlChoice(\'status\', \'Task Status\');
  256. c.errInvalid=\'"Task Status" field is invalid\';
  257. jForms.tForm.addControl(c);
  258. c2 = c;
  259. c2.items[\'new\']=[];
  260. c = new jFormsControlString(\'nom\', \'Name\');
  261. c.required = true;
  262. c.errRequired=\'"Name" field is required\';
  263. c.errInvalid=\'"Name" field is invalid\';
  264. c2.addControl(c, \'assigned\');
  265. c = new jFormsControlString(\'prenom\', \'Firstname\');
  266. c.errInvalid=\'"Firstname" field is invalid\';
  267. c2.addControl(c, \'assigned\');
  268. c = new jFormsControlString(\'reason\', \'Reason \');
  269. c.required = true;
  270. c.errRequired=\'Hey, specify a reason !\';
  271. c.errInvalid=\'"Reason " field is invalid\';
  272. c2.addControl(c, \'closed\');
  273. c2.activate(\'closed\');
  274. ', self::$mysharedfixture->builder->getJsContent());
  275. }
  276. public function testFormWithExternalUrlAsAction(){
  277. self::$mysharedfixture->builder->setAction('http://www.jelix.org/dummy.php',array());
  278. ob_start();
  279. self::$mysharedfixture->builder->outputHeader(array('method'=>'post'));
  280. $out = ob_get_clean();
  281. $result ='<form action="http://www.jelix.org/dummy.php" method="post" id="'.self::$mysharedfixture->builder->getName().'"><script type="text/javascript">
  282. //<![CDATA[
  283. jForms.tForm = new jFormsForm(\'jforms_formtestlightB\');
  284. jForms.tForm.setErrorDecorator(new jFormsErrorDecoratorAlert());
  285. jForms.tForm.setHelpDecorator(new jFormsHelpDecoratorAlert());
  286. jForms.declareForm(jForms.tForm);
  287. //]]>
  288. </script><div class="jforms-hiddens"><input type="hidden" name="__JFORMS_TOKEN__" value="'.self::$mysharedfixture->container->token.'"/>
  289. </div>';
  290. $this->assertEqualOrDiff($result, $out);
  291. $this->assertEqualOrDiff('', self::$mysharedfixture->builder->getJsContent());
  292. self::$mysharedfixture->builder->setAction('http://www.jelix.org/dummy.php',array('foo'=>'bar'));
  293. ob_start();
  294. self::$mysharedfixture->builder->outputHeader(array('method'=>'post'));
  295. $out = ob_get_clean();
  296. $result ='<form action="http://www.jelix.org/dummy.php" method="post" id="'.self::$mysharedfixture->builder->getName().'"><script type="text/javascript">
  297. //<![CDATA[
  298. jForms.tForm = new jFormsForm(\'jforms_formtestlightB1\');
  299. jForms.tForm.setErrorDecorator(new jFormsErrorDecoratorAlert());
  300. jForms.tForm.setHelpDecorator(new jFormsHelpDecoratorAlert());
  301. jForms.declareForm(jForms.tForm);
  302. //]]>
  303. </script><div class="jforms-hiddens"><input type="hidden" name="foo" value="bar"/>
  304. <input type="hidden" name="__JFORMS_TOKEN__" value="'.self::$mysharedfixture->container->token.'"/>
  305. </div>';
  306. $this->assertEqualOrDiff($result, $out);
  307. $this->assertEqualOrDiff('', self::$mysharedfixture->builder->getJsContent());
  308. self::$mysharedfixture->builder->setAction('https://www.jelix.org/dummy.php',array());
  309. ob_start();
  310. self::$mysharedfixture->builder->outputHeader(array('method'=>'get'));
  311. $out = ob_get_clean();
  312. $result ='<form action="https://www.jelix.org/dummy.php" method="get" id="'.self::$mysharedfixture->builder->getName().'"><script type="text/javascript">
  313. //<![CDATA[
  314. jForms.tForm = new jFormsForm(\'jforms_formtestlightB2\');
  315. jForms.tForm.setErrorDecorator(new jFormsErrorDecoratorAlert());
  316. jForms.tForm.setHelpDecorator(new jFormsHelpDecoratorAlert());
  317. jForms.declareForm(jForms.tForm);
  318. //]]>
  319. </script><div class="jforms-hiddens"><input type="hidden" name="__JFORMS_TOKEN__" value="'.self::$mysharedfixture->container->token.'"/>
  320. </div>';
  321. $this->assertEqualOrDiff($result, $out);
  322. $this->assertEqualOrDiff('', self::$mysharedfixture->builder->getJsContent());
  323. }
  324. }