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