See the core issue #3108006: Replace assertInternalType() calls with dedicated methods and the change notice: https://www.drupal.org/node/3133050

Because this is a PHPUnit 9 change, it will work in Drupal 9 and in fact is REQUIRED for D9. Also, Drupal 8.8+ now has a forward-compatibility layer that allows us to use this assert with PHPUnit 6 in Drupal 8.

But as that compatibility layer is not in Drupal 8.7 we can't commit this change until Drupal 8.7 becomes unsupported.

CommentFileSizeAuthor
assert-internal-type-removed.patch3.69 KBtr

Comments

TR created an issue. See original summary.

tr’s picture

The test results demonstrate that this cannot be done in Drupal 8.7, which is why this issue is postponed until Drupal 8.7 is no longer supported.

freelock’s picture

What about creating a 4.0.x branch for this? And keep the 8.x-3.x branch active?

Even without applying the patch, just having a new branch with core_version_requirement: ^8.7.8 || ^9 at least makes it possible to install in Drupal 9 with composer (and then can use patch management to apply other patches). It's a whole lot more work to patch the info file for this than any other file in the module.

tr’s picture

No, I'm not going to create a new major branch. You can't install Rules on D9, no matter what core_version_requirement says, so I prefer to keep that declaration accurate. The plan is to make one last release of Rules that's still compatible with D8.7, then commit the pending patches like this one which are linked from #3089502: [meta] Rules deprecated code, then start trying to deal with the core regression in #3126747: ContextDefinition::create() can no longer be used with an entitytype-specific datatype (like entity:user) which currently prevents Rules from working at all in D9.

It's going to take me a while to get to this - the first possible day to commit this patch was yesterday, but I also maintain many other modules that also have pending patches like this. Now that D9 has been released I have a huge backlog of issues like this which had to be postponed for up for 6 months, and it's going to take me a while to work through them. Rules will be the last module I tackle because as I said there's a hard blocker that prevents it from working in D9 so the priority for doing this is lower.

tr’s picture

Status: Postponed » Needs review
tr’s picture

Status: Needs review » Fixed

Committed.

  • TR committed ac88328 on 8.x-3.x
    Issue #3137977 by TR: Replace assertInternalType() calls with dedicated...

Status: Fixed » Closed (fixed)

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