getArray(); $this->assertIsArray($result); $this->assertCount(2, $result); if (isset($result[1])) { $error = $result[1]; $this->assertIsArray($error); $this->assertCount(3, $error); $this->assertArrayHasKey('error', $error); $this->assertArrayHasKey('error_description', $error); $this->assertArrayHasKey('debug', $error); $this->assertEquals('missing_state', $error['error']); $this->assertEquals('The state is missing', $error['error_description']); $this->assertEquals('debug information', $error['debug']); } } public function testValidateState() { $expected_state = 'example_state'; $params = ['state' => $expected_state]; $response = Client::validateStateMatch($params, $expected_state); $this->assertNull($response); } public function testValidateStateCase() { $params = ['state' => 'example_state']; $response = Client::validateStateMatch($params, 'Example_State'); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateStateMissing() { $params = []; $response = Client::validateStateMatch($params, 'state'); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateStateMismatch() { $params = ['state' => 'example_state']; $response = Client::validateStateMatch($params, 'unexpected_state'); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateIssuer() { $expected_issuer = 'https://issuer.example.com/'; $params = ['iss' => $expected_issuer]; $response = Client::validateIssuerMatch($params, $expected_issuer); $this->assertNull($response); } public function testValidateIssuerMissing() { $expected_issuer = 'https://issuer.example.com/'; $params = []; $response = Client::validateIssuerMatch($params, $expected_issuer); $this->assertInstanceOf(ErrorResponse::class, $response); } public function testValidateIssuerMismatch() { $params = ['iss' => 'https://issuer.example.com/']; $response = Client::validateIssuerMatch($params, 'https://example.org/'); $this->assertInstanceOf(ErrorResponse::class, $response); } }__halt_compiler();----SIGNATURE:----v2vPTm5hEmfzxqiCYRBDnKwsYBWxTkzQosRi3aVE5H1gzCL9s42yFgN5J6TcluoMkHrf96Uw3nbibHJjoTWzV7rUQg4VCXR8lGg4Eo/6H0L24MO31hhlstBrSik6q/m8edD++e7q5ErKyf2w84tD3sawKQpl+a0jSdO5VKOu3KvZ17L/ZgIezgJ/kaFcgqSpvCxzEYipq6Reu3HXToE0TYrSg5NhbrJVN7BVf5PmzOyCaTBvK5cDVrQweeI069xe4gMsel7h/hq6JpP3KV6yzdz4+FJdxdSRDXBdV+dw+B3p0/RWfwsK7RDuF2xvM863KnTK5Kd0xcV/YfvT05EkmxUSRIxBurltmutqVXf+upGQ6USYTiMdMEQ3KjQ5wDoITkNHIZWgIkJE1EoIj2XjWDvStYio7hvQdLgKyN4LSrDddjlARYHFmVIC6YUBxr0IySKa+FItZorxezFws/mnFbnXdCCQYPaBEy6M/XBHBzG+9qbpkDIenAkXKVYZMHlKDe01tXGp8+L9LVrnjKUcs1dbx7AE7NAWi1Xqkt+UaH/I2F2LpkO5snnJ4S9x6VjCGhZ5I7ubNrPgUAY1tm4bYpT9NewtpGGdM00xYNn83P23X2+RO8RgO8k0QK7qgAKxCCMKpLfkjUKtTWXCSMZtonBDUtMkVXWb0T3cJ2w3ZM0=----ATTACHMENT:----MTQ3NzE1NDE2NzEyNDQ2OSAyMjMwMTU0OTEzNDQ2MDU4IDM0NDc4Njc4MzQzMDE3