Просмотр файла libarea-0.9/vendor/utopia-php/framework/tests/Validator/MultipleTest.php

Размер файла: 1.18Kb
<?php

namespace Utopia\Validator;

use PHPUnit\Framework\TestCase;

class MultipleTest extends TestCase
{
    protected Multiple $validator;

    public function setUp(): void
    {
        $this->validator = new Multiple([new Text(20), new URL()], Multiple::TYPE_STRING);
    }

    public function testIsValid()
    {
        $this->assertEquals('string', $this->validator->getType());
        $this->assertEquals("1. Value must be a valid string and at least 1 chars and no longer than 20 chars \n2. Value must be a valid URL \n", $this->validator->getDescription());

        // Valid URL but invalid text length
        $this->assertFalse($this->validator->isValid('http://example.com/very-long-url'));

        // Valid text within length, but invalid URL
        $this->assertFalse($this->validator->isValid('hello world'));

        // Both conditions satisfied
        $this->assertTrue($this->validator->isValid('http://example.com'));
        $this->assertTrue($this->validator->isValid('https://google.com'));

        // Neither condition satisfied
        $this->assertFalse($this->validator->isValid('example.com/hello-world'));
        $this->assertFalse($this->validator->isValid(''));
    }
}