124 lines
3.7 KiB
Plaintext
124 lines
3.7 KiB
Plaintext
<?php
|
|
// $Id$
|
|
|
|
/**
|
|
* @file
|
|
* Tests for the internal web browser.
|
|
*/
|
|
|
|
/**
|
|
* Test general browser functionality.
|
|
*/
|
|
class BrowserTestCase extends DrupalWebTestCase {
|
|
|
|
public static function getInfo() {
|
|
return array(
|
|
'name' => t('Browser'),
|
|
'description' => t('Test general browser functionality.'),
|
|
'group' => t('Browser'),
|
|
);
|
|
}
|
|
|
|
public function setUp() {
|
|
parent::setUp('browser_test');
|
|
}
|
|
|
|
/**
|
|
* Test general browser functionality.
|
|
*/
|
|
public function testBrowserBackend() {
|
|
global $db_prefix;
|
|
|
|
$browser = new Browser();
|
|
$browser->setUserAgent(drupal_generate_test_ua($db_prefix));
|
|
|
|
// Check browser refresh, both meta tag and HTTP header.
|
|
$request = $browser->get(url('browser_test/refresh/meta', array('absolute' => TRUE)));
|
|
$this->assertEqual($request['content'], 'Refresh successful', 'Meta refresh successful ($request)');
|
|
$this->assertEqual($browser->getContent(), 'Refresh successful', 'Meta refresh successful ($browser)');
|
|
|
|
$request = $browser->get(url('browser_test/refresh/header', array('absolute' => TRUE)));
|
|
$this->assertEqual($request['content'], 'Refresh successful', 'Meta refresh successful ($request)');
|
|
$this->assertEqual($browser->getContent(), 'Refresh successful', 'Meta refresh successful ($browser)');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Test browser backend wrappers.
|
|
*/
|
|
class BrowserBackendTestCase extends DrupalWebTestCase {
|
|
|
|
public static function getInfo() {
|
|
return array(
|
|
'name' => t('Browser - wrapper backends'),
|
|
'description' => t('Test stream and curl backends execution of GET and POST requests.'),
|
|
'group' => t('Browser'),
|
|
);
|
|
}
|
|
|
|
public function setUp() {
|
|
parent::setUp('browser_test');
|
|
}
|
|
|
|
/**
|
|
* Test stream and curl backends execution of GET and POST requests.
|
|
*/
|
|
public function testBrowserBackend() {
|
|
global $db_prefix;
|
|
|
|
foreach (array('stream', 'curl') as $wrapper) {
|
|
$browser = new Browser($wrapper == 'stream');
|
|
$browser->setUserAgent(drupal_generate_test_ua($db_prefix));
|
|
|
|
$string = $this->randomName();
|
|
$edit = array(
|
|
'foo' => $string,
|
|
);
|
|
|
|
// Test GET method.
|
|
$request = $browser->get(url('browser_test/print/get', array('absolute' => TRUE, 'query' => $edit)));
|
|
$this->assertEqual($string, $request['content'], t('String found during GET request ($request)'), $wrapper);
|
|
$this->assertEqual($string, $browser->getContent(), t('String found during GET request ($browser)'), $wrapper);
|
|
|
|
// Test POST method.
|
|
$request = $browser->post(url('browser_test/print/post', array('absolute' => TRUE)), $edit, t('Submit'));
|
|
$this->assertEqual($string, $request['content'], t('String found during POST request ($request)'), $wrapper);
|
|
$this->assertEqual($string, $browser->getContent(), t('String found during POST request ($browser)'), $wrapper);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Test browser page manipulation functionality.
|
|
*/
|
|
class BrowserPageTestCase extends DrupalWebTestCase {
|
|
|
|
public static function getInfo() {
|
|
return array(
|
|
'name' => t('Browser - page'),
|
|
'description' => t('Check "BrowserPage" class functionality.'),
|
|
'group' => t('Browser'),
|
|
);
|
|
}
|
|
|
|
public function setUp() {
|
|
parent::setUp('browser_test');
|
|
}
|
|
|
|
/**
|
|
* Check "BrowserPage" class functionality.
|
|
*/
|
|
public function testBrowserPage() {
|
|
global $db_prefix;
|
|
|
|
$browser = new Browser();
|
|
$browser->setUserAgent(drupal_generate_test_ua($db_prefix));
|
|
|
|
$browser->get(url('browser_test/print/post', array('absolute' => TRUE)));
|
|
$page = $browser->getPage();
|
|
$input = $page->xpath('//input[@name="foo"]');
|
|
$input = $input[0];
|
|
$this->assertEqual('foo', $input['name'], t('Field "foo" found'));
|
|
}
|
|
}
|