SourceFileScanner::relativePath($file), 'line' => $line, 'snippet' => SourceFileScanner::snippet($source, $line), ]; $offset = $position + strlen($needle); } } if ($violations !== []) { $messages = array_map(static function (array $violation): string { return sprintf( "%s:%d\n%s", $violation['file'], $violation['line'], $violation['snippet'], ); }, $violations); $this->fail( "Legacy notification reference(s) found:\n\n".implode("\n\n", $messages) ); } expect($violations)->toBe([]); })->group('ops-ux');