/** * @param (string|(string|callable|string[])[])[]|null $whitelist * @param string $input * @param string $output * @param string[][] $logs * @param mixed[] $options * @dataProvider dataProvider */ public function testFilter($whitelist, string $input, string $output, array $logs, array $options = []) { $filter = new Filter($whitelist, $options); $filter->setLogger($this); $result = $filter->filter($input); $this->assertEquals($logs, $this->logs); $this->assertSame($output, $result); }