8 define( 'MEDIAWIKI', 1 );
9 require_ok( 'includes/Defines.php' );
10 require_ok( 'includes/GlobalFunctions.php' );
11 require_ok( 'includes/Sanitizer.php' );
12 require_ok( 'includes/normal/UtfNormal.php' );
13 require_ok( 'includes/ProfilerStub.php' ); # For removeHTMLtags
17 # decodeCharReferences
21 Sanitizer
::decodeCharReferences( 'école' ),
24 'decode named entities'
28 Sanitizer
::decodeCharReferences( "Ĉio bonas dans l'école!" ),
30 "\xc4\x88io bonas dans l'\xc3\xa9cole!",
31 'decode numeric entities'
35 Sanitizer
::decodeCharReferences( "Ĉio bonas dans l'école!" ),
37 "\xc4\x88io bonas dans l'\xc3\xa9cole!",
38 'decode mixed numeric/named entities'
42 Sanitizer
::decodeCharReferences(
43 "Ĉio bonas dans l'école! (mais pas Ĉio dans l'école)"
46 "\xc4\x88io bonas dans l'\xc3\xa9cole! (mais pas Ĉio dans l'école)",
47 'decode mixed complex entities'
50 cmp_ok( Sanitizer
::decodeCharReferences( 'a & b' ), '==', 'a & b', 'Invalid ampersand' );
52 cmp_ok( Sanitizer
::decodeCharReferences( '&foo;' ), '==', '&foo;', 'Invalid named entity' );
54 cmp_ok( Sanitizer
::decodeCharReferences( "�" ), '==', UTF8_REPLACEMENT
, 'Invalid numbered entity' );
58 Sanitizer
::removeHTMLtags( '<div>Hello world</div />' ),
60 '<div>Hello world</div>',
61 'Self-closing closing div'
64 /* vim: set filetype=php: */