Files
resourcespace/tests/test_list/000945_do_search_related.php
2025-07-18 16:20:14 +07:00

71 lines
2.1 KiB
PHP

<?php
command_line_only();
// Check for searching using related keywords and with keyword_relationships_one_way set
$keyword_relationships_one_way = false;
$resourcea = create_resource(1, 0);
$resourceb = create_resource(1, 0);
// Add new node to field, use dummy countries in case dbstruct changes and avoid possible stems
$rggweqvdfrnode = set_node(null, 3, "rggweqvdfr", '', 1000);
// Add trdpqtskc node to resource a
add_resource_nodes($resourcea, array($rggweqvdfrnode));
save_related_keywords("rggweqvdfr", "fdgrefgfr");
// SUBTEST A
// Do search for related keyword 'fdgrefgfr' (should return resource a)
$results = do_search('fdgrefgfr');
if (count($results) != 1 || !isset($results[0]['ref']) || $results[0]['ref'] != $resourcea) {
echo "ERROR - SUBTEST A\n";
return false;
}
// SUBTEST B
// Now create a new node with the related keyword and add it to resource b
$fdgrefgfrnode = set_node(null, 3, "fdgrefgfr", '', 1000);
add_resource_nodes($resourceb, array($fdgrefgfrnode));
// Do search for first keyword 'rggweqvdfr' (should return both resources a and b)
$results = do_search('rggweqvdfr');
if (
count($results) != 2 || !isset($results[0]['ref']) || !isset($results[1]['ref'])
||
!match_values(array_column($results, 'ref'), array($resourcea, $resourceb))
) {
echo "ERROR - SUBTEST B\n";
return false;
}
// SUBTEST C
// Now set $keyword_relationships_one_way. Also need to wipe the related keyword cache!
$keyword_relationships_one_way = true;
unset($related_keywords_cache);
// Do search for 'fdgrefgfr' again, should only return resource b
$results = do_search('fdgrefgfr');
if (count($results) != 1 || !isset($results[0]['ref']) || $results[0]['ref'] != $resourceb) {
echo "ERROR - SUBTEST C\n";
return false;
}
// SUBTEST D
// Do search for 'rggweqvdfr' again - should still return resources a and b
$results = do_search('rggweqvdfr');
if (
count($results) != 2 || !isset($results[0]['ref']) || !isset($results[1]['ref'])
||
!match_values(array_column($results, 'ref'), array($resourcea, $resourceb))
) {
echo "ERROR - SUBTEST D\n";
return false;
}
$keyword_relationships_one_way = false;
return true;