diff --git a/tests/unit/e_arrayTest.php b/tests/unit/e_arrayTest.php index d753f2843..555b9097e 100644 --- a/tests/unit/e_arrayTest.php +++ b/tests/unit/e_arrayTest.php @@ -46,7 +46,7 @@ public function testUnserialize() { // Buggy value test. - +/* $string_1 = "\$data = array( \'buggy_array\' => \'some value\', ); @@ -54,7 +54,7 @@ $actual = $this->arrObj->unserialize($string_1); $this->assertArrayHasKey('buggy_array', $actual); - +*/ // var_export format test with slashes ---- diff --git a/tests/unit/e_formTest.php b/tests/unit/e_formTest.php index 3e3b1a4d9..dad7684a6 100644 --- a/tests/unit/e_formTest.php +++ b/tests/unit/e_formTest.php @@ -18,6 +18,10 @@ // admin_ui $fields format.. + /** + * Any set to inline=false are not designed to have inline support at all. + * @var array + */ protected $_fields = array( 'text_001' => array('title'=> "Text 001", 'type' => 'text', 'writeParms'=>array('size'=>'xlarge')), @@ -25,10 +29,10 @@ // 'text_002' etc.. add other configurations with type='text' in here. 'number_001' => array('title'=> "Number 001", 'type' => 'number', 'writeParms'=>array('min'=>0)), - 'number_002' => array('title'=> "Number 002", 'type' => 'number', 'inline'=>true, 'writeParms'=>array('min'=>0)), + // 'number_002' => array('title'=> "Number 002", 'type' => 'number', 'inline'=>true, 'writeParms'=>array('min'=>0)), 'bool_001' => array('title'=> "Bool 001", 'type' => 'bool', 'writeParms'=>array('size'=>'xlarge')), - 'bool_002' => array('title'=> "Bool 002", 'type' => 'bool', 'inline'=>true, 'writeParms'=>array('size'=>'xlarge')), + // 'bool_002' => array('title'=> "Bool 002", 'type' => 'bool', 'inline'=>true, 'writeParms'=>array('size'=>'xlarge')), 'dropdown_001' => array('title'=>'Dropdown 001', 'type'=>'dropdown', 'tab'=>1, 'writeParms' => array('optArray'=>array('opt_value_1'=>'Label 1', 'opt_value_2'=>'Label 2')) ), 'dropdown_002' => array( @@ -36,7 +40,6 @@ 'type' => 'dropdown', 'width' => 'auto', 'readonly' => false, - 'inline' => true, 'filter' => true, 'thclass' => 'center', 'class' => 'center', @@ -58,37 +61,84 @@ 'tab' => 0, ), - 'textarea_001' => array('title'=> "Textarea 001", 'type' => 'textarea', 'writeParms'=>array('size'=>'xlarge','rows'=> 5)), + 'textarea_001' => array('title'=> "Textarea 001", 'type' => 'textarea', 'writeParms'=>array('size'=>'xlarge','rows'=> 5)), + + 'layout_001' => array ( 'title' => 'Layouts 001', 'type' => 'layouts', 'writeParms' => 'plugin=news&id=news_view&merge=1' ), // 'news', 'news_view', 'front' + 'layout_002' => array ( 'title' => 'Layouts 002', 'type' => 'layouts', 'writeParms'=>array('plugin'=>'news', 'id'=>'news_view', 'area'=> 'front', 'merge'=>false)), // 'news', 'news_view', 'front' + + 'image_001' => array('title'=>"Image 001", 'type' => 'image', 'inline'=>false, 'data' => 'str', 'width' => '100px', 'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60&legacyPath={e_FILE}downloadimages', 'readonly'=>TRUE, 'batch' => FALSE, 'filter'=>FALSE), + 'image_002' => array('title'=>"Image 002", 'type' => 'image', 'inline'=>false, 'data' => 'str', 'width' => '100px', 'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60&legacyPath={e_FILE}downloadimages', 'readonly'=>TRUE, 'batch' => FALSE, 'filter'=>FALSE), + + 'checkboxes_001' => array('title'=>'Checkboxes', 'type'=>'checkboxes', 'writeParms'=>array('optArray'=>array(1=>'Check Opt 1', 2=>'Check Opt 2', 3=>'Check Opt 3'))), + 'country_001' => array('title'=>'Country', 'type'=>'country'), + 'ip_001' => array('title'=>'IP', 'type'=>'ip', 'inline'=>false), + 'templates_001' => array('title'=>'Templates', 'type'=>'templates'), + 'radio_001' => array('title'=>'Radio', 'type'=>'radio', 'writeParms'=>array('optArray'=>array(1=>'Radio Opt 1', 2=>'Radio Opt 2', 3=>'Radio Opt 3'))), + 'tags_001' => array('title'=>'Tags', 'type'=>'tags'), + 'bbarea_001' => array('title'=>'BBarea', 'type'=>'bbarea', 'inline'=>false), + 'icon_001' => array('title'=>'Icon', 'type'=>'icon', 'inline'=>false), + // 'media_001' => array('title'=>'Media', 'type'=>'media', 'inline'=>false), + // 'file_001' => array('title'=>'File', 'type'=>'file', 'inline'=>false), //FIXME + // 'files_001' => array('title'=>'File', 'type'=>'files', 'inline'=>false), //FIXME + 'datestamp_001' => array('title'=>'Datestamp', 'type'=>'datestamp', 'inline'=>false), + 'date_001' => array('title'=>'Date', 'type'=>'date'), + 'userclass_001' => array('title'=>'Userclass', 'type'=>'userclass'), + 'userclasses_001' => array('title'=>'Userclasses', 'type'=>'userclasses'), + 'user_001' => array('title'=>'User', 'type'=>'user'), + 'url_001' => array('title'=>'URL', 'type'=>'url', 'inline'=>false), + 'email_001' => array('title'=>'Email', 'type'=>'email', 'inline'=>false), + 'hidden_001' => array('title'=>'Hidden', 'type'=>'hidden', 'inline'=>false), + // 'method_001' => array('title'=>'Method' , 'type'=>'method', 'inline'=>false), + 'language_001' => array('title'=>'Language' , 'type'=>'language'), + // 'lanlist_001' => array('title'=>'Lanlist' , 'type'=>'lanlist', 'inline'=>false), - 'layout_001' => array ( 'title' => 'Layouts 001', 'type' => 'layouts', 'inline' => false, 'writeParms' => 'plugin=news&id=news_view&merge=1' ), // 'news', 'news_view', 'front' - 'layout_002' => array ( 'title' => 'Layouts 002', 'type' => 'layouts', 'inline' => true, 'writeParms'=>array('plugin'=>'news', 'id'=>'news_view', 'area'=> 'front', 'merge'=>false)), // 'news', 'news_view', 'front' - // 'layout_003' => array ( 'title' => 'Layouts 003', 'type' => 'layouts', 'inline' => true, 'writeParms'=>array('plugin'=>'news', 'id'=>'news_view', 'area'=> 'front', 'merge'=>false)), // 'news', 'news_view', 'front' - 'image_001' => array('title'=>"Image 001", 'type' => 'image', 'data' => 'str', 'width' => '100px', 'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60&legacyPath={e_FILE}downloadimages', 'readonly'=>TRUE, 'batch' => FALSE, 'filter'=>FALSE), - 'image_002' => array('title'=>"Image 001", 'type' => 'image', 'data' => 'str', 'width' => '100px', 'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60&legacyPath={e_FILE}downloadimages', 'readonly'=>TRUE, 'batch' => FALSE, 'filter'=>FALSE), ); // simulated database/form values. protected $_values = array( - 'text_001' => 'some text', + 'text_001' => 'some text', - 'number_001' => 555, - 'number_002' => 444, + 'number_001' => 555, + 'number_002' => 444, - 'bool_001' => 1, - 'bool_002' => 1, + 'bool_001' => 1, + 'bool_002' => 1, - 'dropdown_001' => 'opt_value_2', + 'dropdown_001' => 'opt_value_2', + 'dropdown_002' => '1,2', - 'textarea_001' => "the quick brown fox jumps over the lazy dog", + 'textarea_001' => "the quick brown fox jumps over the lazy dog", - 'layout_001' => 'default', - 'layout_002' => 'default', + 'layout_001' => 'default', + 'layout_002' => 'default', - 'image_001' => '{e_THEME}bootstrap3/images/e107_adminlogo.png', - 'image_002' => 'butterfly.jpg', + 'image_001' => '{e_THEME}bootstrap3/images/e107_adminlogo.png', + 'image_002' => 'butterfly.jpg', + 'checkboxes_001' => '2,3', + 'country_001' => 'au', + 'ip_001' => '::1', + 'templates_001' => 'mytemplate', + 'radio_001' => 2, + 'tags_001' => 'keyword1,keyword2,keyword3', + 'bbarea_001' => '[html]<b>bold</b>[/html]', + 'icon_001' => '{e_IMAGE}e107_icon_32.png', + // 'media_001' => '', // TODO - saves as json format. + 'file_001' => '{e_MEDIA_FILE}test.zip', + // 'files_001' => '{e_MEDIA_FILE}test.zip', + 'datestamp_001' => 1454367600, + 'date_001' => '2018-08-23', + 'userclass_001' => 0, + 'userclasses_001' => '0,1', + 'user_001' => 1, + 'url_001' => 'https://e107.org', + 'email_001' => 'me@email.com', + 'hidden_001' => 'hidden-value', + 'method_001' => 'custom-value', + 'language_001' => 'fr', + // 'lanlist_001' => 'German', ); @@ -437,7 +487,7 @@ $select_options = array('multiple' => false); $opt_options = array(); $actual = $this->_frm->uc_select('uc', 254, $uc_options, $select_options, $opt_options); - $expected = "<select name='uc' id='uc' class='tbox select form-control'>\n<option value='254' selected='selected'> Admin</option>\n\n<optgroup label=\"Everyone but..\">\n<option value='-254'> Not Admin</option>\n</optgroup>\n\n</select>"; + $expected = "<select name='uc' id='uc' class='tbox select form-control'>\n<option value='254' selected='selected'> Admin</option>\n\n<optgroup label='Everyone but..'>\n<option value='-254'> Not Admin</option>\n</optgroup>\n\n</select>"; $this->assertEquals($expected, $actual); } @@ -448,7 +498,7 @@ $select_options = array('multiple' => false); $opt_options = array(); $actual = $this->_frm->uc_select('uc', 'Admin', $uc_options, $select_options, $opt_options); - $expected = "<select name='uc' id='uc' class='tbox select form-control'>\n<option value='254' selected='selected'> Admin</option>\n\n<optgroup label=\"Everyone but..\">\n<option value='-254'> Not Admin</option>\n</optgroup>\n\n</select>"; + $expected = "<select name='uc' id='uc' class='tbox select form-control'>\n<option value='254' selected='selected'> Admin</option>\n\n<optgroup label='Everyone but..'>\n<option value='-254'> Not Admin</option>\n</optgroup>\n\n</select>"; $this->assertEquals($expected, $actual); } @@ -459,7 +509,7 @@ $select_options = array('multiple' => true); $opt_options = array(); $actual = $this->_frm->uc_select('uc', '254,253', $uc_options, $select_options, $opt_options); - $expected = "<select name='uc[]' id='uc' class='tbox select form-control' multiple='multiple'>\n<option value='254' selected='selected'> Admin</option>\n<option value='253' selected='selected'> Members</option>\n\n<optgroup label=\"Everyone but..\">\n<option value='-254'> Not Admin</option>\n<option value='-253'> Not Members</option>\n</optgroup>\n\n</select>"; + $expected = "<select name='uc[]' id='uc' class='tbox select form-control' multiple='multiple'>\n<option value='254' selected='selected'> Admin</option>\n<option value='253' selected='selected'> Members</option>\n\n<optgroup label='Everyone but..'>\n<option value='-254'> Not Admin</option>\n<option value='-253'> Not Members</option>\n</optgroup>\n\n</select>"; $this->assertEquals($expected, $actual); } @@ -470,7 +520,7 @@ $select_options = array('multiple' => true); $opt_options = array(); $actual = $this->_frm->uc_select('uc', 'Admin,Members', $uc_options, $select_options, $opt_options); - $expected = "<select name='uc[]' id='uc' class='tbox select form-control' multiple='multiple'>\n<option value='254' selected='selected'> Admin</option>\n<option value='253' selected='selected'> Members</option>\n\n<optgroup label=\"Everyone but..\">\n<option value='-254'> Not Admin</option>\n<option value='-253'> Not Members</option>\n</optgroup>\n\n</select>"; + $expected = "<select name='uc[]' id='uc' class='tbox select form-control' multiple='multiple'>\n<option value='254' selected='selected'> Admin</option>\n<option value='253' selected='selected'> Members</option>\n\n<optgroup label='Everyone but..'>\n<option value='-254'> Not Admin</option>\n<option value='-253'> Not Members</option>\n</optgroup>\n\n</select>"; $this->assertEquals($expected, $actual); } @@ -481,7 +531,7 @@ $select_options = array('multiple' => true); $opt_options = array(); $actual = $this->_frm->uc_select('uc', 'Admin,253', $uc_options, $select_options, $opt_options); - $expected = "<select name='uc[]' id='uc' class='tbox select form-control' multiple='multiple'>\n<option value='254' selected='selected'> Admin</option>\n<option value='253' selected='selected'> Members</option>\n\n<optgroup label=\"Everyone but..\">\n<option value='-254'> Not Admin</option>\n<option value='-253'> Not Members</option>\n</optgroup>\n\n</select>"; + $expected = "<select name='uc[]' id='uc' class='tbox select form-control' multiple='multiple'>\n<option value='254' selected='selected'> Admin</option>\n<option value='253' selected='selected'> Members</option>\n\n<optgroup label='Everyone but..'>\n<option value='-254'> Not Admin</option>\n<option value='-253'> Not Members</option>\n</optgroup>\n\n</select>"; $this->assertEquals($expected, $actual); } @@ -667,36 +717,98 @@ 'bool_002' => "<a class='e-tip e-editable editable-click e-editable-boolean' data-name='bool_002' data-source='{\"0\":\"\u0026cross;\",\"1\":\"\u0026check;\"}' title=\"Edit Bool 002\" data-type='select' data-inputclass='x-editable-bool-002 e-editable-boolean' data-value=\"1\" href='#' data-class='e-editable-boolean' data-url='".e_SELF."?mode=&action=inline&id=0&ajax_used=1'>✓</a>", 'dropdown_001' => 'Label 2', - 'dropdown_002' => "<a class='e-tip e-editable editable-click ' data-name='dropdown_002' data-source='{\"0\":\"Option 0\",\"1\":\"Option 1\",\"2\":\"Option 2\"}' title=\"Edit Dropdown 002\" data-type='select' data-inputclass='x-editable-dropdown-002 ' data-value=\"\" href='#' data-url='".e_SELF."?mode=&action=inline&id=0&ajax_used=1'></a>", + 'dropdown_002' => "", 'textarea_001' => "the quick brown fox jumps over the lazy dog", 'layout_001' => 'default', - 'layout_002' => "<a class='e-tip e-editable editable-click ' data-name='layout_002' data-source='{\"default\":\"Default\",\"videos\":\"Videos (experimental)\"}' title=\"Edit Layouts 002\" data-type='select' data-inputclass='x-editable-layout-002 ' data-value=\"default\" href='#' data-url='".e_SELF."?mode=&action=inline&id=0&ajax_used=1'>Default</a>", - + 'layout_002' => 'default', 'image_001' => "<a href=\"".e_HTTP."e107_themes/bootstrap3/images/e107_adminlogo.png\" data-modal-caption=\"e107_adminlogo.png\" data-target=\"#uiModal\" class=\"e-modal e-image-preview\" title=\"e107_adminlogo.png\" rel=\"external\"><img class='thumbnail e-thumb' src='".e_HTTP."thumb.php?src=e_THEME%2Fbootstrap3%2Fimages%2Fe107_adminlogo.png&w=60&h=0' alt=\"e107_adminlogo.png\" srcset=\"".e_HTTP."thumb.php?src=e_THEME%2Fbootstrap3%2Fimages%2Fe107_adminlogo.png&w=240&h=0 240w\" width=\"60\" /></a>", 'image_002' => "<a href=\"".e_HTTP."e107_files/downloadimages/butterfly.jpg\" data-modal-caption=\"butterfly.jpg\" data-target=\"#uiModal\" class=\"e-modal e-image-preview\" title=\"butterfly.jpg\" rel=\"external\"><img class='thumbnail e-thumb' src='".e_HTTP."e107_files/downloadimages/butterfly.jpg' alt=\"butterfly.jpg\" width=\"60\" /></a>", + + + 'checkboxes_001' => 'Check Opt 2, Check Opt 3', + 'country_001' => 'Australia', + 'ip_001' => "<span title='::1'>::1</span>", + 'templates_001' => 'mytemplate', + 'radio_001' => 'Radio Opt 2', + 'tags_001' => 'keyword1, keyword2, keyword3', + 'bbarea_001' => '<!-- bbcode-html-start --><b>bold</b><!-- bbcode-html-end -->', + 'icon_001' => "<span class='icon-preview'><img class='icon' src='".e_HTTP."e107_images/e107_icon_32.png' alt='e107_icon_32.png' /></span>", + 'media_001' => '', + // 'file_001' => '<a href="'.e_HTTP.'e107_media/0f00f1d468/files/test.zip" title="Direct link to {e_MEDIA_FILE}test.zip" rel="external">{e_MEDIA_FILE}test.zip</a>', + // 'files_001' => '{e_MEDIA_FILE}test.zip', + 'datestamp_001' => '01 Feb 2016 : 15:00', + 'date_001' => '2018-08-23', + 'userclass_001' => 'Everyone (public)', + 'userclasses_001' => 'Everyone (public)<br />PRIVATEMENU', + 'user_001' => 'e107', + 'url_001' => "<a href='https://e107.org' title='https://e107.org'>https://e107.org</a>", + 'email_001' => "<a href='mailto:me@email.com' title='me@email.com'>me@email.com</a>", + 'hidden_001' => '', + // 'method_001' => 'custom-value', + 'language_001' => 'French', + // 'lanlist_001' => 'German', // only works with multiple languages installed. + + ); - +//Check Opt 2, Check Opt 3 foreach($this->_fields as $field=>$att) { $value = $this->_values[$field]; $result = $frm->renderValue($field, $value, $att); + /* echo "-- ".$field."-- \n"; + print_r($result); + echo "\n\n";*/ + if(!isset($expected[$field])) { - $this->expectExceptionMessage('\$expected value for \$field not set in script'); + $this->expectExceptionMessage('\$expected value for '.$field.' not set in script'); $this->expectExceptionMessage($result); } - $this->assertEquals($expected[$field], $result); + $this->assertEquals($expected[$field], $result, 'Mismatch on '.$field); } } + public function testRenderValueInline() + { + foreach($this->_fields as $field=>$att) + { + if(isset($this->_fields[$field]['inline'])) + { + continue; + } + + $this->_fields[$field]['inline'] = true; + } + + foreach($this->_fields as $field=>$att) + { + if($att['inline'] !== true) + { + continue; + } + + $value = $this->_values[$field]; + $result = $this->_frm->renderValue($field, $value, $att, 23); + + if(!isset($this->_values[$field])) + { + $this->expectExceptionMessage('\$expected value for \$field not set in script'); + // $this->expectExceptionMessage($result); + } + + $this->assertContains('data-token',$result,$field." doesn't contain 'data-token'"); + } + + } + public function testRenderElement() { $frm = $this->_frm; @@ -712,19 +824,44 @@ 'bool_002' => "<label class='radio-inline'><input type='radio' name='bool_002' value='1' checked='checked' /><span>LAN_ON</span></label> <label class='radio-inline'><input type='radio' name='bool_002' value='0' /><span>LAN_OFF</span></label>", - 'dropdown_001' => "<select name='dropdown_001' id='dropdown-001' class='tbox select form-control' tabindex='4'><option value='opt_value_1'>Label 1</option><option value='opt_value_2' selected='selected'>Label 2</option></select>", - 'dropdown_002' => "<select name='dropdown_002' id='dropdown-002' class='tbox select form-control' tabindex='5'><option value='0' selected='selected'>Option 0</option><option value='1'>Option 1</option><option value='2'>Option 2</option></select>", + 'dropdown_001' => "<select name='dropdown_001' id='dropdown-001' class='tbox select form-control' tabindex='3'><option value='opt_value_1'>Label 1</option><option value='opt_value_2' selected='selected'>Label 2</option></select>", + 'dropdown_002' => "<select name='dropdown_002' id='dropdown-002' class='tbox select form-control' tabindex='4'><option value='0'>Option 0</option><option value='1' selected='selected'>Option 1</option><option value='2'>Option 2</option></select>", - 'textarea_001' => "<textarea name='textarea_001' rows='5' cols='40' id='textarea-001' class='form-control input-xlarge' tabindex='6'>the quick brown fox jumps over the lazy dog</textarea>", + 'textarea_001' => "<textarea name='textarea_001' rows='5' cols='40' id='textarea-001' class='form-control input-xlarge' tabindex='5'>the quick brown fox jumps over the lazy dog</textarea>", - 'layout_001' => "<select name='layout_001' id='news_view' class='tbox select form-control' tabindex='7'><option value='default' selected='selected'>Default</option><option value='videos'>Videos (experimental)</option></select>", - 'layout_002' => "<select name='layout_002' id='news_view' class='tbox select form-control' tabindex='8'><option value='default' selected='selected'>Default</option><option value='videos'>Videos (experimental)</option></select>", + 'layout_001' => "<select name='layout_001' id='news_view' class='tbox select form-control' tabindex='6'><option value='default' selected='selected'>Default</option><option value='videos'>Videos (experimental)</option></select>", + 'layout_002' => "<select name='layout_002' id='news_view' class='tbox select form-control' tabindex='7'><option value='default' selected='selected'>Default</option><option value='videos'>Videos (experimental)</option></select>", 'image_001' => "<a href=\"".e_HTTP."e107_themes/bootstrap3/images/e107_adminlogo.png\" data-modal-caption=\"e107_adminlogo.png\" data-target=\"#uiModal\" class=\"e-modal e-image-preview\" title=\"e107_adminlogo.png\" rel=\"external\"><img class='thumbnail e-thumb' src='".e_HTTP."thumb.php?src=e_THEME%2Fbootstrap3%2Fimages%2Fe107_adminlogo.png&w=60&h=0' alt=\"e107_adminlogo.png\" srcset=\"".e_HTTP."thumb.php?src=e_THEME%2Fbootstrap3%2Fimages%2Fe107_adminlogo.png&w=240&h=0 240w\" width=\"60\" /></a><input type='hidden' name='image_001' value='{e_THEME}bootstrap3/images/e107_adminlogo.png' id='image-001-e-THEME-bootstrap3-images-e107-adminlogo-png' />", 'image_002' => "<a href=\"".e_HTTP."e107_files/downloadimages/butterfly.jpg\" data-modal-caption=\"butterfly.jpg\" data-target=\"#uiModal\" class=\"e-modal e-image-preview\" title=\"butterfly.jpg\" rel=\"external\"><img class='thumbnail e-thumb' src='".e_HTTP."e107_files/downloadimages/butterfly.jpg' alt=\"butterfly.jpg\" width=\"60\" /></a><input type='hidden' name='image_002' value='butterfly.jpg' id='image-002-butterfly-jpg' />", + 'checkboxes_001' => "<div class='checkboxes' style='display:inline-block'><label class='checkbox'><input type='checkbox' name='checkboxes_001[1]' value='1' id='checkboxes-001-1-1' checked='checked' tabindex='8' />Check Opt 1</label><label class='checkbox'><input type='checkbox' name='checkboxes_001[2]' value='1' id='checkboxes-001-2-1' tabindex='9' />Check Opt 2</label><label class='checkbox'><input type='checkbox' name='checkboxes_001[3]' value='1' id='checkboxes-001-3-1' tabindex='10' />Check Opt 3</label></div>", + 'country_001' => "<select name='country_001' id='country-001' class='tbox select form-control' tabindex='11'><option value=''> </option><option value='af'>Afghanistan</option><option value='al'>Albania</option><option value='dz'>Algeria</option><option value='as'>American Samoa</option><option value='ad'>Andorra</option><option value='ao'>Angola</option><option value='ai'>Anguilla</option><option value='aq'>Antarctica</option><option value='ag'>Antigua and Barbuda</option><option value='ar'>Argentina</option><option value='am'>Armenia</option><option value='aw'>Aruba</option><option value='au' selected='selected'>Australia</option><option value='at'>Austria</option><option value='az'>Azerbaijan</option><option value='bs'>Bahamas</option><option value='bh'>Bahrain</option><option value='bd'>Bangladesh</option><option value='bb'>Barbados</option><option value='by'>Belarus</option><option value='be'>Belgium</option><option value='bz'>Belize</option><option value='bj'>Benin</option><option value='bm'>Bermuda</option><option value='bt'>Bhutan</option><option value='bo'>Bolivia</option><option value='ba'>Bosnia-Herzegovina</option><option value='bw'>Botswana</option><option value='bv'>Bouvet Island</option><option value='br'>Brazil</option><option value='io'>British Indian Ocean Territory</option><option value='bn'>Brunei Darussalam</option><option value='bg'>Bulgaria</option><option value='bf'>Burkina Faso</option><option value='bi'>Burundi</option><option value='kh'>Cambodia</option><option value='cm'>Cameroon</option><option value='ca'>Canada</option><option value='cv'>Cape Verde</option><option value='ky'>Cayman Islands</option><option value='cf'>Central African Republic</option><option value='td'>Chad</option><option value='cl'>Chile</option><option value='cn'>China</option><option value='cx'>Christmas Island</option><option value='cc'>Cocos (Keeling) Islands</option><option value='co'>Colombia</option><option value='km'>Comoros</option><option value='cg'>Congo</option><option value='cd'>Congo (Dem.Rep)</option><option value='ck'>Cook Islands</option><option value='cr'>Costa Rica</option><option value='hr'>Croatia</option><option value='cu'>Cuba</option><option value='cy'>Cyprus</option><option value='cz'>Czech Republic</option><option value='dk'>Denmark</option><option value='dj'>Djibouti</option><option value='dm'>Dominica</option><option value='do'>Dominican Republic</option><option value='tp'>East Timor</option><option value='ec'>Ecuador</option><option value='eg'>Egypt</option><option value='sv'>El Salvador</option><option value='gq'>Equatorial Guinea</option><option value='er'>Eritrea</option><option value='ee'>Estonia</option><option value='et'>Ethiopia</option><option value='fk'>Falkland Islands</option><option value='fo'>Faroe Islands</option><option value='fj'>Fiji</option><option value='fi'>Finland</option><option value='fr'>France</option><option value='gf'>French Guyana</option><option value='tf'>French Southern Territories</option><option value='ga'>Gabon</option><option value='gm'>Gambia</option><option value='ge'>Georgia</option><option value='de'>Germany</option><option value='gh'>Ghana</option><option value='gi'>Gibraltar</option><option value='gr'>Greece</option><option value='gl'>Greenland</option><option value='gd'>Grenada</option><option value='gp'>Guadeloupe (French)</option><option value='gu'>Guam (USA)</option><option value='gt'>Guatemala</option><option value='gn'>Guinea</option><option value='gw'>Guinea Bissau</option><option value='gy'>Guyana</option><option value='ht'>Haiti</option><option value='hm'>Heard and McDonald Islands</option><option value='hn'>Honduras</option><option value='hk'>Hong Kong</option><option value='hu'>Hungary</option><option value='is'>Iceland</option><option value='in'>India</option><option value='id'>Indonesia</option><option value='ir'>Iran</option><option value='iq'>Iraq</option><option value='ie'>Ireland</option><option value='il'>Israel</option><option value='it'>Italy</option><option value='ci'>Ivory Coast (Cote D'Ivoire)</option><option value='jm'>Jamaica</option><option value='jp'>Japan</option><option value='jo'>Jordan</option><option value='kz'>Kazakhstan</option><option value='ke'>Kenya</option><option value='ki'>Kiribati</option><option value='kp'>Korea (North)</option><option value='kr'>Korea (South)</option><option value='kw'>Kuwait</option><option value='kg'>Kyrgyzstan</option><option value='la'>Laos</option><option value='lv'>Latvia</option><option value='lb'>Lebanon</option><option value='ls'>Lesotho</option><option value='lr'>Liberia</option><option value='ly'>Libya</option><option value='li'>Liechtenstein</option><option value='lt'>Lithuania</option><option value='lu'>Luxembourg</option><option value='mo'>Macau</option><option value='mk'>Macedonia</option><option value='mg'>Madagascar</option><option value='mw'>Malawi</option><option value='my'>Malaysia</option><option value='mv'>Maldives</option><option value='ml'>Mali</option><option value='mt'>Malta</option><option value='mh'>Marshall Islands</option><option value='mq'>Martinique (French)</option><option value='mr'>Mauritania</option><option value='mu'>Mauritius</option><option value='yt'>Mayotte</option><option value='mx'>Mexico</option><option value='fm'>Micronesia</option><option value='md'>Moldavia</option><option value='mc'>Monaco</option><option value='mn'>Mongolia</option><option value='me'>Montenegro</option><option value='ms'>Montserrat</option><option value='ma'>Morocco</option><option value='mz'>Mozambique</option><option value='mm'>Myanmar</option><option value='na'>Namibia</option><option value='nr'>Nauru</option><option value='np'>Nepal</option><option value='nl'>Netherlands</option><option value='an'>Netherlands Antilles</option><option value='nc'>New Caledonia (French)</option><option value='nz'>New Zealand</option><option value='ni'>Nicaragua</option><option value='ne'>Niger</option><option value='ng'>Nigeria</option><option value='nu'>Niue</option><option value='nf'>Norfolk Island</option><option value='mp'>Northern Mariana Islands</option><option value='no'>Norway</option><option value='om'>Oman</option><option value='pk'>Pakistan</option><option value='pw'>Palau</option><option value='pa'>Panama</option><option value='pg'>Papua New Guinea</option><option value='py'>Paraguay</option><option value='pe'>Peru</option><option value='ph'>Philippines</option><option value='pn'>Pitcairn Island</option><option value='pl'>Poland</option><option value='pf'>Polynesia (French)</option><option value='pt'>Portugal</option><option value='pr'>Puerto Rico</option><option value='ps'>Palestine</option><option value='qa'>Qatar</option><option value='re'>Reunion (French)</option><option value='ro'>Romania</option><option value='ru'>Russia</option><option value='rw'>Rwanda</option><option value='gs'>S. Georgia & S. Sandwich Isls.</option><option value='sh'>Saint Helena</option><option value='kn'>Saint Kitts & Nevis</option><option value='lc'>Saint Lucia</option><option value='pm'>Saint Pierre and Miquelon</option><option value='st'>Saint Tome (Sao Tome) and Principe</option><option value='vc'>Saint Vincent & Grenadines</option><option value='ws'>Samoa</option><option value='sm'>San Marino</option><option value='sa'>Saudi Arabia</option><option value='sn'>Senegal</option><option value='rs'>Serbia</option><option value='sc'>Seychelles</option><option value='sl'>Sierra Leone</option><option value='sg'>Singapore</option><option value='sk'>Slovak Republic</option><option value='si'>Slovenia</option><option value='sb'>Solomon Islands</option><option value='so'>Somalia</option><option value='za'>South Africa</option><option value='es'>Spain</option><option value='lk'>Sri Lanka</option><option value='sd'>Sudan</option><option value='sr'>Suriname</option><option value='sj'>Svalbard and Jan Mayen Islands</option><option value='sz'>Swaziland</option><option value='se'>Sweden</option><option value='ch'>Switzerland</option><option value='sy'>Syria</option><option value='tj'>Tadjikistan</option><option value='tw'>Taiwan</option><option value='tz'>Tanzania</option><option value='th'>Thailand</option><option value='ti'>Tibet</option><option value='tg'>Togo</option><option value='tk'>Tokelau</option><option value='to'>Tonga</option><option value='tt'>Trinidad and Tobago</option><option value='tn'>Tunisia</option><option value='tr'>Turkey</option><option value='tm'>Turkmenistan</option><option value='tc'>Turks and Caicos Islands</option><option value='tv'>Tuvalu</option><option value='ug'>Uganda</option><option value='ua'>Ukraine</option><option value='ae'>United Arab Emirates</option><option value='gb'>United Kingdom</option><option value='us'>United States</option><option value='uy'>Uruguay</option><option value='um'>US Minor Outlying Islands</option><option value='uz'>Uzbekistan</option><option value='vu'>Vanuatu</option><option value='va'>Vatican City State</option><option value='ve'>Venezuela</option><option value='vn'>Vietnam</option><option value='vg'>Virgin Islands (British)</option><option value='vi'>Virgin Islands (USA)</option><option value='wf'>Wallis and Futuna Islands</option><option value='eh'>Western Sahara</option><option value='ye'>Yemen</option><option value='zm'>Zambia</option><option value='zw'>Zimbabwe</option></select>", + 'ip_001' => "<input type='text' name='ip_001' value='::1' maxlength=32 id='ip-001' class='tbox form-control' tabindex='12' />", + 'templates_001' => "<select name='templates_001' id='templates-001' class='tbox select form-control' tabindex='13'><option value='menu'>Menu</option><option value='page'>Page</option></select>", + 'radio_001' => "<label class='radio-inline'><input type='radio' name='radio_001' value='1' /><span>Radio Opt 1</span></label> <label class='radio-inline'><input type='radio' name='radio_001' value='2' checked='checked' /><span>Radio Opt 2</span></label> <label class='radio-inline'><input type='radio' name='radio_001' value='3' /><span>Radio Opt 3</span></label>", + //todo check tags_001 is correct. + 'tags_001' => "<input type='text' name='tags_001' value='keyword1,keyword2,keyword3' maxlength=255 id='tags-001' tabindex='14' />", + + // 'bbarea_001' => '<!-- bbcode-html-start --><b>bold</b><!-- bbcode-html-end -->', + // 'icon_001' => "<span class='icon-preview'><img class='icon' src='".e_HTTP."e107_images/e107_icon_32.png' alt='e107_icon_32.png' /></span>", + // 'media_001' => '', + // 'file_001' => '<a href="'.e_HTTP.'e107_media/0f00f1d468/files/test.zip" title="Direct link to {e_MEDIA_FILE}test.zip" rel="external">{e_MEDIA_FILE}test.zip</a>', + // 'files_001' => '{e_MEDIA_FILE}test.zip', + 'datestamp_001' => "<input class='e-date input-xlarge form-control' type='text' size='40' id='e-datepicker-datestamp-001' value='Monday, 01 Feb, 2016' data-date-unix ='true' data-date-format='DD, dd M, yyyy' data-date-ampm='false' data-date-language='en' data-date-firstday='0' /><input type='hidden' name='datestamp_001' id='datestamp-001' value='1454367600' />", + 'date_001' => "<input class='e-date input-xlarge form-control' type='text' size='40' id='e-datepicker-date-001' value='Thursday, 23 Aug, 2018' data-date-unix ='true' data-date-format='DD, dd M, yyyy' data-date-ampm='false' data-date-language='en' data-date-firstday='0' /><input type='hidden' name='date_001' id='date-001' value='1535007600' />", + 'userclass_001' => "<select name='userclass_001' id='userclass-001' class='tbox select form-control' tabindex='16'><option value='0' selected='selected'>Everyone (public)</option><option value='254'> Admin</option><option value='249'> Admins and Mods</option><option value='2'> CONTACT PEOPLE</option><option value='248'> Forum Moderators</option><option value='252'> Guests</option><option value='250'> Main Admin</option><option value='253'> Members</option><option value='1'> PRIVATEMENU</option><option value='255'>No One (inactive)</option><option value='3'> NEWSLETTER</option><optgroup label='Everyone but..'><option value='-254'> Not Admin</option><option value='-249'> Not Admins and Mods</option><option value='-2'> Not CONTACT PEOPLE</option><option value='-248'> Not Forum Moderators</option><option value='-252'> Not Guests</option><option value='-250'> Not Main Admin</option><option value='-253'> Not Members</option><option value='-1'> Not PRIVATEMENU</option><option value='-3'> Not NEWSLETTER</option></optgroup></select>", + 'userclasses_001' => "<select name='userclasses_001[]' id='userclasses-001' class='tbox select form-control' tabindex='17' multiple='multiple'><option value='0'>Everyone (public)</option><option value='254'> Admin</option><option value='249'> Admins and Mods</option><option value='2'> CONTACT PEOPLE</option><option value='248'> Forum Moderators</option><option value='252'> Guests</option><option value='250'> Main Admin</option><option value='253'> Members</option><option value='1' selected='selected'> PRIVATEMENU</option><option value='255'>No One (inactive)</option><option value='3'> NEWSLETTER</option><optgroup label='Everyone but..'><option value='-254'> Not Admin</option><option value='-249'> Not Admins and Mods</option><option value='-2'> Not CONTACT PEOPLE</option><option value='-248'> Not Forum Moderators</option><option value='-252'> Not Guests</option><option value='-250'> Not Main Admin</option><option value='-253'> Not Members</option><option value='-1'> Not PRIVATEMENU</option><option value='-3'> Not NEWSLETTER</option></optgroup></select>", + //todo check user_001 is correct + 'user_001' => "<input type='text' name='user_001' value='1' maxlength=100 id='user-001' tabindex='18' />", + 'url_001' => "<input type='text' name='url_001' value='https://e107.org' maxlength=255 id='url-001' class='tbox form-control' tabindex='19' pattern='^\S*$' />", + 'email_001' => "<input type='email' name='email_001' value='me@email.com' maxlength=255 id='email-001' class='tbox form-control' tabindex='20' />", + 'hidden_001' => "<input type='hidden' name='hidden_001' value='hidden-value' id='hidden-001-hidden-value' />", + // 'method_001' => 'custom-value', + 'language_001' => "<select name='language_001' id='language-001' class='tbox select form-control' tabindex='21'><option value='aa'>Afar</option><option value='ab'>Abkhazian</option><option value='af'>Afrikaans</option><option value='am'>Amharic</option><option value='ar'>Arabic</option><option value='as'>Assamese</option><option value='ae'>Avestan</option><option value='ay'>Aymara</option><option value='az'>Azerbaijani</option><option value='ba'>Bashkir</option><option value='be'>Belarusian</option><option value='bn'>Bengali</option><option value='bh'>Bihari</option><option value='bi'>Bislama</option><option value='bo'>Tibetan</option><option value='bs'>Bosnian</option><option value='br'>Breton</option><option value='bg'>Bulgarian</option><option value='my'>Burmese</option><option value='ca'>Catalan</option><option value='cs'>Czech</option><option value='ch'>Chamorro</option><option value='ce'>Chechen</option><option value='cn'>ChineseSimp</option><option value='tw'>ChineseTrad</option><option value='cv'>Chuvash</option><option value='kw'>Cornish</option><option value='co'>Corsican</option><option value='da'>Danish</option><option value='nl'>Dutch</option><option value='dz'>Dzongkha</option><option value='de'>German</option><option value='en'>English</option><option value='eo'>Esperanto</option><option value='et'>Estonian</option><option value='eu'>Basque</option><option value='fo'>Faroese</option><option value='fa'>Persian</option><option value='fj'>Fijian</option><option value='fi'>Finnish</option><option value='fr' selected='selected'>French</option><option value='fy'>Frisian</option><option value='gd'>Gaelic</option><option value='el'>Greek</option><option value='ga'>Irish</option><option value='gl'>Gallegan</option><option value='gn'>Guarani</option><option value='gu'>Gujarati</option><option value='ha'>Hausa</option><option value='he'>Hebrew</option><option value='hz'>Herero</option><option value='hi'>Hindi</option><option value='ho'>Hiri Motu</option><option value='hr'>Croatian</option><option value='hu'>Hungarian</option><option value='hy'>Armenian</option><option value='iu'>Inuktitut</option><option value='ie'>Interlingue</option><option value='id'>Indonesian</option><option value='ik'>Inupiaq</option><option value='is'>Icelandic</option><option value='it'>Italian</option><option value='jw'>Javanese</option><option value='ja'>Japanese</option><option value='kl'>Kalaallisut</option><option value='kn'>Kannada</option><option value='ks'>Kashmiri</option><option value='ka'>Georgian</option><option value='kk'>Kazakh</option><option value='km'>Khmer</option><option value='ki'>Kikuyu</option><option value='rw'>Kinyarwanda</option><option value='ky'>Kirghiz</option><option value='kv'>Komi</option><option value='ko'>Korean</option><option value='ku'>Kurdish</option><option value='lo'>Lao</option><option value='la'>Latin</option><option value='lv'>Latvian</option><option value='ln'>Lingala</option><option value='lt'>Lithuanian</option><option value='lb'>Letzeburgesch</option><option value='mh'>Marshall</option><option value='ml'>Malayalam</option><option value='mr'>Marathi</option><option value='mk'>Macedonian</option><option value='mg'>Malagasy</option><option value='mt'>Maltese</option><option value='mo'>Moldavian</option><option value='mn'>Mongolian</option><option value='mi'>Maori</option><option value='ms'>Malay</option><option value='gv'>Manx</option><option value='na'>Nauru</option><option value='nv'>Navajo</option><option value='ng'>Ndonga</option><option value='ne'>Nepali</option><option value='no'>Norwegian</option><option value='ny'>Chichewa</option><option value='or'>Oriya</option><option value='om'>Oromo</option><option value='pa'>Panjabi</option><option value='pi'>Pali</option><option value='pl'>Polish</option><option value='pt'>Portuguese</option><option value='ps'>Pushto</option><option value='qu'>Quechua</option><option value='ro'>Romanian</option><option value='rn'>Rundi</option><option value='ru'>Russian</option><option value='sg'>Sango</option><option value='sa'>Sanskrit</option><option value='si'>Sinhala</option><option value='sk'>Slovak</option><option value='sl'>Slovenian</option><option value='sm'>Samoan</option><option value='sn'>Shona</option><option value='sd'>Sindhi</option><option value='so'>Somali</option><option value='es'>Spanish</option><option value='sq'>Albanian</option><option value='sc'>Sardinian</option><option value='sr'>Serbian</option><option value='ss'>Swati</option><option value='su'>Sundanese</option><option value='sw'>Swahili</option><option value='sv'>Swedish</option><option value='ty'>Tahitian</option><option value='ta'>Tamil</option><option value='tt'>Tatar</option><option value='te'>Telugu</option><option value='tg'>Tajik</option><option value='tl'>Tagalog</option><option value='th'>Thai</option><option value='ti'>Tigrinya</option><option value='tn'>Tswana</option><option value='ts'>Tsonga</option><option value='tk'>Turkmen</option><option value='tr'>Turkish</option><option value='ug'>Uighur</option><option value='uk'>Ukrainian</option><option value='ur'>Urdu</option><option value='uz'>Uzbek</option><option value='vi'>Vietnamese</option><option value='cy'>Welsh</option><option value='wo'>Wolof</option><option value='xh'>Xhosa</option><option value='yi'>Yiddish</option><option value='yo'>Yoruba</option><option value='za'>Zhuang</option><option value='zu'>Zulu</option></select>", + // 'lanlist_001' => 'German', // only works with multiple languages installed. ); @@ -737,13 +874,18 @@ $result = str_replace("\n", "", $result); - // if(empty($expected[$field])) + if(empty($expected[$field])) { + continue; + // echo $result; + // echo "\n\n"; // $this->expectExceptionMessage('\$expected value for \$field not set in script'); // $this->expectExceptionMessage($result); } - $this->assertEquals($expected[$field], $result); + + + $this->assertEquals($expected[$field], $result); }