/** * @expectedException \Jgut\Spiral\Exception\OptionException */ public function testGetterSetter() { $transport = new Curl(); static::assertFalse($transport->hasOption('fake_option')); $options = [CURLOPT_VERBOSE => false]; $transport->setOptions($options); static::assertCount(1, $transport->getOptions()); static::assertTrue($transport->hasOption(CURLOPT_VERBOSE)); static::assertTrue($transport->hasOption(OptionFactory::build(CURLOPT_VERBOSE, false))); static::assertEquals($options, [$transport->getOptions()[0]->getOption() => $transport->getOptions()[0]->getValue()]); $transport->removeOption('fake_option'); $transport->removeOption(CURLOPT_VERBOSE); $transport->removeOption(OptionFactory::build(CURLOPT_VERBOSE, false)); static::assertFalse($transport->hasOption(CURLOPT_VERBOSE)); $transport->setOption('fake_option'); }
/** * {@inheritdoc} */ public function removeOption($option) { if ($option instanceof OptionInterface) { $option = $option->getOption(); } else { try { $option = OptionFactory::getOptionKey($option); } catch (OptionException $exception) { return; } } $this->options = array_filter($this->options, function ($transportOption) use($option) { /* @var OptionInterface $transportOption */ return !($transportOption->getOption() === $option); }); }
public function testCreation() { $option = OptionFactory::build(CURLOPT_REFERER, 'referer'); static::assertEquals(CURLOPT_REFERER, $option->getOption()); }