browser.test in SimpleTest 7
Tests for the internal web browser.
File
tests/browser.testView source
<?php
/**
* @file
* Tests for the internal web browser.
*/
/**
* Test general browser functionality.
*/
class BrowserTestCase extends DrupalWebTestCase {
public static function getInfo() {
return array(
'name' => 'Browser',
'description' => 'Test general browser functionality.',
'group' => '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' => 'Browser - wrapper backends',
'description' => 'Test stream and curl backends execution of GET and POST requests.',
'group' => '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' => 'Browser - page',
'description' => 'Check "BrowserPage" class functionality.',
'group' => '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'));
}
}
Classes
Name![]() |
Description |
---|---|
BrowserBackendTestCase | Test browser backend wrappers. |
BrowserPageTestCase | Test browser page manipulation functionality. |
BrowserTestCase | Test general browser functionality. |