public function testCreateSequenceSet1() { $path1 = './test_data/test_mailbox_' . date('Ymd_His') . '_' . uniqid('', true); $log = new Logger('test_application'); #$log->pushHandler(new StreamHandler('php://stdout', Logger::DEBUG)); $server = new Server('', 0); $server->setLog($log); $server->init(); $storage1 = new DirectoryStorage(); $storage1->setPath($path1); $server->addStorage($storage1); #fwrite(STDOUT, 'maildir: '.$path1.' '.(int)file_exists($path1)."\n"); $client = new Client(); $client->setServer($server); $client->setId(1); $client->setStatus('hasAuth', true); $server->addFolder('test_dir1'); $client->msgHandle('6 select test_dir1'); #fwrite(STDOUT, 'add mail1'."\n"); $message = new Message(); $message->addFrom('*****@*****.**'); $message->addTo('*****@*****.**'); $message->setSubject('my_subject 1'); $message->setBody('my_body'); $server->addMail($message, 'test_dir1'); #fwrite(STDOUT, 'add mail2'."\n"); $message = new Message(); $message->addFrom('*****@*****.**'); $message->addTo('*****@*****.**'); $message->setSubject('my_subject 2'); $message->setBody('my_body'); $server->addMail($message, 'test_dir1'); #fwrite(STDOUT, 'add mail3'."\n"); $message = new Message(); $message->addFrom('*****@*****.**'); $message->addTo('*****@*****.**'); $message->setSubject('my_subject 3'); $message->setBody('my_body'); $server->addMail($message, 'test_dir1'); #fwrite(STDOUT, 'add mail4'."\n"); $message = new Message(); $message->addFrom('*****@*****.**'); $message->addTo('*****@*****.**'); $message->setSubject('my_subject 4'); $message->setBody('my_body'); $server->addMail($message, 'test_dir1'); #fwrite(STDOUT, 'add mail5'."\n"); $message = new Message(); $message->addFrom('*****@*****.**'); $message->addTo('*****@*****.**'); $message->setSubject('my_subject 5'); $message->setBody('my_body'); $server->addMail($message, 'test_dir1'); #fwrite(STDOUT, 'add mail6'."\n"); $message = new Message(); $message->addFrom('*****@*****.**'); $message->addTo('*****@*****.**'); $message->setSubject('my_subject 6'); $message->setBody('my_body'); $server->addMail($message, 'test_dir1'); /*fwrite(STDOUT, 'find files'."\n"); $finder = new Finder(); $files = $finder->in($path1)->files()->name('*')->sortByName(); foreach($files as $fileId => $file){ fwrite(STDOUT, 'file: '.$file->getBasename()."\n"); }*/ $seq = $client->createSequenceSet('0', false); $this->assertEquals(array(), $seq); $seq = $client->createSequenceSet('1', false); $this->assertEquals(array(1), $seq); $seq = $client->createSequenceSet('3', false); $this->assertEquals(array(3), $seq); $seq = $client->createSequenceSet('3,5', false); $this->assertEquals(array(3, 5), $seq); $seq = $client->createSequenceSet('3,5,6,4', false); $this->assertEquals(array(3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('3, 5', false); $this->assertEquals(array(3, 5), $seq); $seq = $client->createSequenceSet('3:3', false); $this->assertEquals(array(3), $seq); $seq = $client->createSequenceSet('3:4', false); $this->assertEquals(array(3, 4), $seq); $seq = $client->createSequenceSet('3:5', false); $this->assertEquals(array(3, 4, 5), $seq); $seq = $client->createSequenceSet('5:3', false); $this->assertEquals(array(3, 4, 5), $seq); $seq = $client->createSequenceSet('3:5,2', false); $this->assertEquals(array(2, 3, 4, 5), $seq); $seq = $client->createSequenceSet('*', false); $this->assertEquals(array(1, 2, 3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('3:*', false); $this->assertEquals(array(3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('3:*,2', false); $this->assertEquals(array(2, 3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('7', false); $this->assertEquals(array(), $seq); $seq = $client->createSequenceSet('8:9', false); $this->assertEquals(array(), $seq); $seq = $client->createSequenceSet('100001', true); $this->assertEquals(array(1), $seq); $seq = $client->createSequenceSet('100002', true); $this->assertEquals(array(2), $seq); $seq = $client->createSequenceSet('100002,100004', true); $this->assertEquals(array(2, 4), $seq); $seq = $client->createSequenceSet('100002, 100004', true); $this->assertEquals(array(2, 4), $seq); $seq = $client->createSequenceSet('100002,100005,100004,100003', true); $this->assertEquals(array(2, 3, 4, 5), $seq); $seq = $client->createSequenceSet('100002:100002', true); $this->assertEquals(array(2), $seq); $seq = $client->createSequenceSet('100002:100003', true); $this->assertEquals(array(2, 3), $seq); $seq = $client->createSequenceSet('100002:100004', true); $this->assertEquals(array(2, 3, 4), $seq); $seq = $client->createSequenceSet('100004:100002', true); $this->assertEquals(array(2, 3, 4), $seq); $seq = $client->createSequenceSet('100002:100004,100005', true); $this->assertEquals(array(2, 3, 4, 5), $seq); $seq = $client->createSequenceSet('*', true); $this->assertEquals(array(1, 2, 3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('100002:*', true); $this->assertEquals(array(2, 3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('100002:*,100001', true); $this->assertEquals(array(1, 2, 3, 4, 5, 6), $seq); $seq = $client->createSequenceSet('100007', true); $this->assertEquals(array(), $seq); $seq = $client->createSequenceSet('100007:100009', true); $this->assertEquals(array(), $seq); $seq = $client->createSequenceSet('999999:*', true); $this->assertEquals(array(6), $seq); $server->shutdown(); $filesystem = new Filesystem(); $filesystem->remove($storage1->getPath()); }