public function PollUpgradePathTestCase::testPollUpgrade

Same name in this branch
  1. 7.x drupal-7.x/modules/simpletest/tests/upgrade/upgrade.poll.test \PollUpgradePathTestCase::testPollUpgrade()
  2. 7.x drupal-7.x/modules/simpletest/tests/upgrade/upgrade.node.test \PollUpgradePathTestCase::testPollUpgrade()

Test a successful upgrade.

Archivo

drupal-7.x/modules/simpletest/tests/upgrade/upgrade.poll.test, line 34

Class

PollUpgradePathTestCase
Upgrade test for poll.module.

Código

public function testPollUpgrade() {
  $this->assertTrue($this->performUpgrade(), 'The upgrade was completed successfully.');

  // Check modules page for poll
  $this->drupalGet('admin/modules');

  // Verify that the poll data is still correctly available
  for ($i = 0; $i < 12; $i++) {
    $this->drupalGet("content/poll/$i");

    $nbchoices = ($i % 4) + 2;

    for ($c = 0; $c < $nbchoices; $c++) {
      $this->assertText("Choice $c for poll $i", 'Choice text is displayed correctly on poll view');
    }

    // Now check that the votes are correct
    $this->clickLink(t('Results'));

    for ($c = 0; $c < $nbchoices; $c++) {
      $this->assertText("Choice $c for poll $i", 'Choice text is displayed correctly on result view');
    }

    $nbvotes = floor(($i % 4) + 5);
    $elements = $this->xpath("//div[@class='percent']");
    for ($c = 0; $c < $nbchoices; $c++) {
      $votes = floor($nbvotes / $nbchoices);
      if (($nbvotes % $nbchoices) > $c) {
        $votes++;
      }
      $this->assertTrue(preg_match("/$votes vote/", $elements[$c]), 'The number of votes is displayed correctly: expected ' . $votes . ', got ' . $elements[$c]);
    }
  }
}