getMockBuilder('Predis\Configuration\OptionsInterface')->getMock(); $this->assertSame('', $option->getDefault($options)); } /** * @group disconnected */ public function testAcceptsString(): void { $option = new UpstreamDriver(); /** @var OptionsInterface */ $options = $this->getMockBuilder('Predis\Configuration\OptionsInterface')->getMock(); $value = 'laravel_v11.0.0'; $filtered = $option->filter($options, $value); $this->assertSame('laravel_v11.0.0', $filtered); } /** * @group disconnected */ public function testAcceptsArrayAndNormalizesToString(): void { $option = new UpstreamDriver(); /** @var OptionsInterface */ $options = $this->getMockBuilder('Predis\Configuration\OptionsInterface')->getMock(); $value = ['laravel_v11.0.0', 'my-app_v1.0.0']; $filtered = $option->filter($options, $value); $this->assertSame('laravel_v11.0.0;my-app_v1.0.0', $filtered); } /** * @group disconnected */ public function testAcceptsEmptyArray(): void { $option = new UpstreamDriver(); /** @var OptionsInterface */ $options = $this->getMockBuilder('Predis\Configuration\OptionsInterface')->getMock(); $this->assertSame('', $option->filter($options, [])); } /** * @group disconnected */ public function testThrowsExceptionOnInvalidValue(): void { $this->expectException('InvalidArgumentException'); $this->expectExceptionMessage('UpstreamDriver option expects a string or an array of strings'); $option = new UpstreamDriver(); /** @var OptionsInterface */ $options = $this->getMockBuilder('Predis\Configuration\OptionsInterface')->getMock(); $option->filter($options, 123); } }