diff options
author | David Rothstein <drothstein@gmail.com> | 2016-01-30 16:34:59 -0500 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2016-01-30 16:34:59 -0500 |
commit | 111d400ae9ef36cd2714cf07ea6cf155348ff050 (patch) | |
tree | 5060b3be3451f3bcd30e59f143918104a297af6a /modules | |
parent | c661e1ced49b0db715a3a601c4ba3dfc78fb349d (diff) | |
download | brdo-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
Diffstat (limited to 'modules')
-rw-r--r-- | modules/search/search.pages.inc | 2 | ||||
-rw-r--r-- | modules/search/search.test | 18 |
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'); } } |