From ec74e318d786c5c9048e9b0f1b524dc7812bf26b Mon Sep 17 00:00:00 2001
From: dereine <dereine@99340.no-reply.drupal.org>
Date: Sun, 7 Oct 2012 17:50:37 +0200
Subject: [PATCH] Issue #1796020 by dawehner | axel.rutz: Fixed Counter field
 does not implement get_value().

---
 .../views/Plugin/views/field/Counter.php      |  5 ++++-
 .../views/Tests/Handler/FieldCounterTest.php  | 22 ++++++++++++++-----
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/lib/Drupal/views/Plugin/views/field/Counter.php b/lib/Drupal/views/Plugin/views/field/Counter.php
index de0289a00b37..9d27f06af904 100644
--- a/lib/Drupal/views/Plugin/views/field/Counter.php
+++ b/lib/Drupal/views/Plugin/views/field/Counter.php
@@ -42,7 +42,10 @@ public function query() {
     // do nothing -- to override the parent query.
   }
 
-  function render($values) {
+  /**
+   * Overrides Drupal\views\Plugin\views\field\FieldPluginBas::get_value()
+   */
+  public function get_value($values, $field = NULL) {
     // Note:  1 is subtracted from the counter start value below because the
     // counter value is incremented by 1 at the end of this function.
     $count = is_numeric($this->options['counter_start']) ? $this->options['counter_start'] - 1 : 0;
diff --git a/lib/Drupal/views/Tests/Handler/FieldCounterTest.php b/lib/Drupal/views/Tests/Handler/FieldCounterTest.php
index 506de0305f26..a39ece69b742 100644
--- a/lib/Drupal/views/Tests/Handler/FieldCounterTest.php
+++ b/lib/Drupal/views/Tests/Handler/FieldCounterTest.php
@@ -44,9 +44,13 @@ function testSimple() {
     ));
     $view->preview();
 
-    $this->assertEqual(1, $view->style_plugin->rendered_fields[0]['counter']);
-    $this->assertEqual(2, $view->style_plugin->rendered_fields[1]['counter']);
-    $this->assertEqual(3, $view->style_plugin->rendered_fields[2]['counter']);
+
+    $counter = $view->style_plugin->rendered_fields[0]['counter'];
+    $this->assertEqual($counter, 1, format_string('Make sure the expected number (@expected) patches with the rendered number (@counter)', array('@expected' => 1, '@counter' => $counter)));
+    $counter = $view->style_plugin->rendered_fields[1]['counter'];
+    $this->assertEqual($counter, 2, format_string('Make sure the expected number (@expected) patches with the rendered number (@counter)', array('@expected' => 2, '@counter' => $counter)));
+    $counter = $view->style_plugin->rendered_fields[2]['counter'];
+    $this->assertEqual($counter, 3, format_string('Make sure the expected number (@expected) patches with the rendered number (@counter)', array('@expected' => 3, '@counter' => $counter)));
     $view->destroy();
 
     $view = $this->getView();
@@ -68,9 +72,15 @@ function testSimple() {
     ));
     $view->preview();
 
-    $this->assertEqual(0 + $rand_start, $view->style_plugin->rendered_fields[0]['counter']);
-    $this->assertEqual(1 + $rand_start, $view->style_plugin->rendered_fields[1]['counter']);
-    $this->assertEqual(2 + $rand_start, $view->style_plugin->rendered_fields[2]['counter']);
+    $counter = $view->style_plugin->rendered_fields[0]['counter'];
+    $expected_number = 0 + $rand_start;
+    $this->assertEqual($counter, $expected_number, format_string('Make sure the expected number (@expected) patches with the rendered number (@counter)', array('@expected' => $expected_number, '@counter' => $counter)));
+    $counter = $view->style_plugin->rendered_fields[1]['counter'];
+    $expected_number = 1 + $rand_start;
+    $this->assertEqual($counter, $expected_number, format_string('Make sure the expected number (@expected) patches with the rendered number (@counter)', array('@expected' => $expected_number, '@counter' => $counter)));
+    $counter = $view->style_plugin->rendered_fields[2]['counter'];
+    $expected_number = 2 + $rand_start;
+    $this->assertEqual($counter, $expected_number, format_string('Make sure the expected number (@expected) patches with the rendered number (@counter)', array('@expected' => $expected_number, '@counter' => $counter)));
   }
 
   // @TODO: Write tests for pager.
-- 
GitLab