Changeset 23349


Ignore:
Timestamp:
2014/02/14 22:26:48 (10 years ago)
Author:
kimoto
Message:

#2386 フォーラムより
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=14241&forum=9&post_id=63901

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  
    852852        } 
    853853        $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]])) { 
    855855            $this->arrErr[$value[1]] = '※ ' . $value[0] . 'のファイル名に日本語やスペースは使用しないで下さい。<br />'; 
    856856        } 
  • branches/version-2_13-dev/tests/class/SC_CheckError/SC_CheckError_FILE_NAME_CHECK_BY_NOUPLOADTest.php

    r23347 r23349  
    2828{ 
    2929 
    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 
    3364    public function testFILE_NAME_CHECK_BY_NOUPLOAD_空文字列の場合_エラーをセットしない() 
    3465    { 
     
    4374 
    4475    /** 
    45      * @expectedException PHPUnit_Framework_Error_Warning 
    46     */ 
    47     public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれていない場合_エラーをセットしない() 
     76     * @dataProvider validValueProvider 
     77     */ 
     78    public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれていない場合_エラーをセットしない($value) 
    4879    { 
    49         $arrForm = array('file' => 'a_b-c.Z'); 
     80        $arrForm = array('file' => $value); 
    5081        $objErr = new SC_CheckError_Ex($arrForm); 
    5182        $objErr->doFunc(array('label', 'file') ,array('FILE_NAME_CHECK_BY_NOUPLOAD')); 
     
    5788 
    5889    /** 
    59      * @expectedException PHPUnit_Framework_Error_Warning 
    60     */ 
    61     public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする() 
     90     * @dataProvider invalidValueProvider 
     91     */ 
     92    public function testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする($value) 
    6293    { 
    63         $arrForm = array('file' => 'a/b'); 
     94        $arrForm = array('file' => $value); 
    6495        $objErr = new SC_CheckError_Ex($arrForm); 
    6596        $objErr->doFunc(array('label', 'file') ,array('FILE_NAME_CHECK_BY_NOUPLOAD')); 
    6697 
    67         $this->expected = '※ labelのファイル名に日本語やスペースは使用しないで下さい。<br />'; 
    68         $this->actual = $objErr->arrErr['file']; 
     98        $this->expected = true; 
     99        $this->actual = isset($objErr->arrErr['file']); 
    69100        $this->verify(); 
    70101    } 
    71102 
    72103    /** 
    73      * @expectedException PHPUnit_Framework_Error_Warning 
    74104     * @depends testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする 
    75105     */ 
Note: See TracChangeset for help on using the changeset viewer.