Core  3.2
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
PU_test_dcp_attributedefault.php
Go to the documentation of this file.
1 <?php
2 /*
3  * @author Anakeen
4  * @package FDL
5 */
6 
7 namespace Dcp\Pu;
8 /**
9  * @author Anakeen
10  * @package Dcp\Pu
11  */
12 
13 require_once 'PU_testcase_dcp_commonfamily.php';
14 
16 {
17  /**
18  * import TST_DEFAULTFAMILY1 family
19  * @static
20  * @return string
21  */
22  protected static function getCommonImportFile()
23  {
24  return "PU_data_dcp_familydefault.ods";
25  }
26 
27  protected $famName = 'TST_DEFAULTFAMILY1';
28  /**
29  * @dataProvider dataDefaultValues
30  */
31  public function testDefaultValue($famid, $attrid, $expectedvalue)
32  {
33 
35  $this->assertTrue(is_object($d) , sprintf("cannot create %s document", $famid));
36 
37  $oa = $d->getAttribute($attrid);
38  $this->assertNotEmpty($oa, sprintf("attribute %s not found in %s family", $attrid, $famid));
39  $value = $d->getRawValue($oa->id);
40  $this->assertEquals($expectedvalue, $value, sprintf("not the expected default value attribute %s", $attrid));
41 
42  }
43  /**
44  * @dataProvider dataDefaultParamValues
45  */
46  public function testDefaultParamValue($famid, $attrid, $expectedvalue)
47  {
48 
49  $d = createDoc(self::$dbaccess, $famid, false, false);
50  $this->assertTrue(is_object($d) , sprintf("cannot create %s1 document", $famid));
51 
52  $oa = $d->getAttribute($attrid);
53  $this->assertNotEmpty($oa, sprintf("attribute %s not found in %s family", $attrid, $famid));
54  $value = $d->getFamilyParameterValue($oa->id);
55  $this->assertEquals($expectedvalue, $value, sprintf("not the expected default value attribute %s", $attrid));
56  }
57  /**
58  * @dataProvider dataDefaultInheritedValues
59  */
60  public function testDefaultInheritedValue($famid, array $expectedvalues, array $expectedParams)
61  {
63  $this->assertTrue(is_object($d) , sprintf("cannot create %s document", $famid));
64 
65  foreach ($expectedvalues as $attrid => $expectedValue) {
66  $oa = $d->getAttribute($attrid);
67  $this->assertNotEmpty($oa, sprintf("attribute %s not found in %s family", $attrid, $famid));
68  $value = $d->getRawValue($oa->id);
69 
70  $this->assertEquals($expectedValue, $value, sprintf("not the expected default value attribute %s", $attrid));
71  }
72  foreach ($expectedParams as $attrid => $expectedValue) {
73  $oa = $d->getAttribute($attrid);
74  $this->assertNotEmpty($oa, sprintf("parameter %s not found in %s family", $attrid, $famid));
75  $value = $d->getFamilyParameterValue($oa->id);
76  $this->assertEquals($expectedValue, $value, sprintf("not the expected default value parameter %s", $attrid));
77  }
78  }
79  /**
80  * @dataProvider dataDefaultInherited
81  */
82  public function testDefaultInherited($famid, array $expectedvalues, array $expectedParams)
83  {
84  /**
85  * @var \DocFam $d
86  */
88  $this->assertTrue(is_object($d) , sprintf("cannot get %s family", $famid));
89 
90  foreach ($expectedvalues as $attrid => $expectedValue) {
91 
92  $value = $d->getDefValue($attrid);
93  $this->assertEquals($expectedValue, $value, sprintf("not the expected default value attribute %s has %s", $attrid, $d->defval));
94  }
95  foreach ($expectedParams as $attrid => $expectedValue) {
96 
97  $value = $d->getParameterRawValue($attrid);
98  $this->assertEquals($expectedValue, $value, sprintf("not the expected default value parameter %s", $attrid));
99  }
100  }
101  /**
102  * @dataProvider dataDefaultInheritedWithDefaultArg
103  */
104  public function testFamilyParamvalueInheritedWithDefaultArg($famid, $default, array $expectedParams)
105  {
106  /**
107  * @var \DocFam $d
108  */
110  $this->assertTrue(is_object($d) , sprintf("cannot get %s family", $famid));
111 
112  foreach ($expectedParams as $attrid => $expectedValue) {
113 
114  $value = $d->getParameterRawValue($attrid, $default);
115  $this->assertEquals($expectedValue, $value, sprintf("not the expected default value parameter %s", $attrid));
116  }
117  }
118  /**
119  * @dataProvider dataDocParamvalueInheritedWithDefaultArg
120  */
121  public function testDocParamvalueInheritedWithDefaultArg($famid, $default, array $expectedParams)
122  {
123  $d = createDoc(self::$dbaccess, $famid, false, false);
124  $this->assertTrue(is_object($d) , sprintf("cannot create %s1 document", $famid));
125 
126  foreach ($expectedParams as $attrid => $expectedvalue) {
127  $value = $d->getFamilyParameterValue($attrid, $default);
128  $this->assertEquals($expectedvalue, $value, sprintf("not the expected default value attribute %s", $attrid));
129  }
130  }
131  /**
132  * @dataProvider dataWrongValue
133  */
134  public function testWrongValue($famid, $errorCode)
135  {
136  $err = '';
137  try {
139  $this->assertNotEmpty($err, sprintf(" no error returned, must have %s", $errorCode));
140  }
141  catch(\Dcp\Exception $e) {
142  $err = $e->getDcpCode();
143  $this->assertEquals($errorCode, $err, sprintf("not the good error code : %s", $e->getMessage()));
144  }
145  }
146  /**
147  * @dataProvider dataInitialParam
148  */
149  public function testInitialParam($famid, $attrid, $expectedValue, $expectedDefaultValue)
150  {
152  $value = $d->getFamilyParameterValue($attrid);
153  $f = $d->getFamilyDocument();
154  $this->assertEquals($expectedValue, $value, sprintf("parameter %s has not correct initial value, family has \"%s\"", $attrid, $f->param . $f->getParameterRawValue($attrid)));
155  $err = $f->setParam($attrid, '');
156  $this->assertEmpty($err, "parameter set error : $err");
157  $f->modify();
159  $f = $d2->getFamilyDocument();
160  $value = $d2->getFamilyParameterValue($attrid);
161  $this->assertEquals($expectedDefaultValue, $value, sprintf("parameter %s has not correct default value , family has \"%s\"", $attrid, $f->getParameterRawValue($attrid)));
162  }
163 
164  public function dataInitialParam()
165  {
166  return array(
167  array(
168  "TST_DEFAULTFAMILY2",
169  "TST_P4",
170  40,
171  ''
172  ) ,
173  array(
174  "TST_DEFAULTFAMILY2",
175  "TST_P5",
176  50,
177  34
178  ) ,
179  array(
180  "TST_DEFAULTFAMILY3",
181  "TST_P5",
182  51,
183  50
184  )
185  );
186  }
187 
189  {
190  return array(
191  array(
192  "TST_DEFAULTFAMILY2",
193  "34",
194  array(
195  'TST_P1' => 'PFirst',
196  "TST_P2" => "10",
197  "TST_P3" => "::oneMore(TST_P2)",
198  "TST_P4" => "40",
199  'TST_P6' => '20'
200  )
201  )
202  );
203  }
204 
206  {
207  return array(
208  array(
209  "TST_DEFAULTFAMILY2",
210  "341",
211  array(
212  "TST_P0" => "341",
213  'TST_P1' => 'PFirst',
214  "TST_P2" => "10",
215  "TST_P3" => "11",
216  "TST_P4" => "40",
217  'TST_P6' => '20',
218  'TST_P7' => '21'
219  )
220  ) ,
221  array(
222  "TST_DEFAULTFAMILY4",
223  "341",
224  array(
225  "TST_P0" => "341",
226  'TST_P1' => 'PThird',
227  "TST_P2" => "10",
228  "TST_P3" => "11",
229  "TST_P4" => "40",
230  'TST_P6' => '20',
231  'TST_P7' => '21'
232  )
233  )
234  );
235  }
236 
237  public function dataWrongValue()
238  {
239  return array(
240  array(
241  "TST_DEFAULTFAMILY7",
242  "DFLT0009"
243  ) ,
244  array(
245  "TST_DEFAULTFAMILY8",
246  "DFLT0009"
247  ) ,
248  array(
249  "TST_DEFAULTFAMILY9",
250  "DFLT0008"
251  )
252  );
253  }
254 
255  public function dataDefaultInherited()
256  {
257  return array(
258  array(
259  "TST_DEFAULTFAMILY2",
260  array(
261  "TST_TITLE" => "First",
262  "TST_NUMBER1" => "::isOne()",
263  "TST_NUMBER2" => "::oneMore(TST_NUMBER1)",
264  "TST_NUMBER3" => "::oneMore(2)"
265  ) ,
266  array(
267  'TST_P1' => 'PFirst',
268  "TST_P2" => "10",
269  "TST_P3" => "::oneMore(TST_P2)"
270  )
271  ) ,
272  array(
273  "TST_DEFAULTFAMILY3",
274  array(
275  "TST_TITLE" => "Second",
276  "TST_NUMBER1" => "::isOne()",
277  "TST_NUMBER2" => "::simpleAdd(12,TST_NUMBER1)",
278  "TST_NUMBER3" => "::oneMore(2)"
279  ) ,
280  array(
281  'TST_P1' => 'PSecond',
282  "TST_P2" => "10",
283  "TST_P3" => "::oneMore(TST_P2)"
284  )
285  ) ,
286  array(
287  "TST_DEFAULTFAMILY4",
288  array(
289  "TST_TITLE" => "Third",
290  "TST_NUMBER1" => "::isOne()",
291  "TST_NUMBER2" => "::oneMore(TST_NUMBER1)",
292  "TST_NUMBER3" => ""
293  ) ,
294  array(
295  'TST_P1' => 'PThird',
296  "TST_P2" => "10",
297  "TST_P3" => "::oneMore(TST_P2)"
298  )
299  )
300  );
301  }
302 
303  public function dataDefaultInheritedValues()
304  {
305  return array(
306  array(
307  "TST_DEFAULTFAMILY2",
308  array(
309  "TST_TITLE" => "First",
310  "TST_NUMBER1" => "1",
311  "TST_NUMBER2" => "2",
312  "TST_NUMBER3" => "3"
313  ) ,
314  array(
315  'TST_P1' => 'PFirst',
316  "TST_P2" => "10",
317  "TST_P3" => "11",
318  'TST_P6' => '20',
319  'TST_P7' => '21'
320  )
321  ) ,
322  array(
323  "TST_DEFAULTFAMILY3",
324  array(
325  "TST_TITLE" => 'Second',
326  "TST_NUMBER1" => "1",
327  "TST_NUMBER2" => "13",
328  "TST_NUMBER3" => "3"
329  ) ,
330  array(
331  "TST_P1" => 'PSecond',
332  "TST_P2" => "10",
333  "TST_P3" => "11",
334  'TST_P6' => '20',
335  'TST_P7' => '21'
336  )
337  ) ,
338  array(
339  "TST_DEFAULTFAMILY4",
340  array(
341  "TST_TITLE" => 'Third',
342  "TST_NUMBER1" => "1",
343  "TST_NUMBER2" => "2",
344  "TST_NUMBER3" => ""
345  ) ,
346  array(
347  "TST_P1" => 'PThird',
348  "TST_P2" => "10",
349  "TST_P3" => "11",
350  'TST_P6' => '20',
351  'TST_P7' => '21'
352  )
353  )
354  );
355  }
356 
357  public function dataDefaultValues()
358  {
359  return array(
360  array(
361  "TST_DEFAULTFAMILY1",
362  'TST_TITLE',
363  'The title'
364  ) ,
365  array(
366  "TST_DEFAULTFAMILY1",
367  'TST_NUMBER0',
368  '0'
369  ) ,
370  array(
371  "TST_DEFAULTFAMILY1",
372  'TST_NUMBER1',
373  '1'
374  ) ,
375  array(
376  "TST_DEFAULTFAMILY1",
377  'TST_NUMBER2',
378  '2'
379  ) ,
380  array(
381  "TST_DEFAULTFAMILY1",
382  'TST_NUMBER3',
383  '3'
384  ) ,
385  array(
386  "TST_DEFAULTFAMILY1",
387  'TST_NUMBER4',
388  '4'
389  ) ,
390  array(
391  "TST_DEFAULTFAMILY1",
392  'TST_NUMBER5',
393  '5'
394  ) ,
395  array(
396  "TST_DEFAULTFAMILY1",
397  'TST_NUMBER6',
398  '50'
399  ) ,
400 
401  array(
402  "TST_DEFAULTFAMILY1",
403  'TST_NUMBER7',
404  '53'
405  ) ,
406 
407  array(
408  "TST_DEFAULTFAMILY1",
409  'TST_NUMBER8',
410  '6'
411  ) ,
412  array(
413  "TST_DEFAULTFAMILY1",
414  'TST_NUMBER9',
415  '11'
416  ) ,
417  array(
418  "TST_DEFAULTFAMILY1",
419  'TST_TEXT1',
420  'TST_TITLE'
421  ) ,
422  array(
423  "TST_DEFAULTFAMILY1",
424  'TST_TEXT2',
425  'TST_TITLE'
426  ) ,
427  array(
428  "TST_DEFAULTFAMILY1",
429  'TST_TEXT3',
430  'TST_TITLE,TST_TITLE'
431  ) ,
432  array(
433  "TST_DEFAULTFAMILY1",
434  'TST_TEXT4',
435  'it is,simple word,testing'
436  ) ,
437  array(
438  "TST_DEFAULTFAMILY1",
439  'TST_TEXT5',
440  'it\'s,a "citation",and "second"'
441  ) ,
442  array(
443  "TST_DEFAULTFAMILY1",
444  'TST_TEXT6',
445  '[:TST_TITLE:]'
446  ) ,
447  array(
448  "TST_DEFAULTFAMILY1",
449  'TST_TEXT7',
450  "0"
451  ) ,
452  array(
453  "TST_DEFAULTFAMILY5",
454  'TST_TITLE',
455  "First"
456  ) ,
457  array(
458  "TST_DEFAULTFAMILY5",
459  'TST_NUMBER1',
460  "1"
461  ) ,
462  array(
463  "TST_DEFAULTFAMILY5",
464  'TST_TEXT1',
465  "cellule un"
466  ) ,
467  array(
468  "TST_DEFAULTFAMILY5",
469  'TST_NUMBER2',
470  ""
471  ) ,
472  array(
473  "TST_DEFAULTFAMILY5",
474  'TST_TEXT2',
475  ""
476  ) ,
477  array(
478  "TST_DEFAULTFAMILY6",
479  'TST_TEXT1',
480  "Un\nDeux"
481  ) ,
482  array(
483  "TST_DEFAULTFAMILY6",
484  'TST_TEXT2',
485  "First\nSecond"
486  ) ,
487  array(
488  "TST_DEFAULTFAMILY6",
489  'TST_NUMBER2',
490  "10\n20"
491  ) ,
492  array(
493  "TST_DEFAULTFAMILY6",
494  'TST_DOCM2',
495  "9<BR>11\n12<BR>13"
496  ) ,
497  array(
498  "TST_DEFAULTFAMILYNAMESPACE",
499  "TEXTE",
500  "one"
501  )
502  );
503  }
504 
505  public function dataDefaultParamValues()
506  {
507  return array(
508  array(
509  "TST_DEFAULTFAMILY1",
510  'TST_P1',
511  'test one'
512  ) ,
513  array(
514  "TST_DEFAULTFAMILY1",
515  'TST_P2',
516  '10'
517  ) ,
518  array(
519  "TST_DEFAULTFAMILY1",
520  'TST_P3',
521  '11'
522  ) ,
523  array(
524  "TST_DEFAULTFAMILY1",
525  'TST_P4',
526  '12'
527  ) ,
528  array(
529  "TST_DEFAULTFAMILY1",
530  'TST_P6',
531  "8\n9\n10"
532  ) ,
533  array(
534  "TST_DEFAULTFAMILY1",
535  'TST_P7',
536  "30\n32\n21"
537  ) ,
538  array(
539  "TST_DEFAULTFAMILY1",
540  'TST_P8',
541  "11\n12"
542  ) ,
543  array(
544  "TST_DEFAULTFAMILYNAMESPACE",
545  "P_TEXTE",
546  "one"
547  )
548  );
549  }
550 }
551 ?>
testDefaultParamValue($famid, $attrid, $expectedvalue)
testDocParamvalueInheritedWithDefaultArg($famid, $default, array $expectedParams)
testInitialParam($famid, $attrid, $expectedValue, $expectedDefaultValue)
$d
Definition: dav.php:77
$d2
Definition: dav.php:67
createDoc($dbaccess, $fromid, $control=true, $defaultvalues=true, $temporary=false)
new_Doc($dbaccess, $id= '', $latest=false)
testDefaultInheritedValue($famid, array $expectedvalues, array $expectedParams)
$dbaccess
Definition: checkVault.php:17
if($file) if($subject==""&&$file) if($subject=="") $err
$value
testDefaultValue($famid, $attrid, $expectedvalue)
← centre documentaire © anakeen