Skip to content

Commit 24fc7c2

Browse files
mvoriseksebastianbergmann
authored andcommitted
improve WithoutErrorHandler test
1 parent 33c1ece commit 24fc7c2

File tree

2 files changed

+42
-8
lines changed

2 files changed

+42
-8
lines changed

tests/end-to-end/event/_files/error-handler-can-be-disabled/tests/FooTest.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
*/
1010
namespace PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled;
1111

12+
use function restore_error_handler;
13+
use function set_error_handler;
1214
use function sys_get_temp_dir;
1315
use function tempnam;
1416
use Exception;
@@ -33,4 +35,26 @@ public function testMethodB(): void
3335
{
3436
$this->assertSame('Triggering', (new Foo)->methodB()['message']);
3537
}
38+
39+
public function testErrorHandlerSet(): void
40+
{
41+
$this->assertIsCallable($this->getErrorHandler());
42+
}
43+
44+
#[WithoutErrorHandler]
45+
public function testErrorHandlerIsNotSet(): void
46+
{
47+
$this->assertNull($this->getErrorHandler());
48+
}
49+
50+
/**
51+
* @return null|callable
52+
*/
53+
private function getErrorHandler()
54+
{
55+
$res = set_error_handler(static fn () => false);
56+
restore_error_handler();
57+
58+
return $res;
59+
}
3660
}

tests/end-to-end/event/error-handler-can-be-disabled.phpt

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ unlink($traceFile);
2323
PHPUnit Started (PHPUnit %s using %s)
2424
Test Runner Configured
2525
Bootstrap Finished (%s%esrc/Foo.php)
26-
Test Suite Loaded (2 tests)
26+
Test Suite Loaded (4 tests)
2727
Event Facade Sealed
2828
Test Runner Started
2929
Test Suite Sorted
30-
Test Runner Execution Started (2 tests)
31-
Test Suite Started (%s%ephpunit.xml, 2 tests)
32-
Test Suite Started (default, 2 tests)
33-
Test Suite Started (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest, 2 tests)
30+
Test Runner Execution Started (4 tests)
31+
Test Suite Started (%s%ephpunit.xml, 4 tests)
32+
Test Suite Started (default, 4 tests)
33+
Test Suite Started (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest, 4 tests)
3434
Test Preparation Started (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testMethodA)
3535
Test Prepared (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testMethodA)
3636
Assertion Succeeded (Constraint: exception of type "Exception", Value: {enable export of objects to see this value})
@@ -42,9 +42,19 @@ Test Prepared (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::test
4242
Assertion Succeeded (Constraint: is identical to 'Triggering', Value: 'Triggering')
4343
Test Passed (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testMethodB)
4444
Test Finished (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testMethodB)
45-
Test Suite Finished (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest, 2 tests)
46-
Test Suite Finished (default, 2 tests)
47-
Test Suite Finished (%s%ephpunit.xml, 2 tests)
45+
Test Preparation Started (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerSet)
46+
Test Prepared (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerSet)
47+
Assertion Succeeded (Constraint: is of type callable, Value: {enable export of objects to see this value})
48+
Test Passed (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerSet)
49+
Test Finished (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerSet)
50+
Test Preparation Started (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerIsNotSet)
51+
Test Prepared (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerIsNotSet)
52+
Assertion Succeeded (Constraint: is null, Value: {enable export of objects to see this value})
53+
Test Passed (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerIsNotSet)
54+
Test Finished (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest::testErrorHandlerIsNotSet)
55+
Test Suite Finished (PHPUnit\TestFixture\Event\ErrorHandlerCanBeDisabled\FooTest, 4 tests)
56+
Test Suite Finished (default, 4 tests)
57+
Test Suite Finished (%s%ephpunit.xml, 4 tests)
4858
Test Runner Execution Finished
4959
Test Runner Finished
5060
PHPUnit Finished (Shell Exit Code: 0)

0 commit comments

Comments
 (0)