Problem/Motivation

core/modules/node/tests/modules/node_test/node_test.module causes deprecation errors on PHP 8.1.

Steps to reproduce

Run \Drupal\Tests\node\Functional\PagePreviewTest on PHP 8.1 (note the test triggers other deprecations but they are fixed in other issues and not as important)

Proposed resolution

Fix the node_test_node_view() hook implementation to not trigger a deprecation.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

CommentFileSizeAuthor
#2 3241268-2.patch671 bytesalexpott
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

alexpott created an issue. See original summary.

alexpott’s picture

Issue summary: View changes
Status: Active » Needs review
FileSize
671 bytes

Before

PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.1.0RC3-dev
Configuration: /Users/alex/dev/sites/drupal8alt.dev/phpunit.xml
Warning:       Your XML configuration validates against a deprecated schema.
Suggestion:    Migrate your XML configuration using "--migrate-configuration"!

Testing Drupal\Tests\node\Functional\PagePreviewTest
EE..                                                                4 / 4 (100%)

Time: 00:43.569, Memory: 10.00 MB

There were 2 errors:

1) Drupal\Tests\node\Functional\PagePreviewTest::testPagePreview
Exception: Deprecated function: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated
Drupal\Component\Utility\Html::escape()() (Line: 424)


/Users/alex/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Test/HttpClientMiddleware/TestHttpClientMiddleware.php:49
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:204
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:153
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/TaskQueue.php:48
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:248
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:224
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:269
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:226
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:62
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/guzzle/src/Client.php:182
/Users/alex/dev/sites/drupal8alt.dev/core/tests/Drupal/Tests/DrupalTestBrowser.php:137
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:404
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:622
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:422
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:324
/Users/alex/dev/sites/drupal8alt.dev/vendor/friends-of-behat/mink-browserkit-driver/src/BrowserKitDriver.php:719
/Users/alex/dev/sites/drupal8alt.dev/vendor/friends-of-behat/mink-browserkit-driver/src/BrowserKitDriver.php:494
/Users/alex/dev/sites/drupal8alt.dev/vendor/behat/mink/src/Element/NodeElement.php:153
/Users/alex/dev/sites/drupal8alt.dev/vendor/behat/mink/src/Element/NodeElement.php:161
/Users/alex/dev/sites/drupal8alt.dev/core/tests/Drupal/Tests/UiHelperTrait.php:100
/Users/alex/dev/sites/drupal8alt.dev/core/modules/node/tests/src/Functional/PagePreviewTest.php:204
/Users/alex/dev/sites/drupal8alt.dev/vendor/phpunit/phpunit/src/Framework/TestResult.php:722

2) Drupal\Tests\node\Functional\PagePreviewTest::testPagePreviewWithRevisions
Exception: Deprecated function: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated
Drupal\Component\Utility\Html::escape()() (Line: 424)


/Users/alex/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Test/HttpClientMiddleware/TestHttpClientMiddleware.php:49
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:204
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:153
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/TaskQueue.php:48
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:248
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:224
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:269
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:226
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/promises/src/Promise.php:62
/Users/alex/dev/sites/drupal8alt.dev/vendor/guzzlehttp/guzzle/src/Client.php:182
/Users/alex/dev/sites/drupal8alt.dev/core/tests/Drupal/Tests/DrupalTestBrowser.php:137
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:404
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:622
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:422
/Users/alex/dev/sites/drupal8alt.dev/vendor/symfony/browser-kit/Client.php:324
/Users/alex/dev/sites/drupal8alt.dev/vendor/friends-of-behat/mink-browserkit-driver/src/BrowserKitDriver.php:719
/Users/alex/dev/sites/drupal8alt.dev/vendor/friends-of-behat/mink-browserkit-driver/src/BrowserKitDriver.php:494
/Users/alex/dev/sites/drupal8alt.dev/vendor/behat/mink/src/Element/NodeElement.php:153
/Users/alex/dev/sites/drupal8alt.dev/vendor/behat/mink/src/Element/NodeElement.php:161
/Users/alex/dev/sites/drupal8alt.dev/core/tests/Drupal/Tests/UiHelperTrait.php:100
/Users/alex/dev/sites/drupal8alt.dev/core/modules/node/tests/src/Functional/PagePreviewTest.php:457
/Users/alex/dev/sites/drupal8alt.dev/vendor/phpunit/phpunit/src/Framework/TestResult.php:722

After

PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.1.0RC3-dev
Configuration: /Users/alex/dev/sites/drupal8alt.dev/phpunit.xml
Warning:       Your XML configuration validates against a deprecated schema.
Suggestion:    Migrate your XML configuration using "--migrate-configuration"!

Testing Drupal\Tests\node\Functional\PagePreviewTest
....                                                                4 / 4 (100%)

Time: 00:45.507, Memory: 12.00 MB

OK (4 tests, 164 assertions)
daffie’s picture

Status: Needs review » Reviewed & tested by the community

The function node_test_node_view() has been made for having a saved node. Adding the check should not change the testing.
Looks good to me.

  • catch committed 6f6e3ce on 9.3.x
    Issue #3241268 by alexpott, daffie: core/modules/node/tests/modules/...
catch’s picture

Status: Reviewed & tested by the community » Fixed

Committed 6f6e3ce and pushed to 9.3.x. Thanks!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.