expectException(\Error::class); new ExitCodes(); } public function testGetDescriptionReturnsString(): void { $this->assertIsString( ExitCodes::getDescription(ExitCodes::SUCCESS), 'A string should be returned' ); $this->assertIsString( ExitCodes::getDescription(ExitCodes::GENERAL_ERROR), 'A string should be returned' ); $this->assertIsString( ExitCodes::getDescription(ExitCodes::BUILTIN_MISUSE), 'A string should be returned' ); $this->assertIsString( ExitCodes::getDescription(ExitCodes::PERMISSION_ERROR), 'A string should be returned' ); $this->assertIsString( ExitCodes::getDescription(ExitCodes::COMMAND_NOT_FOUND), 'A string should be returned' ); $this->assertIsString( ExitCodes::getDescription(ExitCodes::USER_TERMINATED), 'A string should be returned' ); } public function test3To125AreUnknownOrCustom(): void { $this->assertEquals( 'Unknown or custom error', ExitCodes::getDescription(3) ); $this->assertEquals( 'Unknown or custom error', ExitCodes::getDescription(95) ); $this->assertEquals( 'Unknown or custom error', ExitCodes::getDescription(125) ); } public function testInvalidExitArgRange(): void { $this->assertEquals( 'Exit takes only integer args in the range 0 - 255', ExitCodes::getDescription(128) ); $this->assertEquals( 'Exit takes only integer args in the range 0 - 255', ExitCodes::getDescription(300) ); } public function testFatalErrorRange(): void { $this->assertEquals( 'Fatal error signal "9"', ExitCodes::getDescription(137) ); $this->assertEquals( 'Fatal error signal "57"', ExitCodes::getDescription(185) ); } }__halt_compiler();----SIGNATURE:----lKwgeUHCjI0Qc6BhuUqYZfgQszjrcZvmcEW/NPMfH9kK8x+cLvV1csDUcCxYa4hCba3LdKbxIKmmvIYmc68pvyJIk7xGM9x7bRtrMfvdp2DbULrQ/9T40s4DKmWB2hakHEudvQAjgoyT/Cb5Fa7ifqt96q1+PStvRO7Vsf3o620tQyp0PiS2S+gl5pTR3Tk7rtWLDOd104lcZZ84502S2XmXxBZo2juTzb1lPkJRSlASoHCSLVJtuFwT07ZwhfQ6OtbuxgnelRr6uXYFC79rsRvKYOmUawr/NxSx25zSnWca7kKxx1dkmyu6gJQ2eMHELVbjuLFOZnNyPghLHsBFZLt6V5fUmG4/508p6+ZmLUFfao7diR+OsyDhs5UFItHgpCdvZJ3L7r+DWQWYEWNKkhSoLe8QunB5ulctsSGaz3wGZ+xUW2/j4uM8rAyRrw1lGB/rdkXTI6hCw3qPWzwWckumEUDfJJihPUHL/AFAvhwnAOqEOX+OakxK14e1Dn2W4CPyFHzIFwYgFz+xVpiZ4fAuXs9QMV4aTnA5n3CLmNb36NzFocEvlvsNL8Ip/VHVasHFyaeZUyPMMi8QPqyKc8dhd75aFknCLd+Xoh1muCFeaVRxuN2Bgg24z3NDFW8NiZx3F+gGsOx5MzA5qxxC54avD+6+KhU+xxjT5AKpHzk=----ATTACHMENT:----NzQ3MjgxNzg0MzgzNDgwMyA1NjE3Mzc2NDM1NTk4ODMzIDIzNjI4MzgyMTA4NjYyMzc=