This repository has been archived by the owner on Jan 4, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
InvalidExcludeClassNameTest.php
81 lines (69 loc) · 2.04 KB
/
InvalidExcludeClassNameTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
declare(strict_types=1);
/**
* Copyright (c) 2017-2020 Andreas Möller
*
* For the full copyright and license information, please view
* the LICENSE.md file that was distributed with this source code.
*
* @see https://github.com/ergebnis/test-util
*/
namespace Ergebnis\Test\Util\Test\Unit\Exception;
use Ergebnis\Test\Util\Exception\InvalidExcludeClassName;
use Ergebnis\Test\Util\Helper;
use PHPUnit\Framework;
/**
* @internal
*
* @covers \Ergebnis\Test\Util\Exception\InvalidExcludeClassName
*
* @uses \Ergebnis\Test\Util\Helper
*/
final class InvalidExcludeClassNameTest extends Framework\TestCase
{
use Helper;
public function testExtendsInvalidArgumentException(): void
{
self::assertClassExtends(\InvalidArgumentException::class, InvalidExcludeClassName::class);
}
/**
* @dataProvider providerInvalidClassName
*
* @param mixed $className
*/
public function testFromClassNameReturnsException($className): void
{
$exception = InvalidExcludeClassName::fromClassName($className);
self::assertSame(0, $exception->getCode());
$message = \sprintf(
'Exclude class name should be a string, got "%s" instead.',
\is_object($className) ? \get_class($className) : \gettype($className)
);
self::assertSame($message, $exception->getMessage());
}
/**
* @return \Generator<array<null|array|bool|float|int|resource|\stdClass>>
*/
public function providerInvalidClassName(): \Generator
{
$className = [
'array' => [
'foo',
'bar',
'baz',
],
'bool-false' => false,
'bool-true' => true,
'float' => 3.14,
'integer' => 9000,
'null' => null,
'object' => new \stdClass(),
'resource' => \fopen(__FILE__, 'rb'),
];
foreach ($className as $key => $classyName) {
yield $key => [
$classyName,
];
}
}
}