Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
c0f75814
Commit
c0f75814
authored
Apr 16, 2010
by
Dries Buytaert
Browse files
- Patch
#771596
by jhodgdon: turning on multiple search weights causes PDO exception during search.
parent
9baff459
Changes
2
Hide whitespace changes
Inline
Side-by-side
modules/search/search.extender.inc
View file @
c0f75814
...
...
@@ -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
++
;
}
}
...
...
modules/search/search.test
View file @
c0f75814
...
...
@@ -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
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment