Index: modules/path/path.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/path/path.admin.inc,v retrieving revision 1.45 diff -u -p -r1.45 path.admin.inc --- modules/path/path.admin.inc 11 Sep 2010 03:04:43 -0000 1.45 +++ modules/path/path.admin.inc 22 Oct 2010 20:57:31 -0000 @@ -151,6 +151,9 @@ function path_admin_form($form, &$form_s '#type' => 'submit', '#value' => t('Delete'), '#submit' => array('path_admin_form_delete_submit'), + // Keep array('pid') for passing pid of the + // url alias record to delete confirmation form. + '#limit_validation_errors' => array(array('pid')), ); } Index: modules/path/path.test =================================================================== RCS file: /cvs/drupal/drupal/modules/path/path.test,v retrieving revision 1.41 diff -u -p -r1.41 path.test --- modules/path/path.test 9 Oct 2010 17:38:41 -0000 1.41 +++ modules/path/path.test 22 Oct 2010 20:57:31 -0000 @@ -160,6 +160,41 @@ class PathTestCase extends DrupalWebTest $this->assertResponse(404); } + /** + * Delete alias through alias edit form. + */ + function testDeleteAlias() { + // Create alias. + $alias = $this->randomName(); + $edit = array( + 'source' => '', + 'alias' => $alias, + ); + $this->drupalPost('admin/config/search/path/add', $edit, t('Save')); + + // Select pid of new created alias. + $query = db_select('url_alias'); + $query->addField('url_alias', 'pid'); + $query->condition('alias', $alias); + $pid = $query->execute()->fetchField(); + + // Delete submit with empty source field. + $edit = array( + 'source' => '', + 'alias' => $alias, + ); + $this->drupalPost('admin/config/search/path/edit/' . $pid, $edit, t('Delete')); + $this->assertNoText(t('Existing system path field is required.'), t('Delete alias on edit form with empty source field.')); + + // Delete submit with empty alias field. + $edit = array( + 'source' => '', + 'alias' => '', + ); + $this->drupalPost('admin/config/search/path/edit/' . $pid, $edit, t('Delete')); + $this->assertNoText(t('Path alias field is required.'), t('Delete alias on edit form with empty alias field.')); + } + function getPID($alias) { return db_query("SELECT pid FROM {url_alias} WHERE alias = :alias", array(':alias' => $alias))->fetchField(); }