respect-validation/tests/unit/Rules/UppercaseTest.php
Alexandre Gomes Gaigalas ab3732f91f Use SPDX IDs for licensing
SPDX IDs are shorter than licensing notes previously used, and
adhere better to FOSS standards. It is also machine-readable.
2023-02-19 00:19:10 -03:00

67 lines
1.7 KiB
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Rules;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
/**
* @group rule
*
* @covers \Respect\Validation\Rules\Uppercase
*
* @author Danilo Benevides <danilobenevides01@gmail.com>
* @author Gabriel Caruso <carusogabriel34@gmail.com>
* @author Henrique Moody <henriquemoody@gmail.com>
* @author Jean Pimentel <jeanfap@gmail.com>
*/
final class UppercaseTest extends RuleTestCase
{
/**
* {@inheritDoc}
*/
public function providerForValidInput(): array
{
$rule = new Uppercase();
return [
[$rule, ''],
[$rule, 'UPPERCASE'],
[$rule, 'UPPERCASE-WITH-DASHES'],
[$rule, 'UPPERCASE WITH SPACES'],
[$rule, 'UPPERCASE WITH NUMBERS 123'],
[$rule, 'UPPERCASE WITH SPECIALS CHARACTERS LIKE Ã Ç Ê'],
[$rule, 'WITH SPECIALS CHARACTERS LIKE # $ % & * +'],
[$rule, 'ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ'],
// Uppercase should not restrict these
[$rule, '42'],
[$rule, '!@#$%^'],
];
}
/**
* {@inheritDoc}
*/
public function providerForInvalidInput(): array
{
$rule = new Uppercase();
return [
[$rule, 42],
[$rule, []],
[$rule, new stdClass()],
[$rule, 'lowercase'],
[$rule, 'CamelCase'],
[$rule, 'First Character Uppercase'],
[$rule, 'With Numbers 1 2 3'],
];
}
}