/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Support/SupportTappableTest.php
75 строк
2 KB
Mior Muhammad Zaki
[8.x] Add regression tests on using Tappable with invokable class (#37577)
03 июн 2021, 15:55
Не верифицирован
03 июн 2021, 15:55
5eeaed0
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Support; use Illuminate\Support\Traits\Tappable; use PHPUnit\Framework\TestCase; class SupportTappableTest extends TestCase { public function testTappableClassWithCallback() { $name = TappableClass::make()->tap(function ($tappable) { $tappable->setName('MyName'); })->getName(); $this->assertSame('MyName', $name); } public function testTappableClassWithInvokableClass() { $name = TappableClass::make()->tap(new class { public function __invoke($tappable) { $tappable->setName('MyName'); } })->getName(); $this->assertSame('MyName', $name); } public function testTappableClassWithNoneInvokableClass() { $this->expectException('Error'); $name = TappableClass::make()->tap(new class { public function setName($tappable) { $tappable->setName('MyName'); } })->getName(); $this->assertSame('MyName', $name); } public function testTappableClassWithoutCallback() { $name = TappableClass::make()->tap()->setName('MyName')->getName(); $this->assertSame('MyName', $name); } } class TappableClass { use Tappable; private $name; public static function make() { return new static; } public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } }