function test_setHeader() { $mail = new TestMailer(); // check existance of default headers $headers = $mail->prop('headers'); $this->assertArrayHasKey('X-Mailer', $headers); $this->assertArrayHasKey('X-Dokuwiki-Title', $headers); $this->assertArrayHasKey('X-Dokuwiki-Server', $headers); $this->assertArrayHasKey('X-Auto-Response-Suppress', $headers); $this->assertArrayHasKey('List-Id', $headers); // set a bunch of test headers $mail->setHeader('test-header', 'bla'); $mail->setHeader('to', 'A valid ASCII name <*****@*****.**>'); $mail->setHeader('from', "Thös ne\needsserious cleaning\$§%."); $mail->setHeader('bad', "Thös ne\needsserious cleaning\$§%.", false); $mail->setHeader("weird\n*+foo.-_@bar?", 'now clean'); // are they set? $headers = $mail->prop('headers'); $this->assertArrayHasKey('Test-Header', $headers); $this->assertEquals('bla', $headers['Test-Header']); $this->assertArrayHasKey('To', $headers); $this->assertEquals('A valid ASCII name <*****@*****.**>', $headers['To']); $this->assertArrayHasKey('From', $headers); $this->assertEquals('Ths neeedsserious cleaning.', $headers['From']); $this->assertArrayHasKey('Bad', $headers); $this->assertEquals("Thös ne\needsserious cleaning\$§%.", $headers['Bad']); $this->assertArrayHasKey('Weird+foo.-_@bar', $headers); // unset a header again $mail->setHeader('test-header', ''); $headers = $mail->prop('headers'); $this->assertArrayNotHasKey('Test-Header', $headers); }