yiiapi/tests/framework/validators/CUrlValidatorTest.php

(开头部分) 6KB

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

<?php
require_once('ValidatorTestModel.php');

class CUrlValidatorTest extends CTestCase
{
	public function testEmpty()
	{
		$model = new ValidatorTestModel('CUrlValidatorTest');
		$model->validate(array('url'));
		$this->assertArrayHasKey('url', $model->getErrors());
	}

	public function testArbitraryUrl()
	{
		$urlValidator = new CUrlValidator();
		$url = 'http://testing-arbitrary-domain.com/';
		$result = $urlValidator->validateValue($url);
		$this->assertEquals($url, $result);
	}

	public function providerIDNUrl()
	{
		return array(
			// IDN validation enabled
			array('http://президент.рф/', true, 'http://президент.рф/'),
			array('http://bücher.de/?get=param', true, 'http://bücher.de/?get=param'),
			array('http://检查域.cn/', true, 'http://检查域.cn/'),
			array('http://mañana.com/', true, 'http://mañana.com/'),
			array('http://☃-⌘.com/', true, 'http://☃-⌘.com/'),
			array('http://google.com/', true, 'http://google.com/'),
			array('http://www.yiiframework.com/forum/', true, 'http://www.yiiframework.com/forum/'),
			array('https://www.yiiframework.com/extensions/', true, 'https://www.yiiframework.com/extensions/'),
			array('ftp://www.yiiframework.com/', true, false),
			array('www.yiiframework.com', true, false),

			// IDN validation disabled
			array('http://президент.рф/', false, false),
			array('http://bücher.de/?get=param', false, false),
			array('http://检查域.cn/', false, false),
			array('http://mañana.com/', false, false),
			array('http://☃-⌘.com/', false, false),
			array('http://google.com/', false, 'http://google.com/'),
			array('http://www.yiiframework.com/forum/', false, 'http://www.yiiframework.com/forum/'),
			array('https://www.yiiframework.com/extensions/', false, 'https://www.yiiframework.com/extensions/'),
			array('ftp://www.yiiframework.com/', false, false),
			array('www.yiiframework.com', false, false),
		);
	}

	/**
	 * @dataProvider providerIDNUrl
	 *
	 * @param string $url
	 * @param boolean $validateIDN
	 * @param string $assertion
	 */
	public function testIDNUrl($url, $validateIDN, $assertion)
	{
		$urlValidator = new CUrlValidator();
		$urlValidator->validateIDN = $validateIDN;
后面还有 128 行代码,购买后查看完整代码

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

AI 解读

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

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