Project

General

Profile

Revision b0dc3a2e

Added by Julien Enselme over 7 years ago

Update to Drupal 7.52

View differences:

drupal7/modules/simpletest/simpletest.test
322 322
 * Test internal testing framework browser.
323 323
 */
324 324
class SimpleTestBrowserTestCase extends DrupalWebTestCase {
325

  
326
  /**
327
   * A flag indicating whether a cookie has been set in a test.
328
   *
329
   * @var bool
330
   */
331
  protected static $cookieSet = FALSE;
332

  
325 333
  public static function getInfo() {
326 334
    return array(
327 335
      'name' => 'SimpleTest browser',
......
380 388
    $urls = $this->xpath('//a[text()=:text]', array(':text' => 'A second "even more weird" link, in memory of George O\'Malley'));
381 389
    $this->assertEqual($urls[0]['href'], 'link2', 'Match with mixed single and double quotes.');
382 390
  }
391

  
392
  /**
393
   * Tests that cookies set during a request are available for testing.
394
   */
395
  public function testCookies() {
396
    // Check that the $this->cookies property is populated when a user logs in.
397
    $user = $this->drupalCreateUser();
398
    $edit = array('name' => $user->name, 'pass' => $user->pass_raw);
399
    $this->drupalPost('<front>', $edit, t('Log in'));
400
    $this->assertEqual(count($this->cookies), 1, 'A cookie is set when the user logs in.');
401

  
402
    // Check that the name and value of the cookie match the request data.
403
    $cookie_header = $this->drupalGetHeader('set-cookie', TRUE);
404

  
405
    // The name and value are located at the start of the string, separated by
406
    // an equals sign and ending in a semicolon.
407
    preg_match('/^([^=]+)=([^;]+)/', $cookie_header, $matches);
408
    $name = $matches[1];
409
    $value = $matches[2];
410

  
411
    $this->assertTrue(array_key_exists($name, $this->cookies), 'The cookie name is correct.');
412
    $this->assertEqual($value, $this->cookies[$name]['value'], 'The cookie value is correct.');
413

  
414
    // Set a flag indicating that a cookie has been set in this test.
415
    // @see SimpleTestBrowserTestCase::testCookieDoesNotBleed().
416
    self::$cookieSet = TRUE;
417
  }
418

  
419
  /**
420
   * Tests that the cookies from a previous test do not bleed into a new test.
421
   *
422
   * @see SimpleTestBrowserTestCase::testCookies().
423
   */
424
  public function testCookieDoesNotBleed() {
425
    // In order for this test to be effective it should always run after the
426
    // testCookies() test.
427
    $this->assertTrue(self::$cookieSet, 'Tests have been executed in the expected order.');
428
    $this->assertEqual(count($this->cookies), 0, 'No cookies are present at the start of a new test.');
429
  }
430

  
383 431
}
384 432

  
385 433
class SimpleTestMailCaptureTestCase extends DrupalWebTestCase {

Also available in: Unified diff