Example #1
0
 /**
  * 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'));
 }
Example #2
0
 /**
  * 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;
 }