'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')); } }