in('Feature'); /* |-------------------------------------------------------------------------- | Expectations |-------------------------------------------------------------------------- | | When you're writing tests, you often need to check that values meet certain conditions. The | "expect()" function gives you access to a set of "expectations" methods that you can use | to assert different things. Of course, you may extend the Expectation API at any time. | */ expect()->extend('toParseTo', function (array $expected) { $actual = $itemsCount = []; foreach ($this->value as $parsedKey => $parsedValue) { $itemsCount[$parsedKey] = empty($itemsCount[$parsedKey]) ? 1 : $itemsCount[$parsedKey] + 1; // the following match is required as we may deal with parsed values that are arrays // and unpacking a parsed value that is an array may lead to unexpected results $actual[$parsedKey] = match ($itemsCount[$parsedKey]) { 1 => $parsedValue, 2 => [$actual[$parsedKey], $parsedValue], default => [...$actual[$parsedKey], $parsedValue], }; } expect($actual)->toBe($expected); }); /* |-------------------------------------------------------------------------- | Functions |-------------------------------------------------------------------------- | | While Pest is very powerful out-of-the-box, you may have some testing code specific to your | project that you don't want to repeat in every file. Here you can also expose helpers as | global functions to help you to reduce the number of lines of code in your test files. | */ // ...