Skip to content

Revert support for closure comparison #129

@theofidry

Description

@theofidry

Not sure if it is better to reply in the closed issue #127 or to open a new one.

Whilst the promise of #127 is interesting, I think the current implementation falls too short to be practical. A very simple example: https://3v4l.org/1E5Fj

So if your code is using some noop closures in various places, all tests previously passing will now fail. Worse, the actual user experience for those is completely broken, this is the diff I get from https://github.com/webmozarts/console-parallelization:

10) Webmozarts\Console\Parallelization\Input\ParallelizationInputTest::test_it_can_be_instantiated_from_an_input@child option with data (Symfony\Component\Console\Input\StringInput Object (...), Webmozarts\Console\Parallelization\Input\ParallelizationInput Object (...))
Failed asserting that two objects are equal.
--- Expected
+++ Actual

I am not too sure if it is ArrayComparator swallowing the inner comparison or the string represendation being too generic not allowing the diff to be exposed.

I honestly have no clue what the proper fix would be, but I feel like this is too much breakage (IMO) to land in a minor/patch version*.

*: actually digging a tiny bit more, PHPUnit 12 allows sebastianbergmann/comparator ^7.0.0 so technically if one upgrades to PHPUnit 12 now they will get it as early as 12.0.0, but you could previously upgrade to 12.0 without hitting this issue, and still can if you constraint sebastian/comparator to ~7.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions