Comments

steveoliver’s picture

Title: Expand test coverage #type table » Expand render test coverage for #type table
Issue tags: +Needs tests

title, tag

andypost’s picture

Core 8 introduced some new elements and it would be good to collect em in Drupal\system\Tests\Common\RenderTest

webchick’s picture

Priority: Normal » Major

Hm. I think given there are at least 3-4 issues that are changing this stuff and punting on test coverage, we should escalate this a bit.

steveoliver’s picture

Assigned: Unassigned » steveoliver
steveoliver’s picture

Update: I'm making progress here. I haven't forgotten, just lagging.

steveoliver’s picture

Assigned: steveoliver » Unassigned
StatusFileSize
new2.86 KB

Not much here so far, but I gotta unassign to get back to Twig review/profiling...

jhedstrom’s picture

Issue summary: View changes
Status: Active » Needs work

Changing status since there is a start here.

joelpittet’s picture

  1. +++ b/core/modules/system/lib/Drupal/system/Tests/Render/TypeTableTest.php
    @@ -0,0 +1,68 @@
    +    $this->assertRaw('<tr class="odd"><td>Foo</td><td>Bar</td><td>Baz</td> </tr>', 'Table row rendered from #rows property.');
    ...
    +    $this->assertRaw('<tr class="odd"><td>Foo</td><td>Bar</td><td>Baz</td> </tr>', 'Table row rendered from child render elements.');
    ...
    +    $this->assertRaw('<tr class="draggable odd"><td>Foo 1</td><td>Bar 1</td><td>Baz 1</td><td></td> </tr>\n <tr class="draggable even"><td>Foo 2</td><td>Bar 2</td><td>Baz 2</td> </tr>', 'Table row rendered with tabledrag from child render elements.');
    

    xpath may be better to avoid having to keep track of whitespace changes?

  2. +++ b/core/modules/system/lib/Drupal/system/Tests/Theme/TableTest.php
    @@ -16,7 +16,7 @@ class TableTest extends WebTestBase {
    -      'description' => 'Tests built-in theme functions.',
    +      'description' => 'Tests built-in table theme functions.',
    

    Probably can be 'table templates'?

joelpittet’s picture

Status: Needs work » Needs review
Issue tags: -Needs tests +rc eligible
StatusFileSize
new2.63 KB

Re-roll and see what test bot thinks.

Status: Needs review » Needs work

The last submitted patch, 9: expand_render_test-1975152-9.patch, failed testing.

The last submitted patch, 9: expand_render_test-1975152-9.patch, failed testing.

nitesh pawar’s picture

Status: Needs work » Needs review
StatusFileSize
new2.66 KB

Patch on new revision

Status: Needs review » Needs work

The last submitted patch, 12: expand_render_test-1975152-12.patch, failed testing.

The last submitted patch, 12: expand_render_test-1975152-12.patch, failed testing.

tim.plunkett’s picture

  1. +++ b/core/modules/system/src/Tests/Render/TypeTableTest.php
    @@ -0,0 +1,68 @@
    + * Functional tests for #type table.
    + */
    +class TypeTableTest extends WebTestBase {
    +  public static function getInfo() {
    +    return array(
    +      'name' => 'Type Table',
    +      'description' => "Tests #type 'table' render functions.",
    +      'group' => 'Render',
    +    );
    +  }
    

    getInfo is obsolete, you need a @group annotation on the test class

  2. +++ b/core/modules/system/src/Tests/Render/TypeTableTest.php
    @@ -0,0 +1,68 @@
    +  function testRenderTableFromRows() {
    ...
    +  function testRenderTableFromChildren() {
    ...
    +  function testRenderTableWithTabledrag() {
    ...
    +  function testRenderTableWithTableselect() {
    

    These should be public

  3. +++ b/core/modules/system/src/Tests/Render/TypeTableTest.php
    @@ -0,0 +1,68 @@
    +  function testRenderTableWithTableselect() {
    +
    +  }
    

    This can't be empty

nitesh pawar’s picture

Status: Needs work » Needs review
StatusFileSize
new2.6 KB
new1.46 KB

Thanks @tim.plunkett changes done as you suggested.

Status: Needs review » Needs work

The last submitted patch, 16: expand_render_test-1975152-16.patch, failed testing.

joelpittet’s picture

+++ b/core/modules/system/src/Tests/Render/TypeTableTest.php
@@ -0,0 +1,64 @@
+    $this->content = drupal_render($table);
+    $this->assertRaw('<tr class="odd"><td>Foo</td><td>Bar</td><td>Baz</td> </tr>', 'Table row rendered from #rows property.');

This may be ripe for using $this->removeWhiteSpace(); Just a guess. And maybe render_render() can be just Drupal::service('renderer')->renderPlain() to avoid testing asset attachment stuff.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Status: Needs work » Postponed (maintainer needs more info)
Issue tags: +stale-issue-cleanup

Thank you for creating this issue to improve Drupal.

We are working to decide if this task is still relevant to a currently supported version of Drupal. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or is no longer relevant. Your thoughts on this will allow a decision to be made.

Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.

Thanks!

smustgrave’s picture

Status: Postponed (maintainer needs more info) » Needs work
Related issues: +#1876714: Remove #type 'tableselect', +#1876718: Allow modules to inject columns into tables more easily

Believe this may still be relevant as the related issues are still in NW.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.