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); }
/** * * @param string $internetMediaTypeString * @return \webignition\InternetMediaType\InternetMediaType */ public function parse($internetMediaTypeString) { $inputString = trim($internetMediaTypeString); $internetMediaType = new InternetMediaType(); $internetMediaType->setType($this->getTypeParser()->parse($inputString)); $internetMediaType->setSubtype($this->getSubypeParser()->parse($inputString)); $parameterString = $this->getParameterString($inputString, $internetMediaType->getType(), $internetMediaType->getSubtype()); $parameterStrings = $this->getParameterStrings($parameterString); $parameters = $this->getParameters($parameterStrings); foreach ($parameters as $parameter) { $internetMediaType->addParameter($parameter); } return $internetMediaType; }