public function testResourceManager() { $itemClass = taoItems_models_classes_ItemsService::singleton()->getRootClass(); $report = ImportService::singleton()->importQTIPACKFile(dirname(__FILE__) . '/samples/package/QTI/package.zip', $itemClass); $items = array(); foreach ($report as $itemReport) { $data = $itemReport->getData(); if (!is_null($data)) { $items[] = $data; } } $this->assertEquals(1, count($items)); $item = current($items); $this->assertIsA($item, 'core_kernel_classes_Resource'); $this->assertTrue($item->exists()); $rm = new LocalItemSource(array('item' => $item, 'lang' => DEFAULT_LANG)); $data = $rm->getDirectory(); $this->assertTrue(is_array($data)); $this->assertTrue(isset($data['path'])); $this->assertEquals('/', $data['path']); $this->assertTrue(isset($data['children'])); $children = $data['children']; $this->assertEquals(2, count($children)); $file = null; $dir = null; foreach ($children as $child) { if (isset($child['path'])) { $dir = $child; } if (isset($child['name'])) { $file = $child; } } $this->assertEquals("qti.xml", $file['name']); $this->assertTrue(strpos($file['mime'], '/xml') !== false); //can be 'application/xml' or 'text/xml' $this->assertTrue($file['size'] > 0); $this->assertEquals("/images/", $dir['path']); taoItems_models_classes_ItemsService::singleton()->deleteItem($item); $this->assertFalse($item->exists()); }
public function testImport() { $itemClass = $this->itemService->getRootClass(); $report = $this->importService->importQTIPACKFile($this->getSamplePath('/package/QTI/package.zip'), $itemClass); $items = array(); foreach ($report as $itemReport) { $data = $itemReport->getData(); if (!is_null($data)) { $items[] = $data; } } $this->assertEquals(1, count($items)); $item = current($items); $this->assertInstanceOf('\\core_kernel_classes_Resource', $item); $this->assertTrue($item->exists()); $resourceManager = new LocalItemSource(array('item' => $item, 'lang' => DEFAULT_LANG)); $data = $resourceManager->getDirectory(); $this->assertTrue(is_array($data)); $this->assertTrue(isset($data['path'])); $this->assertEquals('/', $data['path']); $this->assertTrue(isset($data['children'])); $children = $data['children']; $this->assertEquals(2, count($children)); $file = null; $dir = null; foreach ($children as $child) { if (isset($child['path'])) { $dir = $child; } if (isset($child['name'])) { $file = $child; } } $this->assertEquals("qti.xml", $file['name']); $this->assertContains("/xml", $file['mime']); $this->assertTrue($file['size'] > 0); $this->assertEquals("/images/", $dir['path']); $this->assertEquals("/images/", $dir['parent']); return $item; }