function PollUpgradePathTestCase::testPollUpgrade

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

Test a successful upgrade.

File

modules/simpletest/tests/upgrade/upgrade.poll.test, line 34

Class

PollUpgradePathTestCase
Upgrade test for poll.module.

Code

public function testPollUpgrade() {
    if ($this->skipUpgradeTest) {
        return;
    }
    $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]);
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.