コード例 #1
0
 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());
 }
コード例 #2
0
 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;
 }