phpbb_functional_test_case::install_ext PHP Method

install_ext() public method

public install_ext ( $extension )
    public function install_ext($extension)
    {
        $this->login();
        $this->admin_login();
        $ext_path = str_replace('/', '%2F', $extension);
        $crawler = self::request('GET', 'adm/index.php?i=acp_extensions&mode=main&action=enable_pre&ext_name=' . $ext_path . '&sid=' . $this->sid);
        $this->assertGreaterThan(0, $crawler->filter('.submit-buttons')->count());
        $form = $crawler->selectButton('Enable')->form();
        $crawler = self::submit($form);
        $this->add_lang('acp/extensions');
        $meta_refresh = $crawler->filter('meta[http-equiv="refresh"]');
        // Wait for extension to be fully enabled
        while (sizeof($meta_refresh)) {
            preg_match('#url=.+/(adm+.+)#', $meta_refresh->attr('content'), $match);
            $url = $match[1];
            $crawler = self::request('POST', $url);
            $meta_refresh = $crawler->filter('meta[http-equiv="refresh"]');
        }
        $this->assertContainsLang('EXTENSION_ENABLE_SUCCESS', $crawler->filter('div.successbox')->text());
        $this->logout();
    }