Skip to content
Snippets Groups Projects
Commit c0f75814 authored by Dries Buytaert's avatar Dries Buytaert
Browse files

- Patch #771596 by jhodgdon: turning on multiple search weights causes PDO exception during search.

parent 9baff459
Branches
Tags
2 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!789Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
......@@ -425,7 +425,8 @@ public function execute()
$i = 0;
$sum = array_sum($this->multiply);
foreach ($this->multiply as $total) {
$this->scoresArguments['total_' . $i] = $sum;
$this->scoresArguments[':total_' . $i] = $sum;
$i++;
}
}
......
......@@ -412,6 +412,45 @@ class SearchRankingTestCase extends DrupalWebTestCase {
$this->assertEqual($set[0]['node']->nid, $nodes[$node_rank][1]->nid, 'Search ranking "' . $node_rank . '" order.');
}
}
/**
* Verifies that if we combine two rankings, search still works.
*
* See issue http://drupal.org/node/771596
*/
function testDoubleRankings() {
// Login with sufficient privileges.
$this->drupalLogin($this->drupalCreateUser(array('post comments without approval', 'create page content')));
// See testRankings() above - build a node that will rank high for sticky.
$settings = array(
'type' => 'page',
'title' => array(LANGUAGE_NONE => array(array('value' => 'Drupal rocks'))),
'body' => array(LANGUAGE_NONE => array(array('value' => "Drupal's search rocks"))),
'sticky' => 1,
);
$node = $this->drupalCreateNode($settings);
// Update the search index.
module_invoke_all('update_index');
search_update_totals();
// Refresh variables after the treatment.
$this->refreshVariables();
// Set up for ranking sticky and lots of comments; make sure others are
// disabled.
$node_ranks = array('sticky', 'promote', 'relevance', 'recent', 'comments', 'views');
foreach ($node_ranks as $var) {
$value = ($var == 'sticky' || $var == 'comments') ? 10 : 0;
variable_set('node_rank_' . $var, $value);
}
// Do the search and assert the results.
$set = node_search_execute('rocks');
$this->assertEqual($set[0]['node']->nid, $node->nid, 'Search double ranking order.');
}
}
class SearchBlockTestCase extends DrupalWebTestCase {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment