Blame view

vendor/ezyang/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload.phpt 1011 Bytes
70f4f18b   Administrator   first_commit
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
  --TEST--
  HTMLPurifier.auto.php using spl_autoload_register with user registration loading test
  --SKIPIF--
  <?php
  if (!function_exists('spl_autoload_register')) {
      echo "skip - spl_autoload_register() not available";
  }
  --FILE--
  <?php
  function my_autoload($class) {
      echo "Autoloading $class...
  ";
      eval("class $class {}");
      return true;
  }
  class MyClass {
      public static function myAutoload($class) {
          if ($class == 'Foo') {
              echo "Special autoloading Foo...
  ";
              eval("class $class {}");
          }
      }
  }
  
  spl_autoload_register(array('MyClass', 'myAutoload'));
  spl_autoload_register('my_autoload');
  
  require '../library/HTMLPurifier.auto.php';
  require 'HTMLPurifier/PHPT/loading/_autoload.inc';
  $config = HTMLPurifier_Config::createDefault();
  $purifier = new HTMLPurifier($config);
  echo $purifier->purify('<b>Salsa!') . "
  ";
  
  // purposely invoke older autoloads
  $foo = new Foo();
  $bar = new Bar();
  
  --EXPECT--
  <b>Salsa!</b>
  Special autoloading Foo...
  Autoloading Bar...