Core  3.2
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
PU_test_dcp_attributevalue.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  public $famName = "TST_FAMSETVALUE";
18  /**
19  * import TST_FAMSETVALUE family
20  * @static
21  * @return string
22  */
23  protected static function getCommonImportFile()
24  {
25  return "PU_data_dcp_setvaluefamily.ods";
26  }
27  /**
28  * @dataProvider goodValues
29  */
30  public function testGoodSetValue($attrid, $value, $converted = false)
31  {
32  $this->requiresCoreParamEquals('CORE_LANG', 'fr_FR');
33  $d = createDoc(self::$dbaccess, $this->famName);
34  $this->assertTrue(is_object($d) , "cannot create TST_FAMSETVALUE document");
35 
36  $err = $d->setValue($attrid, $value);
37  $this->assertEmpty($err, sprintf("setvalue error : %s", $err));
38  if ($converted === false) $converted = $value;
39 
40  $this->assertEquals($converted, $d->getRawValue($attrid) , "setvalue / getvalue $attrid : not the same");
41  $err = $d->store();
42  $this->assertEmpty($err, sprintf("store error : %s", $err));
43  return $d;
44  }
45  /**
46  * @dataProvider wrongValues
47  */
48  public function testWrongSetValue($attrid, $value)
49  {
50  $d = createDoc(self::$dbaccess, $this->famName);
51  $this->assertTrue(is_object($d) , "cannot create TST_FAMSETVALUE document");
52 
53  $err = $d->setValue($attrid, $value);
54  $this->assertNotEmpty($err, sprintf("setvalue error : %s", $err));
55  $this->assertEmpty($d->getRawValue($attrid));
56 
57  return $d;
58  }
59  /**
60  * @dataProvider dataArraySetValue
61  */
62  public function testArraySetValue(array $values, $expectedCount, array $secondValues = array() , $secondCount = 0)
63  {
64  $d = createDoc(self::$dbaccess, $this->famName);
65  $this->assertTrue(is_object($d) , "cannot create TST_FAMSETVALUE document");
66  $err = '';
67  foreach ($values as $aid => $value) {
68  $err.= $d->setValue($aid, $value);
69  }
70  $this->assertEmpty($err, sprintf("setvalue error : %s", $err));
71 
72  foreach ($values as $aid => $value) {
73  $this->assertEquals($expectedCount, count($d->getMultipleRawValues($aid)) , sprintf("count for %s incorrect %d <> %d", $aid, $expectedCount, count($d->getMultipleRawValues($aid))));
74  }
75 
76  if ($secondValues) {
77  foreach ($secondValues as $aid => $value) {
78  $err.= $d->setValue($aid, $value);
79  }
80  $this->assertEmpty($err, sprintf("setvalue error : %s", $err));
81 
82  foreach ($secondValues as $aid => $value) {
83  $oa = $d->getAttribute($aid);
84  $this->assertEquals($secondCount, count($d->getMultipleRawValues($aid)) , sprintf("second count for %s incorrect %d <> %d : %s", $aid, $secondCount, count($d->getMultipleRawValues($aid)) , print_r($d->getArrayRawValues($oa->fieldSet->id) , true)));
85  }
86  }
87  return $d;
88  }
89  /**
90  * @dataProvider dataOldValue
91  */
92  public function testOldValue(array $before, array $after, array $notchanged)
93  {
94  $this->requiresCoreParamEquals('CORE_LANG', 'fr_FR');
95  $d = createDoc(self::$dbaccess, $this->famName);
96  $this->assertTrue(is_object($d) , "cannot create TST_FAMSETVALUE document");
97  $err = '';
98  foreach ($before as $aid => $value) {
99  $err.= $d->setValue($aid, $value);
100  }
101  $d->store();
102  self::resetDocumentCache();
103  // new instance
104  $d = new_doc(self::$dbaccess, $d->id);
105  $this->assertEmpty($err, sprintf("before setvalue error : %s", $err));
106  foreach ($after as $aid => $value) {
107  $err.= $d->setValue($aid, $value);
108  }
109  $this->assertEmpty($err, sprintf("after setvalue error : %s", $err));
110 
111  foreach ($notchanged as $aid => $value) {
112  $this->assertEquals($value, $d->getOldRawValue($aid) , "wrong old value $aid" . print_r($d->getValues() , true));
113  }
114  }
115  /**
116  * @dataProvider dataAttributeOldValue
117  */
118  public function testOldAttributeValue(array $before, array $after, array $notchanged)
119  {
120  $this->requiresCoreParamEquals('CORE_LANG', 'fr_FR');
121  $d = createDoc(self::$dbaccess, $this->famName);
122  $this->assertTrue(is_object($d) , "cannot create TST_FAMSETVALUE document");
123  $err = '';
124  foreach ($before as $aid => $value) {
125  $d->setAttributeValue($aid, $value);
126  }
127  $d->store();
128  self::resetDocumentCache();
129  // new instance
130  $d = new_doc(self::$dbaccess, $d->id);
131  foreach ($after as $aid => $value) {
132  $d->setAttributeValue($aid, $value);
133  }
134 
135  foreach ($notchanged as $aid => $value) {
136  $this->assertEquals($value, $d->getOldRawValue($aid) , "wrong old attribute value $aid" . print_r(array(
137  "values" => $d->getValues() ,
138  "old" => $d->getOldRawValues()
139  ) , true));
140  }
141  }
142  public static function dataAttributeOldValue()
143  {
144  return array_merge(self::dataOldValue() , array(
145  array(
146  "before" => array(
147  "tst_title" => "T1",
148  "tst_int" => 2,
149  "tst_array" => array(
150  array(
151  "tst_coltext" => "Un",
152  "tst_colint" => 1,
153  "tst_coldate" => "2014-05-07"
154  ) ,
155  ) ,
156  ) ,
157  "after" => array(
158  "tst_title" => "T1",
159  "tst_int" => 3,
160  "tst_array" => array(
161  array(
162  "tst_coltext" => "Deux",
163  "tst_colint" => 2,
164  "tst_coldate" => "2014-05-08"
165  )
166  ) ,
167  ) ,
168  "cnanged" => array(
169  "tst_title" => null,
170  "tst_int" => 2,
171  "tst_coltext" => "Un",
172  "tst_colint" => 1,
173  "tst_coldate" => "2014-05-07",
174  )
175  ) ,
176  array(
177  "before" => array(
178  "tst_title" => "T1",
179  "tst_int" => 2,
180  "tst_array" => array(
181  array(
182  "tst_coltext" => "Un",
183  "tst_colint" => 1,
184  "tst_coldate" => "2014-05-07"
185  ) ,
186  ) ,
187  ) ,
188  "after" => array(
189  "tst_title" => "T1",
190  "tst_int" => 3,
191  "tst_array" => array(
192  array(
193  "tst_coltext" => "Deux",
194  "tst_colint" => 1,
195  "tst_coldate" => "2014-05-07"
196  )
197  ) ,
198  ) ,
199  "cnanged" => array(
200  "tst_title" => null,
201  "tst_int" => 2,
202  "tst_coltext" => "Un",
203  "tst_colint" => null,
204  "tst_coldate" => null,
205  )
206  ) ,
207  array(
208  "before" => array(
209  "tst_title" => "T1",
210  "tst_int" => 2,
211  "tst_array" => array(
212  array(
213  "tst_coltext" => "Un",
214  "tst_colint" => 1,
215  "tst_coldate" => "2014-05-07"
216  ) ,
217  array(
218  "tst_coltext" => "Deux",
219  "tst_colint" => 2,
220  "tst_coldate" => "2014-05-08"
221  )
222  ) ,
223  ) ,
224  "after" => array(
225  "tst_title" => "T1",
226  "tst_int" => 3,
227  "tst_array" => array(
228  array(
229  "tst_coltext" => "Trois",
230  "tst_colint" => 2,
231  "tst_coldate" => "2014-05-08"
232  ) ,
233  ) ,
234  ) ,
235  "cnanged" => array(
236  "tst_title" => null,
237  "tst_int" => 2,
238  "tst_coltext" => "Un\nDeux",
239  "tst_colint" => "1\n2",
240  "tst_coldate" => "2014-05-07\n2014-05-08",
241  )
242  ) ,
243  array(
244  "before" => array(
245  "tst_title" => "T1",
246  "tst_int" => 31,
247  "tst_file" => "text/css|123|toto.css"
248  ) ,
249  "after" => array(
250  "tst_title" => "T2",
251  "tst_int" => 32,
252  "tst_file" => "text/css|234|titi.css"
253  ) ,
254  "cnanged" => array(
255  "tst_title" => "T1",
256  "tst_int" => 31,
257  "tst_file" => "text/css|123|toto.css"
258  )
259  ) ,
260  array(
261  "before" => array(
262  "tst_title" => "T1",
263  "tst_int" => 31,
264  "tst_array" => array(
265  array(
266  "tst_coltext" => "Un",
267  "tst_colint" => 1,
268  "tst_coldate" => "2014-05-07",
269  "tst_files" => "text/css|123|un.css"
270  ) ,
271  array(
272  "tst_coltext" => "Deux",
273  "tst_colint" => 2,
274  "tst_coldate" => "2014-05-08",
275  "tst_files" => "text/css|234|deux.css"
276  )
277  ) ,
278  ) ,
279  "after" => array(
280  "tst_title" => "T2",
281  "tst_int" => 3,
282  "tst_array" => array(
283  array(
284  "tst_coltext" => "Un",
285  "tst_colint" => 1,
286  "tst_coldate" => "2014-05-07",
287  "tst_files" => "text/css|123|un.css"
288  ) ,
289  array(
290  "tst_coltext" => "Deux",
291  "tst_colint" => 2,
292  "tst_coldate" => "2014-05-08",
293  "tst_files" => "text/css|234|deux.css"
294  ) ,
295  array(
296  "tst_coltext" => "Trois",
297  "tst_colint" => 3,
298  "tst_coldate" => "2014-05-08",
299  "tst_files" => "text/css|345|trois.css"
300  ) ,
301  ) ,
302  ) ,
303  "cnanged" => array(
304  "tst_title" => "T1",
305  "tst_int" => 31,
306  "tst_coltext" => "Un\nDeux",
307  "tst_colint" => "1\n2",
308  "tst_coldate" => "2014-05-07\n2014-05-08",
309  "tst_files" => "text/css|123|un.css\ntext/css|234|deux.css"
310  )
311  )
312  ));
313  }
314  public static function dataOldValue()
315  {
316  return array(
317 
318  array(
319  "before" => array(
320  "tst_title" => "T3",
321  "tst_int" => 2,
322  "tst_date" => '2012-01-30',
323  "tst_docids" => array() ,
324  "tst_coltext" => array() ,
325  "tst_coldate" => array() ,
326  "tst_colint" => array()
327  ) ,
328  "after" => array(
329  "tst_title" => "T2",
330  "tst_int" => 2,
331  "tst_date" => '2012-01-30',
332  "tst_docids" => array() ,
333  "tst_coltext" => array() ,
334  "tst_coldate" => array()
335  ) ,
336  "cnanged" => array(
337  "tst_title" => "T3",
338  "tst_int" => null,
339  "tst_date" => null,
340  "tst_docids" => null,
341  "tst_coltext" => null,
342  "tst_coldate" => null,
343  "tst_colint" => null,
344  )
345  ) ,
346  array(
347  "before" => array(
348  "tst_title" => "T1",
349  "tst_int" => 2,
350  "tst_date" => '2012-01-30',
351  "tst_docids" => array(
352  11,
353  9
354  ) ,
355  "tst_coltext" => array(
356  "Un",
357  "Deux"
358  ) ,
359  "tst_coldate" => array(
360  "2012-02-20",
361  "2012-03-26"
362  ) ,
363  "tst_colint" => array(
364  0,
365  1
366  )
367  ) ,
368  "after" => array(
369  "tst_title" => "T1",
370  "tst_int" => 2,
371  "tst_date" => '30/01/2012',
372  "tst_docids" => array(
373  11,
374  9
375  ) ,
376  "tst_coltext" => array(
377  "Un",
378  "Deux"
379  )
380  ) ,
381  "cnanged" => array(
382  "tst_title" => null,
383  "tst_int" => null,
384  "tst_date" => null,
385  "tst_docids" => null,
386  "tst_coltext" => null,
387  "tst_coldate" => null,
388  "tst_colint" => null,
389  )
390  ) ,
391  array(
392  "before" => array(
393  "tst_title" => "T1",
394  "tst_int" => 2,
395  "tst_date" => '2012-01-30',
396  "tst_docids" => array(
397  11,
398  9
399  ) ,
400  "tst_coltext" => array(
401  "Un",
402  "Deux"
403  ) ,
404  "tst_coldate" => array(
405  "2012-02-20",
406  "2012-03-26"
407  ) ,
408  "tst_colint" => array(
409  0,
410  1
411  )
412  ) ,
413  "after" => array(
414  "tst_title" => "T1",
415  "tst_int" => 3,
416  "tst_date" => '31/01/2012',
417  "tst_docids" => array(
418  11,
419  9
420  ) ,
421  "tst_coltext" => array(
422  "Un",
423  "Deux",
424  "Trois"
425  )
426  ) ,
427  "cnanged" => array(
428  "tst_title" => null,
429  "tst_int" => 2,
430  "tst_date" => '2012-01-30',
431  "tst_docids" => null,
432  "tst_coltext" => "Un\nDeux",
433  "tst_coldate" => null,
434  "tst_colint" => null,
435  )
436  )
437  );
438  }
439  public function dataArraySetValue()
440  {
441  return array(
442  array(
443  array(
444  "tst_coltext" => array(
445  "Un",
446  "Deux",
447  "Trois"
448  ) ,
449  "tst_colint" => array(
450  1,
451  2,
452  3
453  ) ,
454  "tst_coldate" => array(
455  "2012-06-20",
456  "2012-06-21",
457  "2012-06-22"
458  )
459  ) ,
460  3
461  ) ,
462  array(
463  array(
464  "tst_coltext" => array(
465  "Un",
466  "Deux"
467  ) ,
468  "tst_colint" => array(
469  1
470  ) ,
471  "tst_coldate" => array(
472  "2012-06-20",
473  "2012-06-20"
474  )
475  ) ,
476  2
477  ) ,
478  array(
479  array(
480  "tst_coltext" => array(
481  "Un",
482  "Deux"
483  ) ,
484  "tst_colint" => array() ,
485  "tst_coldate" => array(
486  "2012-06-20",
487  "2012-06-20"
488  )
489  ) ,
490  2
491  ) ,
492 
493  array(
494  array(
495  "tst_coltext" => array() ,
496  "tst_colint" => array() ,
497  "tst_coldate" => array(
498  "2012-06-20",
499  "2012-06-20"
500  )
501  ) ,
502  2
503  ) ,
504  array(
505  array(
506  "tst_coltext" => array(
507  "Un",
508  "Deux"
509  ) ,
510  "tst_colint" => array() ,
511  "tst_coldate" => array(
512  "2012-06-20",
513  "2012-06-20"
514  )
515  ) ,
516  2,
517  array(
518  "tst_coltext" => array(
519  "Un"
520  ) ,
521  "tst_colint" => array() ,
522  "tst_coldate" => array(
523  "2012-06-20"
524  )
525  ) ,
526  1
527  ) ,
528  array(
529  array(
530  "tst_coltext" => array(
531  "Un",
532  "Deux",
533  "Trois"
534  ) ,
535  "tst_colint" => array(
536  1,
537  2,
538  3
539  ) ,
540  "tst_coldate" => array(
541  "2012-06-20",
542  "2012-06-21",
543  "2012-06-22"
544  )
545  ) ,
546  3,
547  array(
548  "tst_coltext" => array(
549  "Un",
550  "Deux"
551  ) ,
552  "tst_colint" => array(
553  1,
554  2
555  ) ,
556  "tst_coldate" => array(
557  "2012-06-20",
558  "2012-06-21"
559  )
560  ) ,
561  2
562  ) ,
563  array(
564  array(
565  "tst_coltext" => array(
566  "Un",
567  "Deux",
568  "Trois"
569  ) ,
570  "tst_colint" => array(
571  1,
572  2,
573  3
574  ) ,
575  "tst_coldate" => array(
576  "2012-06-20",
577  "2012-06-21",
578  "2012-06-22"
579  )
580  ) ,
581  3,
582  array(
583  "tst_coltext" => array(
584  "Un"
585  ) ,
586  "tst_colint" => array(
587  1
588  ) ,
589  "tst_coldate" => array(
590  "2012-06-20"
591  )
592  ) ,
593  1
594  ) ,
595  array(
596  array(
597  "tst_coltext" => array(
598  "Un",
599  "Deux",
600  "Trois"
601  ) ,
602  "tst_colint" => array(
603  1,
604  2,
605  3
606  ) ,
607  "tst_coldate" => array(
608  "2012-06-20",
609  "2012-06-21",
610  "2012-06-22"
611  )
612  ) ,
613  3,
614  array(
615  "tst_coltext" => array() ,
616  "tst_colint" => array() ,
617  "tst_coldate" => array()
618  ) ,
619  0
620  ) ,
621  array(
622  array(
623  "tst_col1" => array(
624  "Un",
625  "Deux",
626  "Trois"
627  ) ,
628  "tst_col2" => "",
629  "tst_col3" => array(
630  "2012-06-20",
631  "2012-06-21",
632  "2012-06-22"
633  )
634  ) ,
635  3,
636  array(
637  "tst_col1" => array(
638  "Un",
639  "Deux"
640  ) ,
641  "tst_col3" => array(
642  "2012-06-20"
643  )
644  ) ,
645  2
646  )
647  );
648  }
649 
650  public function goodValues()
651  {
652  return array(
653  array(
654  'TST_INT',
655  3
656  ) ,
657  array(
658  'TST_INT', -698
659  ) ,
660  array(
661  'TST_TITLE',
662  'hello world'
663  ) ,
664  array(
665  'TST_DATE',
666  '20/11/2011',
667  '2011-11-20'
668  ) ,
669  array(
670  'TST_DATE',
671  '2011-11-21',
672  '2011-11-21'
673  ) ,
674  array(
675  'TST_DOUBLE',
676  '3.34'
677  ) ,
678  array(
679  'TST_DOUBLE',
680  '3,34',
681  '3.34'
682  ) ,
683  array(
684  'TST_TIME',
685  '12:34'
686  ) ,
687  array(
688  'TST_TIMESTAMP',
689  '2011-11-21 12:34',
690  '2011-11-21 12:34'
691  ) ,
692  array(
693  'TST_TIMESTAMP',
694  '2011-11-21T12:34',
695  '2011-11-21T12:34'
696  ) ,
697  array(
698  'TST_HTML',
699  '<p>Hello</p>'
700  ) ,
701  array(
702  'TST_HTML',
703  '<p>&ecirc;tre &amp; Co <i>12 &euro;</i></p>',
704  '<p>être &amp; Co <i>12 €</i></p>'
705  ) ,
706  array(
707  'TST_HTML',
708  '<p>L\'avenir est "ici"</p>'
709  ) ,
710  array(
711  'TST_HTML',
712  '<p>L&apos;avenir est &quot;ici&quot;</p>',
713  '<p>L&apos;avenir est "ici"</p>'
714  ) ,
715  array(
716  'TST_HTMLCLEAN',
717  '<p>L&apos;avenir est &quot;ici&quot;</p>',
718  '<p>L\'avenir est "ici"</p>'
719  ) ,
720  array(
721  'TST_HTML',
722  '<p>L&#39;avenir est &quot;ici&quot;</p>',
723  '<p>L\'avenir est "ici"</p>'
724  ) ,
725  array(
726  'TST_HTMLCLEAN',
727  '<p>L&#39;avenir est &quot;ici&quot;</p>',
728  '<p>L\'avenir est "ici"</p>'
729  ) ,
730  array(
731  'TST_HTML',
732  '<style>p.zou:{color:red;}</style><p class="zou">C\'est rouge</p>',
733  '<style>p.zou:{color:red;}</style><p class="zou">C\'est rouge</p>'
734  ) ,
735  array(
736  'TST_HTML',
737  '<p onload="alert(1)">Hou la là</p>',
738  '<p >Hou la là</p>'
739  ) ,
740  array(
741  'TST_HTMLCLEAN',
742  '<p onload="alert(1)">Hou la là</p>',
743  '<p>Hou la là</p>'
744  ) ,
745  array(
746  'TST_HTML',
747  '<p onload=\'alert(1)\'>Hou la là quote</p>',
748  '<p >Hou la là quote</p>'
749  ) ,
750  array(
751  'TST_HTMLCLEAN',
752  '<p onload=\'alert(1)\'>Hou la là quote</p>',
753  '<p>Hou la là quote</p>'
754  ) ,
755  array(
756  'TST_HTML',
757  '<p onload = "alert(1)">Hou la là espaces</p>',
758  '<p >Hou la là espaces</p>'
759  ) ,
760  array(
761  'TST_HTMLCLEAN',
762  '<p onload = "alert(1)">Hou la là espaces</p>',
763  '<p>Hou la là espaces</p>'
764  ) ,
765  array(
766  'TST_HTML',
767  "<p onload\n=\n\t 'alert(1)' style='color:blue'>Hou la là espaces compliqués</p>",
768  "<p style='color:blue'>Hou la là espaces compliqués</p>"
769  ) ,
770  array(
771  'TST_HTMLCLEAN',
772  "<p onload\n=\n\t 'alert(1)' style='color:blue'>Hou la là espaces compliqués</p>",
773  "<p>Hou la là espaces compliqués</p>"
774  ) ,
775  array(
776  'TST_HTML',
777  '<p onload=\'alert(1)\'>Hou la là</p>',
778  '<p >Hou la là</p>'
779  ) ,
780  array(
781  'TST_HTMLCLEAN',
782  '<p onload=\'alert(1)\'>Hou la là</p>',
783  '<p>Hou la là</p>'
784  ) ,
785  array(
786  'TST_HTML',
787  '<script>alert("oh");</script><p data-oh="2" onclick="alert(1)" data-yo="1">Hou la là</p>',
788  'alert("oh");<p data-oh="2" data-yo="1">Hou la là</p>'
789  ) ,
790  array(
791  'TST_HTMLCLEAN',
792  '<script>alert("oh");</script><p data-oh="2" onclick="alert(1)" data-yo="1">Hou la là</p>',
793  'alert("oh");<p data-oh="2" data-yo="1">Hou la là</p>'
794  ) ,
795  array(
796  'TST_HTML',
797  '<a href="javascript:alert(1)">Hou la là</a>',
798  '<a href="nojavascript...alert(1)">Hou la là</a>'
799  ) ,
800  array(
801  'TST_HTML',
802  '<a href="vbscript:alert(1)">Hou la là</a>',
803  '<a href="novbscript...alert(1)">Hou la là</a>'
804  ) ,
805  array(
806  'TST_HTML',
807  '<xml:a href="#Yo">Pas de domaine</xml:a>',
808  'Pas de domaine'
809  ) ,
810  array(
811  'TST_HTML',
812  '<a href="#Yo">Yo</a>'
813  ) ,
814  array(
815  'TST_HTML',
816  '<p data-onload="alert(1)">&Ccedil;&agrave; et l&agrave;</p>',
817  '<p data-onload="alert(1)">Çà et là</p>'
818  ) ,
819  array(
820  'TST_HTML',
821  '<div class="special"><span width="30px">Hello</span></div>'
822  ) ,
823  array(
824  'TST_HTMLCLEAN',
825  '<div class="special"><span width="30px">Hello</span></div>',
826  '<div>Hello</div>'
827  ) ,
828  array(
829  'TST_HTMLCLEAN',
830  '<div><font color="#007755">Hello</font></div>',
831  '<div>Hello</div>'
832  ) ,
833  array(
834  'TST_HTML',
835  '<div>A<iframe style="color:red" onload="alert(1)" src="about:blank"/>Z</div>',
836  '<div>A<iframe style="color:red" src="about:blank"/>Z</div>'
837  ) ,
838  array(
839  'TST_HTMLCLEAN',
840  '<div>A<iframe style="color:red" onload="alert(1)" src="about:blank"/>Z</div>',
841  '<div>A<iframe src="about:blank"></iframe>Z</div>'
842  ) ,
843  array(
844  'TST_HTML',
845  '<div>A<iframe style="color:red" onload="alert(1)" src="about:blank"/>Z</div>',
846  '<div>A<iframe style="color:red" src="about:blank"/>Z</div>'
847  ) ,
848  array(
849  'TST_HTMLCLEAN',
850  '<div>A<iframe style="color:red" onload="alert(1)" src="about:blank"/>Z</div>',
851  '<div>A<iframe src="about:blank"></iframe>Z</div>'
852  ) ,
853  array(
854  'TST_HTMLCLEAN',
855  '<style>p.zou:{color:red;}</style><p class="zou">C\'est rouge</p>',
856  '<p>C\'est rouge</p>'
857  ) ,
858  array(
859  'TST_HTMLCLEAN',
860  '<style>p.zou:{color:red;}</style><p class=\'zou\'>C\'est rouge</p>',
861  '<p>C\'est rouge</p>'
862  ) ,
863  array(
864  'TST_HTML',
865  '<p>Hello <em>world',
866  '<p>Hello <em>world'
867  ) ,
868  array(
869  'TST_HTMLCLEAN',
870  '<p>Hello <em>world',
871  '<p>Hello <em>world</em></p>'
872  ) ,
873  array(
874  'TST_HTMLCLEAN',
875  '<video src="foo.ogg"><track kind="subtitles" src="foo.en.vtt" srclang="en" label="English"></track><track kind="subtitles" src="foo.sv.vtt" srclang="sv" label="Svenska"></track></video>',
876  '<video src="foo.ogg"><track kind="subtitles" src="foo.en.vtt" srclang="en" label="English"></track><track kind="subtitles" src="foo.sv.vtt" srclang="sv" label="Svenska"></track></video>'
877  )
878  );
879  }
880 
881  public function wrongValues()
882  {
883  return array(
884  array(
885  'TST_INT',
886  'a'
887  ) ,
888  array(
889  'TST_INT',
890  '123 34'
891  ) ,
892  array(
893  'TST_TIME',
894  '12'
895  ) ,
896  array(
897  'TST_DATE',
898  'a'
899  ) ,
900  array(
901  'TST_DATE',
902  '2001-65-54'
903  ) ,
904  array(
905  'TST_TIMESTAMP',
906  'a'
907  ) ,
908  array(
909  'TST_COL2',
910  'a'
911  ) ,
912  array(
913  'TST_HTML',
914  '<p'
915  ) ,
916  array(
917  'TST_HTML',
918  '<p style=">Hello</p>'
919  ) ,
920  array(
921  'TST_HTMLCLEAN',
922  '<p'
923  ) ,
924  array(
925  'TST_HTMLCLEAN',
926  '<p style=">Hello</p>'
927  )
928  );
929  }
930 }
testGoodSetValue($attrid, $value, $converted=false)
testOldAttributeValue(array $before, array $after, array $notchanged)
$d
Definition: dav.php:77
createDoc($dbaccess, $fromid, $control=true, $defaultvalues=true, $temporary=false)
testOldValue(array $before, array $after, array $notchanged)
$dbaccess
Definition: checkVault.php:17
if($file) if($subject==""&&$file) if($subject=="") $err
testArraySetValue(array $values, $expectedCount, array $secondValues=array(), $secondCount=0)
$value
requiresCoreParamEquals($paramName, $requiredValue, $markTestIncomplete=true)
← centre documentaire © anakeen