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
|
<?php
namespace Mockery\Tests\PHP82;
use Mockery;
use Mockery\Adapter\Phpunit\MockeryTestCase;
/**
* @requires PHP 8.2.0-dev
*/
class Php82LanguageFeaturesTest extends MockeryTestCase
{
/** @test */
public function it_can_mock_an_class_with_null_return_type()
{
$mock = Mockery::mock(HasNullReturnType::class);
$this->assertInstanceOf(HasNullReturnType::class, $mock);
}
public function testCanMockUndefinedClasses()
{
$class = mock('UndefinedClass');
$class->foo = 'bar';
$this->assertSame('bar', $class->foo);
}
public function testCanMockReservedWordFalse(): void
{
$mock = mock(HasReservedWordFalse::class);
$mock->expects('testFalseMethod')->once();
self::assertFalse($mock->testFalseMethod());
self::assertInstanceOf(HasReservedWordFalse::class, $mock);
}
public function testCanMockReservedWordTrue(): void
{
$mock = mock(HasReservedWordTrue::class);
$mock->expects('testTrueMethod')->once();
self::assertTrue($mock->testTrueMethod());
self::assertInstanceOf(HasReservedWordTrue::class, $mock);
}
}
class HasReservedWordFalse
{
public function testFalseMethod(): false
{
return false;
}
}
class HasReservedWordTrue
{
public function testTrueMethod(): true
{
return true;
}
}
class HasNullReturnType
{
public function getChildren(): null
{
return null;
}
}
|