public function testGetMaterialsWithTag() { $mm = new MultimediaObject(); $m1 = new Material(); $m1->setTags(array('master')); $m2 = new Material(); $m2->setTags(array('mosca', 'master', 'old')); $m3 = new Material(); $m3->setTags(array('master', 'mosca')); $m4 = new Material(); $m4->setTags(array('flv', 'itunes', 'hide')); $m5 = new Material(); $m5->setTags(array('flv', 'webtv')); $mm->addMaterial($m3); $mm->addMaterial($m2); $mm->addMaterial($m1); $mm->addMaterial($m4); $mm->addMaterial($m5); $this->assertEquals(array($m3, $m2, $m1), $mm->getMaterialsWithTag('master')); $this->assertEquals($m3, $mm->getMaterialWithTag('master')); $this->assertEquals(null, $mm->getMaterialWithTag('del_universo')); $this->assertEquals($m3, $mm->getMaterialWithAnyTag(array('master', 'pr'))); $this->assertEquals(array($m2), $mm->getMaterialsWithAllTags(array('master', 'mosca', 'old'))); $this->assertTrue(in_array($mm->getMaterialWithAllTags(array('mosca', 'master')), array($m3, $m2))); $this->assertEquals(null, $mm->getMaterialWithAllTags(array('mosca', 'master', 'del_universo'))); $this->assertEquals(4, count($mm->getMaterialsWithAnyTag(array('master', 'webtv')))); $this->assertEquals(1, count($mm->getMaterialWithAnyTag(array('master')))); $this->assertEquals(null, $mm->getMaterialWithAnyTag(array('del_universo'))); $this->assertEquals(5, count($mm->getFilteredMaterialsWithTags())); $this->assertEquals(3, count($mm->getFilteredMaterialsWithTags(array('master')))); $this->assertEquals(1, count($mm->getFilteredMaterialsWithTags(array('master'), array('mosca', 'old')))); $this->assertEquals(0, count($mm->getFilteredMaterialsWithTags(array(), array('mosca', 'old'), array('master')))); $this->assertEquals(3, count($mm->getFilteredMaterialsWithTags(array(), array(), array('flv')))); $this->assertEquals(0, count($mm->getFilteredMaterialsWithTags(array(), array(), array('flv', 'master')))); $this->assertEquals(5, count($mm->getFilteredMaterialsWithTags(array(), array(), array(), array('flv', 'master')))); $this->assertEquals(1, count($mm->getFilteredMaterialsWithTags(array('mosca', 'old'), array(), array(), array('old')))); }
public function testGetCaptions() { $mm = new MultimediaObject(); $this->dm->persist($mm); $this->dm->flush(); $captions = $this->materialService->getCaptions($mm)->toArray(); $this->assertEquals(0, count($captions)); $material1 = new Material(); $material2 = new Material(); $material3 = new Material(); $material4 = new Material(); $material5 = new Material(); $material1->setMimeType('pdf'); $material2->setMimeType('vtt'); $material3->setMimeType('vtt'); $material4->setMimeType('pdf'); $material5->setMimeType('vtt'); $mm->addMaterial($material1); $mm->addMaterial($material2); $mm->addMaterial($material3); $mm->addMaterial($material4); $mm->addMaterial($material5); $this->dm->persist($mm); $this->dm->flush(); $captions = $this->materialService->getCaptions($mm)->toArray(); $this->assertEquals(3, count($captions)); $this->assertFalse(in_array($material1, $captions)); $this->assertTrue(in_array($material2, $captions)); $this->assertTrue(in_array($material3, $captions)); $this->assertFalse(in_array($material4, $captions)); $this->assertTrue(in_array($material5, $captions)); }
/** * Save form data of Material * * @return Material $material */ private function saveFormData(Material $material, $formData) { if (array_key_exists('i18n_name', $formData)) { $material->setI18nName($formData['i18n_name']); } if (array_key_exists('hide', $formData)) { $material->setHide($formData['hide']); } if (array_key_exists('language', $formData)) { $material->setLanguage($formData['language']); } if (array_key_exists('mime_type', $formData)) { $material->setMimeType($formData['mime_type']); } return $material; }