PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/osCommerce/OM/Tests/osCommerce/OM/Core/HTMLTest.php

https://github.com/bodi000/oscommerce
PHP | 144 lines | 105 code | 33 blank | 6 comment | 3 complexity | b6a0b5f7a284a4b0ab42688d131c0952 MD5 | raw file
  1. <?php
  2. /**
  3. * osCommerce Online Merchant
  4. *
  5. * @copyright Copyright (c) 2011 osCommerce; http://www.oscommerce.com
  6. * @license BSD License; http://www.oscommerce.com/bsdlicense.txt
  7. */
  8. use osCommerce\OM\Core\DateTime;
  9. use osCommerce\OM\Core\HTML;
  10. use osCommerce\OM\Core\Registry;
  11. class HTMLTest extends \PHPUnit_Framework_TestCase {
  12. protected function setUp() {
  13. }
  14. protected function tearDown() {
  15. }
  16. public function testOutput() {
  17. $this->assertEquals('test&quot;string', HTML::output(' test"string '));
  18. }
  19. public function testOutputWithAmpersand() {
  20. $this->assertEquals('test&quot;string &amp;', HTML::output(' test"string & ', array('&' => '&amp;', '"' => '&quot;')));
  21. }
  22. public function testOutputProtected() {
  23. $this->assertEquals('&lt;a href=&quot;test&quot;&gt;test&amp;string&lt;/a&gt;', HTML::outputProtected(' <a href="test">test&string</a> '));
  24. }
  25. public function testSanitize() {
  26. $this->assertEquals('test _test_', HTML::sanitize(' test <test> '));
  27. }
  28. public function testLink() {
  29. $this->assertEquals('<a href="http://www.oscommerce.com" target="_blank">osCommerce</a>', HTML::link('http://www.oscommerce.com', 'osCommerce', 'target="_blank"'));
  30. }
  31. public function testImageWithWidthAndHeight() {
  32. $this->assertEquals('<img src="http://www.oscommerce.com/images/oscommerce.gif" border="0" alt="osCommerce" title="osCommerce" width="211" height="60" id="logo" />', HTML::image('http://www.oscommerce.com/images/oscommerce.gif', 'osCommerce', 211, 60, 'id="logo"'));
  33. }
  34. public function testImageWithoutWidthAndHeight() {
  35. $this->assertEquals('<img src="http://www.oscommerce.com/images/oscommerce.gif" border="0" alt="osCommerce" title="osCommerce" id="logo" />', HTML::image('http://www.oscommerce.com/images/oscommerce.gif', 'osCommerce', '', '', 'id="logo"'));
  36. }
  37. public function testIcon() {
  38. $this->assertEquals('<img src="public/sites/Shop/templates/oscom/images/icons/16x16/info.png" border="0" alt="Info" title="Info" id="iconInfo" />', HTML::icon('info.png', 'Info', '16x16', 'id="iconInfo"'));
  39. }
  40. public function testIconRaw() {
  41. $this->assertEquals('public/sites/Shop/templates/oscom/images/icons/16x16/info.png', HTML::iconRaw('info.png', '16x16'));
  42. }
  43. public function testSubmitImage() {
  44. $this->assertEquals('<input type="image" src="public/sites/Shop/templates/oscom/images/icons/16x16/edit.png" title="Edit" id="editSubmitImage" />', HTML::submitImage(HTML::iconRaw('edit.png'), 'Edit', 'id="editSubmitImage"'));
  45. }
  46. public function testButtonSubmit() {
  47. $this->assertEquals('<button id="button1" type="submit">Submit</button><script type="text/javascript">$("#button1").button({icons:{primary:"ui-icon-tick"}});</script>', HTML::button(array('title' => 'Submit', 'icon' => 'tick')));
  48. }
  49. public function testButtonReset() {
  50. $this->assertEquals('<button id="button2" type="submit">Reset</button><script type="text/javascript">$("#button2").button();</script>', HTML::button(array('title' => 'Reset')));
  51. }
  52. public function testButtonButton() {
  53. $this->assertEquals('<button id="button3" type="button" onclick="window.open(\'http://www.oscommerce.com\');">osCommerce</button><script type="text/javascript">$("#button3").button({icons:{secondary:"ui-icon-tick"}}).addClass("ui-priority-secondary");</script>', HTML::button(array('href' => 'http://www.oscommerce.com', 'newwindow' => true, 'title' => 'osCommerce', 'icon' => 'tick', 'iconpos' => 'right', 'priority' => 'secondary')));
  54. }
  55. public function testInputField() {
  56. $this->assertEquals('<input type="text" name="site" value="osCommerce" id="ifName" />', HTML::inputField('site', 'osCommerce', 'id="ifName"'));
  57. }
  58. public function testPasswordField() {
  59. $this->assertEquals('<input type="password" name="password" id="pfPassword" />', HTML::passwordField('password', 'id="pfPassword"'));
  60. }
  61. public function testTextareaField() {
  62. $this->assertEquals('<textarea name="description" cols="6" rows="65" id="taDescription">Description</textarea>', HTML::textareaField('description', 'Description', 6, 65, 'id="taDescription"'));
  63. }
  64. public function testSelectMenu() {
  65. $list_array = array(array('id' => 'one', 'text' => 'First'),
  66. array('id' => 'two', 'text' => 'Second'),
  67. array('id' => 'three', 'text' => 'Third'));
  68. $this->assertEquals('<select name="list" id="sList"><option value="one">First</option><option value="two" selected="selected">Second</option><option value="three">Third</option></select>', HTML::selectMenu('list', $list_array, 'two', 'id="sList"'));
  69. }
  70. public function testCheckboxField() {
  71. $list_array = array(array('id' => 'one', 'text' => 'First'),
  72. array('id' => 'two', 'text' => 'Second'),
  73. array('id' => 'three', 'text' => 'Third'));
  74. $this->assertEquals('<input type="checkbox" name="selection" id="selection_1" value="one" /><label for="selection1" class="fieldLabel">&nbsp;First</label>&nbsp;&nbsp;<input type="checkbox" name="selection" id="selection_2" value="two" checked="checked" /><label for="selection2" class="fieldLabel">&nbsp;Second</label>&nbsp;&nbsp;<input type="checkbox" name="selection" id="selection_3" value="three" /><label for="selection3" class="fieldLabel">&nbsp;Third</label>', HTML::checkboxField('selection', $list_array, 'two'));
  75. }
  76. public function testRadioField() {
  77. $list_array = array(array('id' => 'one', 'text' => 'First'),
  78. array('id' => 'two', 'text' => 'Second'),
  79. array('id' => 'three', 'text' => 'Third'));
  80. $this->assertEquals('<input type="radio" name="selection" id="selection_1" value="one" checked="checked" /><label for="selection1" class="fieldLabel">&nbsp;First</label>&nbsp;&nbsp;<input type="radio" name="selection" id="selection_2" value="two" /><label for="selection2" class="fieldLabel">&nbsp;Second</label>&nbsp;&nbsp;<input type="radio" name="selection" id="selection_3" value="three" /><label for="selection3" class="fieldLabel">&nbsp;Third</label>', HTML::radioField('selection', $list_array, 'one'));
  81. }
  82. public function testHiddenField() {
  83. $this->assertEquals('<input type="hidden" name="action" value="confirm" id="hfAction" />', HTML::hiddenField('action', 'confirm', 'id="hfAction"'));
  84. }
  85. public function testHiddenSessionIDField() {
  86. $OSCOM_Session = Registry::get('Session');
  87. if ( $OSCOM_Session->hasStarted() && (strlen(SID) > 0) ) {
  88. $this->assertEquals('<input type="hidden" name="' . $OSCOM_Session->getName() . '" value="' . $OSCOM_Session->getID() . '" />', HTML::hiddenSessionIDField());
  89. } else {
  90. $this->assertEquals('', HTML::hiddenSessionIDField());
  91. }
  92. }
  93. public function testLabel() {
  94. $this->assertEquals('<label for="firstname">First Name</label>', HTML::label('First Name', 'firstname'));
  95. }
  96. public function testDateSelectMenu() {
  97. $this->assertEquals('<select name="date_days" id="date_days"><option value="1" selected="selected">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option></select><select name="date_months" id="date_months" onchange="updateDatePullDownMenu(this.form, \'date\');"><option value="1" selected="selected">January</option><option value="2">February</option><option value="3">March</option><option value="4">April</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">August</option><option value="9">September</option><option value="10">October</option><option value="11">November</option><option value="12">December</option></select><select name="date_years" id="date_years" onchange="updateDatePullDownMenu(this.form, \'date\');"><option value="2011" selected="selected">2011</option><option value="2012">2012</option></select>', HTML::dateSelectMenu('date', array('year' => '2011', 'month' => '1', 'date' => '1')));
  98. }
  99. public function testTimeZoneSelectMenu() {
  100. $result = array();
  101. foreach ( DateTime::getTimeZones() as $zone => $zones_array ) {
  102. foreach ( $zones_array as $key => $value ) {
  103. $result[] = array('id' => $key,
  104. 'text' => $value,
  105. 'group' => $zone);
  106. }
  107. }
  108. $this->assertEquals(HTML::selectMenu('timezone', $result, 'Europe/Berlin'), HTML::timeZoneSelectMenu('timezone', 'Europe/Berlin'));
  109. }
  110. }
  111. ?>