You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.0 KiB
PHP
68 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace Tests\Browser\Mail;
|
|
|
|
use Tests\Browser\Components\App;
|
|
use Tests\Browser\Components\Popupmenu;
|
|
|
|
class OpenTest extends \Tests\Browser\TestCase
|
|
{
|
|
public static function setUpBeforeClass()
|
|
{
|
|
\bootstrap::init_imap();
|
|
\bootstrap::purge_mailbox('INBOX');
|
|
|
|
// import email messages
|
|
foreach (glob(TESTS_DIR . 'data/mail/list_00.eml') as $f) {
|
|
\bootstrap::import_message($f, 'INBOX');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Test Open in New Window action
|
|
*/
|
|
public function testOpenInNewWindow()
|
|
{
|
|
$this->browse(function ($browser) {
|
|
if ($browser->isPhone()) {
|
|
$this->markTestSkipped();
|
|
}
|
|
|
|
$browser->go('mail');
|
|
|
|
$browser->waitFor('#messagelist tbody tr:first-child')
|
|
->ctrlClick('#messagelist tbody tr:first-child');
|
|
|
|
$browser->clickToolbarMenuItem('more');
|
|
|
|
$browser->with(new Popupmenu('message-menu'), function ($browser) {
|
|
$uids = $browser->driver->executeScript('return rcmail.message_list.get_selection()');
|
|
|
|
$this->assertCount(1, $uids);
|
|
$this->assertTrue(is_int($uids[0]) && $uids[0] > 0);
|
|
|
|
$uid = $uids[0];
|
|
|
|
list($current_window, $new_window) = $browser->openWindow(function ($browser) {
|
|
$browser->clickMenuItem('extwin');
|
|
});
|
|
|
|
$browser->driver->switchTo()->window($new_window);
|
|
|
|
$browser->with(new App(), function ($browser) use ($uid) {
|
|
$browser->assertEnv([
|
|
'task' => 'mail',
|
|
'action' => 'show',
|
|
'uid' => $uid,
|
|
]);
|
|
|
|
// TODO: werify the toolbar, which is different here than in the preview frame
|
|
});
|
|
|
|
$browser->driver->close();
|
|
$browser->driver->switchTo()->window($current_window);
|
|
});
|
|
});
|
|
}
|
|
}
|