Blame view

vendor/ezyang/htmlpurifier/tests/HTMLPurifier/VarParser/FlexibleTest.php 2.73 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
  <?php
  
  class HTMLPurifier_VarParser_FlexibleTest extends HTMLPurifier_VarParserHarness
  {
  
      public function testValidate()
      {
          $this->assertValid('foobar', 'string');
          $this->assertValid('foobar', 'text');
          $this->assertValid('FOOBAR', 'istring', 'foobar');
          $this->assertValid('FOOBAR', 'itext', 'foobar');
  
          $this->assertValid(34, 'int');
  
          $this->assertValid(3.34, 'float');
  
          $this->assertValid(false, 'bool');
          $this->assertValid(0, 'bool', false);
          $this->assertValid(1, 'bool', true);
          $this->assertValid('true', 'bool', true);
          $this->assertValid('false', 'bool', false);
          $this->assertValid('1', 'bool', true);
          $this->assertInvalid(34, 'bool');
          $this->assertInvalid(null, 'bool');
  
          $this->assertValid(array('1', '2', '3'), 'list');
          $this->assertValid('foo,bar, cow', 'list', array('foo', 'bar', 'cow'));
          $this->assertValid('', 'list', array());
          $this->assertValid("foo\nbar", 'list', array('foo', 'bar'));
          $this->assertValid("foo\nbar,baz", 'list', array('foo', 'bar', 'baz'));
  
          $this->assertValid(array('1' => true, '2' => true), 'lookup');
          $this->assertValid(array('1', '2'), 'lookup', array('1' => true, '2' => true));
          $this->assertValid('foo,bar', 'lookup', array('foo' => true, 'bar' => true));
          $this->assertValid("foo\nbar", 'lookup', array('foo' => true, 'bar' => true));
          $this->assertValid("foo\nbar,baz", 'lookup', array('foo' => true, 'bar' => true, 'baz' => true));
          $this->assertValid('', 'lookup', array());
          $this->assertValid(array(), 'lookup');
  
          $this->assertValid(array('foo' => 'bar'), 'hash');
          $this->assertValid(array(1 => 'moo'), 'hash');
          $this->assertInvalid(array(0 => 'moo'), 'hash');
          $this->assertValid('', 'hash', array());
          $this->assertValid('foo:bar,too:two', 'hash', array('foo' => 'bar', 'too' => 'two'));
          $this->assertValid("foo:bar\ntoo:two,three:free", 'hash', array('foo' => 'bar', 'too' => 'two', 'three' => 'free'));
          $this->assertValid('foo:bar,too', 'hash', array('foo' => 'bar'));
          $this->assertValid('foo:bar,', 'hash', array('foo' => 'bar'));
          $this->assertValid('foo:bar:baz', 'hash', array('foo' => 'bar:baz'));
  
          $this->assertValid(23, 'mixed');
  
      }
  
      public function testValidate_withMagicNumbers()
      {
          $this->assertValid('foobar', HTMLPurifier_VarParser::STRING);
      }
  
      public function testValidate_null()
      {
          $this->assertIdentical($this->parser->parse(null, 'string', true), null);
          $this->expectException('HTMLPurifier_VarParserException');
          $this->parser->parse(null, 'string', false);
      }
  
  }
  
  // vim: et sw=4 sts=4