Пример #1
0
 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);
 }