/** * Test mime type */ public function testExtension() { $this->assertEquals(Mime::JPEG, Mime::getTypeFromPath('my-picture.jpg')); $this->assertEquals(Mime::PNG, Mime::getTypeFromPath('my-picture.png')); $this->assertEquals(Mime::GIF, Mime::getTypeFromPath('my-picture.gif')); $this->assertEquals(Mime::JPEG, Mime::getTypeFromPath('my-picture.JPG')); $this->assertEquals(Mime::XHTML, Mime::getTypeFromPath('foo/var/test.xhtml')); $this->assertEquals(Mime::MediaOverlays301, Mime::getTypeFromPath('hoge/fuga.smil')); $this->assertEquals(Mime::PLS, Mime::getTypeFromPath('my-announce.pls')); $this->assertEquals(Mime::OpenType, Mime::getTypeFromPath('hiragino.otf')); $this->assertEquals(Mime::MP3, Mime::getTypeFromPath('video.mp3')); $this->assertEquals(Mime::CSS, Mime::getTypeFromPath('style.css')); }
/** * Add item to * * @param string $relative_path * @param string $id If empty, path will convert to id * @param array $properties Default empty. If set, properties will be set. * @return string */ public function addItem($relative_path, $id = '', array $properties = []) { $id = $id ?: $this->pathToId($relative_path); // Avoid duplication foreach ($this->dom->manifest->item as $item) { /** @var \SimpleXMLElement $item */ $attr = $item->attributes(); if (isset($attr['id']) && $id == $attr['id']) { return $id; } } // This is unique. $item = $this->dom->manifest->addChild('item'); $item['id'] = $id; $item['href'] = $relative_path; $item['media-type'] = Mime::getTypeFromPath($relative_path); if ($properties) { $item['properties'] = implode(' ', $properties); } return $id; }