改进Validate单元测试

This commit is contained in:
thinkphp
2016-07-31 19:28:04 +08:00
parent 38246438ff
commit 5699172518
2 changed files with 17 additions and 1 deletions

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -15,6 +15,7 @@
namespace tests\thinkphp\library\think; namespace tests\thinkphp\library\think;
use think\File;
use think\Validate; use think\Validate;
class validateTest extends \PHPUnit_Framework_TestCase class validateTest extends \PHPUnit_Framework_TestCase
@@ -58,10 +59,16 @@ class validateTest extends \PHPUnit_Framework_TestCase
'status' => 'integer|in:0,1,2', 'status' => 'integer|in:0,1,2',
'begin_time' => 'after:2016-3-18', 'begin_time' => 'after:2016-3-18',
'end_time' => 'before:2016-10-01', 'end_time' => 'before:2016-10-01',
'info' => 'require|array', 'info' => 'require|array|length:4',
'info.name' => 'require|length:8|alpha|same:thinkphp', 'info.name' => 'require|length:8|alpha|same:thinkphp',
'value' => 'same:100', 'value' => 'same:100',
'bool' => 'boolean', 'bool' => 'boolean',
'title' => 'chsAlpha',
'city' => 'chs',
'nickname' => 'chsDash',
'aliasname' => 'chsAlphaNum',
'file' => 'file|fileExt:php|fileSize:20480',
'image' => 'image|fileMime:image/png',
]; ];
$data = [ $data = [
'name' => 'thinkphp', 'name' => 'thinkphp',
@@ -81,6 +88,12 @@ class validateTest extends \PHPUnit_Framework_TestCase
'ok' => 'yes', 'ok' => 'yes',
'value' => 100, 'value' => 100,
'bool' => 'true', 'bool' => 'true',
'title' => '流年ThinkPHP',
'city' => '上海',
'nickname' => '流年ThinkPHP_2016',
'aliasname' => '流年Think2016',
'file' => new File(THINK_PATH . 'base.php'),
'image' => new File(THINK_PATH . 'logo.png'),
]; ];
$validate = new Validate($rule); $validate = new Validate($rule);
$validate->rule('zip', '/^\d{6}$/'); $validate->rule('zip', '/^\d{6}$/');
@@ -126,6 +139,7 @@ class validateTest extends \PHPUnit_Framework_TestCase
{ {
$validate = new Validate(['name' => 'check:1']); $validate = new Validate(['name' => 'check:1']);
$validate->extend('check', function ($value, $rule) {return $rule == $value ? true : false;}); $validate->extend('check', function ($value, $rule) {return $rule == $value ? true : false;});
$validate->extend(['check' => function ($value, $rule) {return $rule == $value ? true : false;}]);
$data = ['name' => 1]; $data = ['name' => 1];
$result = $validate->check($data); $result = $validate->check($data);
$this->assertEquals(true, $result); $this->assertEquals(true, $result);
@@ -151,6 +165,7 @@ class validateTest extends \PHPUnit_Framework_TestCase
'email' => 'thinkphp@qq.com', 'email' => 'thinkphp@qq.com',
]; ];
$validate = new Validate($rule); $validate = new Validate($rule);
$validate->scene(['edit' => ['name', 'age']]);
$validate->scene('edit', ['name', 'age']); $validate->scene('edit', ['name', 'age']);
$validate->scene('edit'); $validate->scene('edit');
$result = $validate->check($data); $result = $validate->check($data);
@@ -173,6 +188,7 @@ class validateTest extends \PHPUnit_Framework_TestCase
]; ];
$validate = new Validate($rule); $validate = new Validate($rule);
$validate->setTypeMsg('require', ':attribute必须'); $validate->setTypeMsg('require', ':attribute必须');
$validate->setTypeMsg(['require' => ':attribute必须']);
$result = $validate->batch()->check($data); $result = $validate->batch()->check($data);
$this->assertFalse($result); $this->assertFalse($result);
$this->assertEquals(['name' => '名称必须', 'sex' => '性别错误'], $validate->getError()); $this->assertEquals(['name' => '名称必须', 'sex' => '性别错误'], $validate->getError());