JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrfail("File {$filePath} must contain {$needle}"); } protected function assertFileDoesNotContain(string $filePath, string $needle): void { $last = ''; $handle = fopen($filePath, 'r'); while (!feof($handle)) { $line = fgets($handle, 1024); if(str_contains($last . $line, $needle)) { fclose($handle); $this->fail("File {$filePath} must not contain {$needle}"); } $last = $line; } fclose($handle); } }