mirror of
https://github.com/itflow-org/itflow
synced 2026-03-01 03:14:52 +00:00
Reintroduce Webklex IMAP for ticket processing as PHP-IMAP is no longer being developed. This is optional for now and considered beta can be found in cron/ticket_email_parser.php
This commit is contained in:
69
plugins/vendor/webklex/php-imap/tests/issues/Issue383Test.php
vendored
Normal file
69
plugins/vendor/webklex/php-imap/tests/issues/Issue383Test.php
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
/*
|
||||
* File: Issue355Test.php
|
||||
* Category: -
|
||||
* Author: M.Goldenbaum
|
||||
* Created: 10.01.23 10:48
|
||||
* Updated: -
|
||||
*
|
||||
* Description:
|
||||
* -
|
||||
*/
|
||||
|
||||
namespace Tests\issues;
|
||||
|
||||
use Tests\live\LiveMailboxTestCase;
|
||||
use Webklex\PHPIMAP\Exceptions\AuthFailedException;
|
||||
use Webklex\PHPIMAP\Exceptions\ConnectionFailedException;
|
||||
use Webklex\PHPIMAP\Exceptions\EventNotFoundException;
|
||||
use Webklex\PHPIMAP\Exceptions\FolderFetchingException;
|
||||
use Webklex\PHPIMAP\Exceptions\ImapBadRequestException;
|
||||
use Webklex\PHPIMAP\Exceptions\ImapServerErrorException;
|
||||
use Webklex\PHPIMAP\Exceptions\MaskNotFoundException;
|
||||
use Webklex\PHPIMAP\Exceptions\ResponseException;
|
||||
use Webklex\PHPIMAP\Exceptions\RuntimeException;
|
||||
use Webklex\PHPIMAP\Folder;
|
||||
|
||||
class Issue383Test extends LiveMailboxTestCase {
|
||||
|
||||
/**
|
||||
* Test issue #383 - Does not work when a folder name contains umlauts: Entwürfe
|
||||
* @return void
|
||||
* @throws AuthFailedException
|
||||
* @throws ConnectionFailedException
|
||||
* @throws EventNotFoundException
|
||||
* @throws FolderFetchingException
|
||||
* @throws ImapBadRequestException
|
||||
* @throws ImapServerErrorException
|
||||
* @throws ResponseException
|
||||
* @throws RuntimeException
|
||||
* @throws MaskNotFoundException
|
||||
*/
|
||||
public function testIssue(): void {
|
||||
$client = $this->getClient();
|
||||
$client->connect();
|
||||
|
||||
$delimiter = $this->getManager()->getConfig()->get("options.delimiter");
|
||||
$folder_path = implode($delimiter, ['INBOX', 'Entwürfe+']);
|
||||
|
||||
$folder = $client->getFolder($folder_path);
|
||||
$this->deleteFolder($folder);
|
||||
|
||||
$folder = $client->createFolder($folder_path, false);
|
||||
self::assertInstanceOf(Folder::class, $folder);
|
||||
|
||||
$folder = $this->getFolder($folder_path);
|
||||
self::assertInstanceOf(Folder::class, $folder);
|
||||
|
||||
$this->assertEquals('Entwürfe+', $folder->name);
|
||||
$this->assertEquals($folder_path, $folder->full_name);
|
||||
|
||||
$folder_path = implode($delimiter, ['INBOX', 'Entw&APw-rfe+']);
|
||||
$this->assertEquals($folder_path, $folder->path);
|
||||
|
||||
// Clean up
|
||||
if ($this->deleteFolder($folder) === false) {
|
||||
$this->fail("Could not delete folder: " . $folder->path);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user