Blame view

vendor/ezyang/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php 2.02 KB
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  <?php
  
  class HTMLPurifier_ChildDef_RequiredTest extends HTMLPurifier_ChildDefHarness
  {
  
      public function testPrepareString()
      {
          $def = new HTMLPurifier_ChildDef_Required('foobar | bang |gizmo');
          $this->assertIdentical($def->elements,
            array(
              'foobar' => true
             ,'bang'   => true
             ,'gizmo'  => true
            ));
      }
  
      public function testPrepareArray()
      {
          $def = new HTMLPurifier_ChildDef_Required(array('href', 'src'));
          $this->assertIdentical($def->elements,
            array(
              'href' => true
             ,'src'  => true
            ));
      }
  
      public function setUp()
      {
          parent::setUp();
          $this->obj = new HTMLPurifier_ChildDef_Required('dt | dd');
      }
  
      public function testEmptyInput()
      {
          $this->assertResult('', false);
      }
  
      public function testRemoveIllegalTagsAndElements()
      {
          $this->assertResult(
            '<dt>Term</dt>Text in an illegal location'.
               '<dd>Definition</dd><b>Illegal tag</b>',
            '<dt>Term</dt><dd>Definition</dd>');
          $this->assertResult('How do you do!', false);
      }
  
      public function testIgnoreWhitespace()
      {
          // whitespace shouldn't trigger it
          $this->assertResult("\n<dd>Definition</dd>       ");
      }
  
      public function testPreserveWhitespaceAfterRemoval()
      {
          $this->assertResult(
            '<dd>Definition</dd>       <b></b>       ',
            '<dd>Definition</dd>              '
          );
      }
  
      public function testDeleteNodeIfOnlyWhitespace()
      {
          $this->assertResult("\t      ", false);
      }
  
      public function testPCDATAAllowed()
      {
          $this->obj = new HTMLPurifier_ChildDef_Required('#PCDATA | b');
          $this->assertResult('Out <b>Bold text</b><img />', 'Out <b>Bold text</b>');
      }
      public function testPCDATAAllowedJump()
      {
          $this->obj = new HTMLPurifier_ChildDef_Required('#PCDATA | b');
          $this->assertResult('A <i>foo</i>', 'A foo');
      }
  }
  
  // vim: et sw=4 sts=4