Blame view

vendor/ezyang/htmlpurifier/tests/HTMLPurifier/StringHashParserTest.php 2.54 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
  <?php
  
  /**
   * @note Sample input files are located in the StringHashParser/ directory.
   */
  class HTMLPurifier_StringHashParserTest extends UnitTestCase
  {
  
      /**
       * Instance of ConfigSchema_StringHashParser being tested.
       */
      protected $parser;
  
      public function setup()
      {
          $this->parser = new HTMLPurifier_StringHashParser();
      }
  
      /**
       * Assert that $file gets parsed into the form of $expect
       */
      protected function assertParse($file, $expect)
      {
          $result = $this->parser->parseFile(dirname(__FILE__) . '/StringHashParser/' . $file);
          $this->assertIdentical($result, $expect);
      }
  
      public function testSimple()
      {
          $this->assertParse('Simple.txt', array(
              'ID' => 'Namespace.Directive',
              'TYPE' => 'string',
              'CHAIN-ME' => '2',
              'DESCRIPTION' => "Multiline\nstuff\n",
              'EMPTY' => '',
              'FOR-WHO' => "Single multiline\n",
          ));
      }
  
      public function testOverrideSingle()
      {
          $this->assertParse('OverrideSingle.txt', array(
              'KEY' => 'New',
          ));
      }
  
      public function testAppendMultiline()
      {
          $this->assertParse('AppendMultiline.txt', array(
              'KEY' => "Line1\nLine2\n",
          ));
      }
  
      public function testDefault()
      {
          $this->parser->default = 'NEW-ID';
          $this->assertParse('Default.txt', array(
              'NEW-ID' => 'DefaultValue',
          ));
      }
  
      public function testError()
      {
          try {
              $this->parser->parseFile('NoExist.txt');
          } catch (HTMLPurifier_ConfigSchema_Exception $e) {
              $this->assertIdentical($e->getMessage(), 'File NoExist.txt does not exist');
          }
      }
  
      public function testParseMultiple()
      {
          $result = $this->parser->parseMultiFile(dirname(__FILE__) . '/StringHashParser/Multi.txt');
          $this->assertIdentical(
              $result,
              array(
                  array(
                      'ID' => 'Namespace.Directive',
                      'TYPE' => 'string',
                      'CHAIN-ME' => '2',
                      'DESCRIPTION' => "Multiline\nstuff\n",
                      'FOR-WHO' => "Single multiline\n",
                  ),
                  array(
                      'ID' => 'Namespace.Directive2',
                      'TYPE' => 'integer',
                      'CHAIN-ME' => '3',
                      'DESCRIPTION' => "M\nstuff\n",
                      'FOR-WHO' => "Single multiline2\n",
                  )
              )
          );
      }
  
  }
  
  // vim: et sw=4 sts=4