Commit a15f92bc authored by Damien McKenna's avatar Damien McKenna Committed by Damien McKenna
Browse files

Issue #2977851 by DamienMcKenna, VladimirAus, Jorrit, darrell_ulm, mariiadeny,...

Issue #2977851 by DamienMcKenna, VladimirAus, Jorrit, darrell_ulm, mariiadeny, cboyden, dsnopek, xlin, Alina Basarabeanu: PHP 7.2: count() on non-Countable in views_many_to_one_helper.
parent 20994861
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -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;
    }

+17 −16
Original line number Diff line number Diff line
@@ -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;
@@ -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();