/** * * @param string $parameterString * @return \webignition\InternetMediaType\Parameter */ public function parse($parameterString) { $inputString = trim($parameterString); $attribute = $this->getAttributeParser()->parse($inputString); if ($attribute == '') { return new Parameter(); } $value = $this->getValueParser($attribute)->parse($parameterString); $parameter = new Parameter(); $parameter->setAttribute($attribute); $parameter->setValue($value); return $parameter; }
public function testWithSlightlyInvalidMediaTypeString() { $mediaType = new InternetMediaType(); $mediaType->setType('text'); $mediaType->setSubtype('javascript'); $parameter1 = new Parameter(); $parameter1->setAttribute('UTF-8'); $mediaType->addParameter($parameter1); $parameter2 = new Parameter(); $parameter2->setAttribute('charset'); $parameter2->setValue('UTF-8'); $mediaType->addParameter($parameter1); $mediaType->addParameter($parameter2); $this->assertEquals('text/javascript', $mediaType->getTypeSubtypeString()); $this->assertEquals('text/javascript; utf-8; charset=UTF-8', (string) $mediaType); }