ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjectTest.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
5 {
6  protected $backupGlobals = FALSE;
7 
8  protected function setUp()
9  {
10  include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
11  ilUnitUtil::performInitialisation();
12  }
13 
14  public function testCreationDeletion()
15  {
16  $obj = new ilObject();
17  $obj->setType("xxx");
18  $obj->create();
19  $id = $obj->getId();
20 
21  $obj2 = new ilObject();
22  $obj2->setType("xxx");
23  $obj2->create();
24  $id2 = $obj2->getId();
25 
26  if ($id2 == ($id + 1))
27  {
28  $value.= "create1-";
29  }
30 
31  if (ilObject::_exists($id))
32  {
33  $value.= "create2-";
34  }
35 
36  $obj->delete();
37  $obj2->delete();
38 
39  if (!ilObject::_exists($id))
40  {
41  $value.= "create3-";
42  }
43 
44 
45  $this->assertEquals("create1-create2-create3-", $value);
46  }
47 
48  public function testSetGetLookup()
49  {
50  global $ilUser;
51 
52  $obj = new ilObject();
53  $obj->setType(""); // otherwise type check will fail
54  $obj->setTitle("TestObject");
55  $obj->setDescription("TestDescription");
56  $obj->setImportId("imp_44");
57  $obj->create();
58  $obj->createReference();
59  $id = $obj->getId();
60  $ref_id = $obj->getRefId();
61  $obj = new ilObject($id, false);
62 
63  if ($obj->getType() == "")
64  {
65  $value.= "sg1-";
66  }
67  if ($obj->getTitle() == "TestObject")
68  {
69  $value.= "sg2-";
70  }
71  if ($obj->getDescription() == "TestDescription")
72  {
73  $value.= "sg3-";
74  }
75  if ($obj->getImportId() == "imp_44")
76  {
77  $value.= "sg4-";
78  }
79  if ($obj->getOwner() == $ilUser->getId())
80  {
81  $value.= "sg5-";
82  }
83 
84  $obj = new ilObject($ref_id);
85  if ($obj->getTitle() == "TestObject")
86  {
87  $value.= "sg6-";
88  }
89 
90  if ($obj->getCreateDate() == ($lu = $obj->getLastUpdateDate()))
91  {
92  $value.= "sg7-";
93  }
94  $obj->setTitle("TestObject2");
95  sleep(2); // we want a different date here...
96  $obj->update();
97 
98  $obj = new ilObject($ref_id);
99  if ($lu != ($lu2 = $obj->getLastUpdateDate()))
100  {
101  $value.= "up1-";
102  }
103  if ($obj->getTitle() == "TestObject2")
104  {
105  $value.= "up2-";
106  }
107 
108  if ($id == ilObject::_lookupObjIdByImportId("imp_44"))
109  {
110  $value.= "lu1-";
111  }
112 
113  if ($ilUser->getFullname() == ilObject::_lookupOwnerName(ilObject::_lookupOwner($id)))
114  {
115  $value.= "lu2-";
116  }
117 
118  if (ilObject::_lookupTitle($id) == "TestObject2")
119  {
120  $value.= "lu3-";
121  }
122  if (ilObject::_lookupDescription($id) == "TestDescription")
123  {
124  $value.= "lu4-";
125  }
126  if (ilObject::_lookupLastUpdate($id) == $lu2)
127  {
128  $value.= "lu5-";
129  }
130  if (ilObject::_lookupObjId($ref_id) == $id)
131  {
132  $value.= "lu6-";
133  }
134  if (ilObject::_lookupType($id) == "")
135  {
136  $value.= "lu7-";
137  }
139  {
140  $value.= "lu8-";
141  }
142  $ar = ilObject::_getAllReferences($id);
143  if (is_array($ar) && count($ar) == 1 && $ar[$ref_id] == $ref_id)
144  {
145  $value.= "lu9-";
146  }
147 
148  $ids = ilObject::_getIdsForTitle("TestObject2");
149  foreach ($ids as $i)
150  {
151  if ($i == $id)
152  {
153  $value.= "lu10-";
154  }
155  }
156 
157  $obs = ilObject::_getObjectsByType("usr");
158  foreach ($obs as $ob)
159  {
160  if ($ob["obj_id"] == $ilUser->getId())
161  {
162  $value.= "lu11-";
163  }
164  }
165 
171  if ($d1 != $d2 && $d1 == $d3 && $d3 == null)
172  {
173  $value.= "dd1-";
174  }
175 
176  $obj->delete();
177 
178  $this->assertEquals("sg1-sg2-sg3-sg4-sg5-sg6-sg7-up1-up2-".
179  "lu1-lu2-lu3-lu4-lu5-lu6-lu7-lu8-lu9-lu10-lu11-dd1-", $value);
180  }
181 
182  public function testTreeTrash()
183  {
184  global $tree;
185 
186  $obj = new ilObject();
187  $obj->setType("xxx");
188  $obj->setTitle("TestObject");
189  $obj->setDescription("TestDescription");
190  $obj->setImportId("imp_44");
191  $obj->create();
192  $obj->createReference();
193  $id = $obj->getId();
194  $ref_id = $obj->getRefId();
195  $obj = new ilObject($ref_id);
196 
197  $obj->putInTree(ROOT_FOLDER_ID);
198  $obj->createRoleFolder();
199  $obj->setPermissions(ROOT_FOLDER_ID);
200  if ($tree->isInTree($ref_id))
201  {
202  $value.= "tree1-";
203  }
205  {
206  $value.= "tree2-";
207  }
208 
209  // isSaved() uses internal cache!
210  $tree->useCache(false);
211 
212  $tree->saveSubTree($ref_id, true);
213  if ($tree->isDeleted($ref_id))
214  {
215  $value.= "tree3-";
216  }
217  if ($tree->isSaved($ref_id))
218  {
219  $value.= "tree4-";
220  }
222  {
223  $value.= "tree5-";
224  }
226  {
227  $value.= "tree6-";
228  }
229 
230  $saved_tree = new ilTree(-(int)$ref_id);
231  $node_data = $saved_tree->getNodeData($ref_id);
232  $saved_tree->deleteTree($node_data);
233 
234  if (!ilObject::_isInTrash($ref_id))
235  {
236  $value.= "tree7-";
237  }
238 
239  $obs = ilUtil::_getObjectsByOperations("cat","read");
240  foreach ($obs as $ob)
241  {
243  {
244  $value.= "nocat-";
245  }
246  }
247 
248  $obj->delete();
249 
250  $this->assertEquals("tree1-tree2-tree3-tree4-tree5-tree6-tree7-", $value);
251 
252  }
253 
257  public function testObjectReference()
258  {
259  include_once './Services/Object/classes/class.ilObject.php';
260 
261  $ref_ids = ilObject::_getAllReferences(1);
262  $bool = ilObject::_setDeletedDate(1);
263  $bool = ilObject::_resetDeletedDate(1);
264  $date = ilObject::_lookupDeletedDate(1);
265 
266  $this->assertEquals($date, null);
267 
268 
269  }
270 }
271 ?>