public function TranscoderAbstractionFactoryZencoderTestCase::testExtractFrames in Video 7.2
File
- tests/TranscoderAbstractionFactoryZencoder.test, line 107
- Tests for the TranscoderAbstractionFactoryZencoder class
Class
- TranscoderAbstractionFactoryZencoderTestCase
- Tests for TranscoderAbstractionFactoryZencoder
Code
public function testExtractFrames() {
$this->transcoder
->setInput(array(
'fid' => 1,
'uri' => 'public://test.mp4',
'filename' => 'test.mp4',
));
$out = $this->transcoder
->extractFrames('public', 'png');
$this
->assertFalse($out);
db_update('video_queue')
->fields(array(
'status' => VIDEO_RENDERING_COMPLETE,
))
->condition('vid', 1)
->execute();
$out = $this->transcoder
->extractFrames('public', 'png');
$this
->assertFalse($out);
variable_set('video_zencoder_base_url', 'public://incoming');
variable_set('video_thumbnail_count', 5);
$dir = 'public://incoming/videos/thumbnails/1/';
file_prepare_directory($dir, FILE_CREATE_DIRECTORY);
for ($i = 0; $i < 5; $i++) {
file_put_contents($dir . 'thumbnail-1_000' . $i . '.png', $i . '');
}
$out = $this->transcoder
->extractFrames('public', 'png');
$this
->assertTrue(is_array($out), 'extractFrames should return array');
$this
->assertEqual(5, count($out), '5 items should be returned');
for ($i = 0; $i < 5; $i++) {
$filename = 'thumbnail-1_000' . $i . '.png';
$this
->assertEqual($filename, $out[$i]->filename);
$this
->assertEqual('image/png', $out[$i]->filemime);
$this
->assertEqual(0, $out[$i]->status);
$this
->assertFalse(file_exists($dir . $filename), 'Thumbnail ' . $i . ' should be deleted from original directory');
$this
->assertTrue(file_exists('public://videos/thumbnails/1/' . $filename), 'Thumbnail ' . $i . ' should exist in target directory');
}
$out = $this->transcoder
->extractFrames('public', 'png');
$this
->assertTrue(is_array($out), 'extractFrames should return array');
$this
->assertEqual(5, count($out), '5 items should be returned');
}