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:----I34wcj+Ff1t0+G2WCKkZwWewQvH07/uru1+/K44AqBQB/MneiuWwQoEmAL1E1puk/uoVDgGNIThKoOXRQAAjsVVCvHQS/r5Z28dAmDJ5Uik2FAQKHtNqBXadUFY39QttSdu2imZgDTbyBkeT3JwjUH1z2w8WUYpAc/Kulu+L/6W1h26RSA4I4Mauk2ardAE7Pj79NPsqpFzHIbm28Vs0eMoEMoe/+IkiJFfH0iap1cDhFn+V0uF/5+VFrJ7uqWUib7apc46TWyhRtMnpaW7HX7B8/kF1h8oFPMZTIgQ/uz6YC3yJTLjpprTD2Endusc3WJUfH19+qy/1PVmJ2QfWicEAk6AMbAud4jNR1o+NmRAGSXKnThOUxYCiefU81HlWCYOnQ6yBsUcms4qaVkXbd6OdoB8BiKpYM60Lmx46RmJ69034Ls7dUelyEejKiRjucM/QOTZG5xNUZxYn8tuDSg8MxDZ8ZNuwNMogDZRNRHJmBT64lJ7F/+dk+YVdT5vOQJanULwMpXqwJPn9SSauRXUq6eE0uRzegCSybKSg5ncDxfWZh4Eke7GssifxtT/rvy+uSfCRkVhm1bIslXwXqLW5qlP8sT9lT3ngtvUShdjWahJyLL/mhYHqvBm9eEwjm4/ghpRpowsJSxdzhtW1IXGYYP3OK+4U59u/qRPVoW8=----ATTACHMENT:----MTkyMjg4NjY5NDA5NTM0OSA3NzM4NDI3MjAyMDgzNzgzIDczNjk5NzE5MTgzNjMwODU=