yiiapi/tests/framework/validators/CCompareValidatorTest.php

(开头部分) 7KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

require_once 'ModelMock.php';

/**
 * CCompareValidatorTest
 *
 * @author   Kevin Bradwick <kbradwick@gmail.com>
 */
class CCompareValidatorTest extends CTestCase
{
	/**
	 * Test we can catch validation errors
	 *
	 * @return null
	 */
	public function testValidationErrorsWithEquals()
	{
		$model = $this->getModelMock(array('compareAttribute' => 'bar'));
		$model->foo = 'foo';
		$model->bar = 'bar';

		$this->assertFalse($model->validate());
		$this->assertTrue($model->hasErrors('foo'));
		$model->bar = 'foo';
		$this->assertTrue($model->validate());

		// https://github.com/yiisoft/yii/issues/1955
		$model->foo = array('foo');
		$this->assertFalse($model->validate());
		$this->assertTrue($model->hasErrors('foo'));

		// client validation
		$validator = new CCompareValidator;
		$validator->operator = '=';
		$validator->compareAttribute = 'bar';
		$script = $validator->clientValidateAttribute($model, 'foo');
		$this->assertInternalType('string', $script);
		$this->assertContains('Foo must be repeated exactly.', $script);
	}

	/**
	 * Test we can catch validation errors
	 *
	 * @return null
	 */
	public function testValidationErrorsWithNotEquals()
	{
		$model = $this->getModelMock(array(
			'operator' => '!=',
			'strict' => true,
			'compareAttribute' => 'bar',
		));
		$model->foo = 'foo';
		$model->bar = 'bar';

		$this->assertTrue($model->validate());

		$model->bar = 'foo';
		$this->assertFalse($model->validate());
后面还有 233 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。