summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rothstein <drothstein@gmail.com>2016-01-30 16:34:59 -0500
committerDavid Rothstein <drothstein@gmail.com>2016-01-30 16:34:59 -0500
commit111d400ae9ef36cd2714cf07ea6cf155348ff050 (patch)
tree5060b3be3451f3bcd30e59f143918104a297af6a
parentc661e1ced49b0db715a3a601c4ba3dfc78fb349d (diff)
downloadbrdo-111d400ae9ef36cd2714cf07ea6cf155348ff050.tar.gz
brdo-111d400ae9ef36cd2714cf07ea6cf155348ff050.tar.bz2
Issue #2530652 by da_cloud, jhodgdon, cilefen, marbard: Cannot use the search block again if an error occured in the previous search
-rw-r--r--modules/search/search.pages.inc2
-rw-r--r--modules/search/search.test18
2 files changed, 19 insertions, 1 deletions
diff --git a/modules/search/search.pages.inc b/modules/search/search.pages.inc
index 9dd00a6de..2123dd75a 100644
--- a/modules/search/search.pages.inc
+++ b/modules/search/search.pages.inc
@@ -49,7 +49,7 @@ function search_view($module = NULL, $keys = '') {
// which will get us back to this page callback. In other words, the search
// form submits with POST but redirects to GET. This way we can keep
// the search query URL clean as a whistle.
- if (empty($_POST['form_id']) || $_POST['form_id'] != 'search_form') {
+ if (empty($_POST['form_id']) || ($_POST['form_id'] != 'search_form' && $_POST['form_id'] != 'search_block_form')) {
$conditions = NULL;
if (isset($info['conditions_callback']) && function_exists($info['conditions_callback'])) {
// Build an optional array of more search conditions.
diff --git a/modules/search/search.test b/modules/search/search.test
index 5ee5870d4..913d19891 100644
--- a/modules/search/search.test
+++ b/modules/search/search.test
@@ -666,6 +666,24 @@ class SearchBlockTestCase extends DrupalWebTestCase {
url('search/node/', array('absolute' => TRUE)),
'Redirected to correct url.'
);
+
+ // Test that after entering a too-short keyword in the form, you can then
+ // search again with a longer keyword. First test using the block form.
+ $terms = array('search_block_form' => 'a');
+ $this->drupalPost('node', $terms, t('Search'));
+ $this->assertText('You must include at least one positive keyword with 3 characters or more');
+ $terms = array('search_block_form' => 'foo');
+ $this->drupalPost(NULL, $terms, t('Search'));
+ $this->assertNoText('You must include at least one positive keyword with 3 characters or more');
+ $this->assertText('Your search yielded no results');
+
+ // Same test again, using the search page form for the second search this time.
+ $terms = array('search_block_form' => 'a');
+ $this->drupalPost('node', $terms, t('Search'));
+ $terms = array('keys' => 'foo');
+ $this->drupalPost(NULL, $terms, t('Search'));
+ $this->assertNoText('You must include at least one positive keyword with 3 characters or more');
+ $this->assertText('Your search yielded no results');
}
}