Commit 6b5fff7f authored by webchick's avatar webchick

Issue #1393604 by tedbow, Niklas Fiekas: Fixed path_form_element_validate()...

Issue #1393604 by tedbow, Niklas Fiekas: Fixed path_form_element_validate() does not send correct  parameter to form_set_error().
parent ba8b1d27
......@@ -173,7 +173,7 @@ function path_form_element_validate($element, &$form_state, $complete_form) {
$query->addExpression('1');
$query->range(0, 1);
if ($query->execute()->fetchField()) {
form_set_error('alias', t('The alias is already in use.'));
form_error($element, t('The alias is already in use.'));
}
}
}
......
......@@ -162,6 +162,23 @@ class PathTestCase extends DrupalWebTestCase {
function getPID($alias) {
return db_query("SELECT pid FROM {url_alias} WHERE alias = :alias", array(':alias' => $alias))->fetchField();
}
/**
* Tests that duplicate aliases fail validation.
*/
function testDuplicateNodeAlias() {
// Create one node with a random alias.
$node_one = $this->drupalCreateNode();
$edit = array();
$edit['path[alias]'] = $this->randomName();
$this->drupalPost('node/' . $node_one->nid . '/edit', $edit, t('Save'));
// Now create another node and try to set the same alias.
$node_two = $this->drupalCreateNode();
$this->drupalPost('node/' . $node_two->nid . '/edit', $edit, t('Save'));
$this->assertText(t('The alias is already in use.'));
$this->assertFieldByXPath("//input[@name='path[alias]' and contains(@class, 'error')]", $edit['path[alias]'], 'Textfield exists and has the error class.');
}
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment