Changeset 23349
- Timestamp:
- 2014/02/14 22:26:48 (10 years ago)
- Location:
- branches/version-2_13-dev
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/SC_CheckError.php
r23124 r23349 852 852 } 853 853 $this->createParam($value); 854 if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("/^[[:alnum:]_\.-]+$/i", $this->arrParam[$value[1]]) || preg_match('/[\\]/' ,$this->arrParam[$value[1]])) {854 if (strlen($this->arrParam[$value[1]]) > 0 && preg_match("/[^[:alnum:]_.\\-]/", $this->arrParam[$value[1]])) { 855 855 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'のファイル名に日本語やスペースは使用しないで下さい。<br />'; 856 856 } -
branches/version-2_13-dev/tests/class/SC_CheckError/SC_CheckError_FILE_NAME_CHECK_BY_NOUPLOADTest.php
r23347 r23349 28 28 { 29 29 30 /** 31 * @expectedException PHPUnit_Framework_Error_Warning 32 */ 30 public function setUp() { 31 set_error_handler(function($errno, $errstr, $errfile, $errline) { 32 throw new RuntimeException($errstr . " on line " . $errline . " in file " . $errfile); 33 }); 34 } 35 36 public function tearDown() { 37 restore_error_handler(); 38 } 39 40 public function validValueProvider() 41 { 42 return array( 43 array('a'), 44 array('012'), 45 array('abc012'), 46 array('a.txt'), 47 array('a-b.zip'), 48 array('a-b_c.tar.gz'), 49 ); 50 } 51 52 public function invalidValueProvider() 53 { 54 return array( 55 array("line1\nline2"), 56 array("a\x00b"), 57 array('a/b'), 58 array('a b'), 59 array('日本語'), 60 array('日 本 語'), 61 ); 62 } 63 33 64 public function testFILE_NAME_CHECK_BY_NOUPLOAD_空文字列の場合_エラーをセットしない() 34 65 { … … 43 74 44 75 /** 45 * @ expectedException PHPUnit_Framework_Error_Warning46 */47 public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれていない場合_エラーをセットしない( )76 * @dataProvider validValueProvider 77 */ 78 public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれていない場合_エラーをセットしない($value) 48 79 { 49 $arrForm = array('file' => 'a_b-c.Z');80 $arrForm = array('file' => $value); 50 81 $objErr = new SC_CheckError_Ex($arrForm); 51 82 $objErr->doFunc(array('label', 'file') ,array('FILE_NAME_CHECK_BY_NOUPLOAD')); … … 57 88 58 89 /** 59 * @ expectedException PHPUnit_Framework_Error_Warning60 */61 public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする( )90 * @dataProvider invalidValueProvider 91 */ 92 public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする($value) 62 93 { 63 $arrForm = array('file' => 'a/b');94 $arrForm = array('file' => $value); 64 95 $objErr = new SC_CheckError_Ex($arrForm); 65 96 $objErr->doFunc(array('label', 'file') ,array('FILE_NAME_CHECK_BY_NOUPLOAD')); 66 97 67 $this->expected = '※ labelのファイル名に日本語やスペースは使用しないで下さい。<br />';68 $this->actual = $objErr->arrErr['file'];98 $this->expected = true; 99 $this->actual = isset($objErr->arrErr['file']); 69 100 $this->verify(); 70 101 } 71 102 72 103 /** 73 * @expectedException PHPUnit_Framework_Error_Warning74 104 * @depends testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする 75 105 */
Note: See TracChangeset
for help on using the changeset viewer.