File: AboutCommandTest.php

package info (click to toggle)
php-laravel-framework 10.48.29%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 19,188 kB
  • sloc: php: 232,347; sh: 167; makefile: 46
file content (42 lines) | stat: -rw-r--r-- 1,320 bytes parent folder | download | duplicates (2)
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
<?php

namespace Illuminate\Tests\Foundation\Console;

use Illuminate\Foundation\Console\AboutCommand;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;

class AboutCommandTest extends TestCase
{
    /**
     * @param  \Closure(bool):mixed  $format
     * @param  mixed  $expected
     */
    #[DataProvider('cliDataProvider')]
    public function testItCanFormatForCliInterface($format, $expected)
    {
        $this->assertSame($expected, value($format, false));
    }

    public static function cliDataProvider()
    {
        yield [AboutCommand::format(true, console: fn ($value) => $value === true ? 'YES' : 'NO'), 'YES'];
        yield [AboutCommand::format(false, console: fn ($value) => $value === true ? 'YES' : 'NO'), 'NO'];
    }

    /**
     * @param  \Closure(bool):mixed  $format
     * @param  mixed  $expected
     */
    #[DataProvider('jsonDataProvider')]
    public function testItCanFormatForJsonInterface($format, $expected)
    {
        $this->assertSame($expected, value($format, true));
    }

    public static function jsonDataProvider()
    {
        yield [AboutCommand::format(true, json: fn ($value) => $value === true ? 'YES' : 'NO'), 'YES'];
        yield [AboutCommand::format(false, json: fn ($value) => $value === true ? 'YES' : 'NO'), 'NO'];
    }
}