Loading includes/handlers.inc +2 −8 Original line number Diff line number Diff line Loading @@ -1077,18 +1077,12 @@ class views_many_to_one_helper { // should be added via an db_or()/db_and() (TRUE). $add_condition = TRUE; if ($operator == 'or' && empty($options['reduce_duplicates'])) { if (count($value) > 1) { $operator = 'IN'; } else { $value = is_array($value) ? array_pop($value) : $value; if (is_array($value) && count($value) > 1) { if (is_array($value)) { $operator = 'IN'; } else { $operator = '='; } } $add_condition = FALSE; } Loading tests/handlers/views_handler_manytoone.test +17 −16 Original line number Diff line number Diff line Loading @@ -531,9 +531,11 @@ class ViewsHandlerManyToOneTest extends ViewsSqlTest { 'field_tags_tid' => '4', )); $this->executeView($view); $this->verbose(isset($view->result) ? $view->result : NULL); // Assert correct result set. $result_count = isset($view->result) && is_array($view->result) ? count($view->result) : 0; $this->assertEqual($result_count, 4, 'Option 4: View has four results.'); $nid = isset($view->result[0]->nid) ? (int) $view->result[0]->nid : 0; $result1 = ($nid === (int) $this->nodes[0]->nid); $nid = isset($view->result[1]->nid) ? (int) $view->result[1]->nid : 0; Loading @@ -543,23 +545,22 @@ class ViewsHandlerManyToOneTest extends ViewsSqlTest { $nid = isset($view->result[3]->nid) ? (int) $view->result[3]->nid : 0; $result4 = ($nid === (int) $this->nodes[2]->nid); $this->assertTrue($result1 && $result2 && $result3 && $result4, 'Option 4: View result has correct node ID.'); $this->verbose($view->result); $this->assertEqual($result_count, 4, 'Option 4: View has four results.'); /* @todo: Fix and uncomment in issue #3045168. * // Option 5: Is all of 1 and 2. * $view = $this->getTermIdExposedGroupedOptionsTestView(); * $view->set_exposed_input(array( * 'field_tags_tid' => '5', * )); * $this->executeView($view); * * // Assert correct result set. * $result_count = isset($view->result) && is_array($view->result) ? count($view->result) : 0; * $nid = isset($view->result[0]->nid) ? (int) $view->result[0]->nid : 0; * $this->assertIdentical($nid, (int) $this->nodes[2]->nid, 'Option 5: View result has correct node ID.'); * $this->assertIdentical($result_count, 1, 'Option 5: View has one result.'); */ // @todo: Fix and uncomment in issue #3045168. // Option 5: Is all of 1 and 2. // @code // $view = $this->getTermIdExposedGroupedOptionsTestView(); // $view->set_exposed_input(array( // 'field_tags_tid' => '5', // )); // $this->executeView($view); // // // Assert correct result set. // $result_count = isset($view->result) && is_array($view->result) ? count($view->result) : 0; // $nid = isset($view->result[0]->nid) ? (int) $view->result[0]->nid : 0; // $this->assertIdentical($nid, (int) $this->nodes[2]->nid, 'Option 5: View result has correct node ID.'); // $this->assertIdentical($result_count, 1, 'Option 5: View has one result.'); // @endcode // Option 6: Is empty. $view = $this->getTermIdExposedGroupedOptionsTestView(); Loading Loading
includes/handlers.inc +2 −8 Original line number Diff line number Diff line Loading @@ -1077,18 +1077,12 @@ class views_many_to_one_helper { // should be added via an db_or()/db_and() (TRUE). $add_condition = TRUE; if ($operator == 'or' && empty($options['reduce_duplicates'])) { if (count($value) > 1) { $operator = 'IN'; } else { $value = is_array($value) ? array_pop($value) : $value; if (is_array($value) && count($value) > 1) { if (is_array($value)) { $operator = 'IN'; } else { $operator = '='; } } $add_condition = FALSE; } Loading
tests/handlers/views_handler_manytoone.test +17 −16 Original line number Diff line number Diff line Loading @@ -531,9 +531,11 @@ class ViewsHandlerManyToOneTest extends ViewsSqlTest { 'field_tags_tid' => '4', )); $this->executeView($view); $this->verbose(isset($view->result) ? $view->result : NULL); // Assert correct result set. $result_count = isset($view->result) && is_array($view->result) ? count($view->result) : 0; $this->assertEqual($result_count, 4, 'Option 4: View has four results.'); $nid = isset($view->result[0]->nid) ? (int) $view->result[0]->nid : 0; $result1 = ($nid === (int) $this->nodes[0]->nid); $nid = isset($view->result[1]->nid) ? (int) $view->result[1]->nid : 0; Loading @@ -543,23 +545,22 @@ class ViewsHandlerManyToOneTest extends ViewsSqlTest { $nid = isset($view->result[3]->nid) ? (int) $view->result[3]->nid : 0; $result4 = ($nid === (int) $this->nodes[2]->nid); $this->assertTrue($result1 && $result2 && $result3 && $result4, 'Option 4: View result has correct node ID.'); $this->verbose($view->result); $this->assertEqual($result_count, 4, 'Option 4: View has four results.'); /* @todo: Fix and uncomment in issue #3045168. * // Option 5: Is all of 1 and 2. * $view = $this->getTermIdExposedGroupedOptionsTestView(); * $view->set_exposed_input(array( * 'field_tags_tid' => '5', * )); * $this->executeView($view); * * // Assert correct result set. * $result_count = isset($view->result) && is_array($view->result) ? count($view->result) : 0; * $nid = isset($view->result[0]->nid) ? (int) $view->result[0]->nid : 0; * $this->assertIdentical($nid, (int) $this->nodes[2]->nid, 'Option 5: View result has correct node ID.'); * $this->assertIdentical($result_count, 1, 'Option 5: View has one result.'); */ // @todo: Fix and uncomment in issue #3045168. // Option 5: Is all of 1 and 2. // @code // $view = $this->getTermIdExposedGroupedOptionsTestView(); // $view->set_exposed_input(array( // 'field_tags_tid' => '5', // )); // $this->executeView($view); // // // Assert correct result set. // $result_count = isset($view->result) && is_array($view->result) ? count($view->result) : 0; // $nid = isset($view->result[0]->nid) ? (int) $view->result[0]->nid : 0; // $this->assertIdentical($nid, (int) $this->nodes[2]->nid, 'Option 5: View result has correct node ID.'); // $this->assertIdentical($result_count, 1, 'Option 5: View has one result.'); // @endcode // Option 6: Is empty. $view = $this->getTermIdExposedGroupedOptionsTestView(); Loading