'Tabledrag', 'description' => 'Tests for tabledrag javascript.', 'group' => 'Selenium', 'browsers' => array('firefox', 'chrome'), ); } /** * Test tabledrag functionality on taxonomy terms list page. */ function testTaxonomyDragAndDrop() { // Create vocabulary and two terms. $vocabulary = TaxonomyWebTestCase::createVocabulary(); $term1 = TaxonomyWebTestCase::createTerm($vocabulary); $term2 = TaxonomyWebTestCase::createTerm($vocabulary); // Create user. $account = $this->drupalCreateUser(array('administer taxonomy')); // Login user. $this->drupalLogin($account); // Drag first term down and save. $this->drupalGet('admin/structure/taxonomy/' . $vocabulary->machine_name); // Get tid of the first element using hidden form element. $first_term_tid = $this->driver->getElement('css=tr.draggable.odd .term-id')->getValue(); $first_element = $this->driver->getElement('css=tr.draggable.odd a.tabledrag-handle'); $size = $first_element->getSize(); // Move element down on its size + 5 pixels. $first_element->dragAndDrop(0, $size['height'] + 5); $this->verboseScreenshot(); // Wait till drag and drop warning message appear. $this->driver->waitForElements('css=div.tabledrag-changed-warning div.tabledrag-changed'); // Submit. $this->driver->getElement('css=#edit-submit')->submit(); // Wait till message appear $this->driver->waitForElements('css=#messages div.messages .placeholder'); $this->verboseScreenshot(); // Get tid of new first term. $new_first_term_tid = $this->driver->getElement('css=tr.draggable.odd .term-id')->getValue(); // Ensure that name of first term changed. $this->assertNotEqual($first_term_tid, $new_first_term_tid, t('Weight of the term changed via drag and drop')); } }