8 require_ok( 'includes/Defines.php' );
9 require_ok( 'includes/GlobalFunctions.php' );
10 require_ok( 'includes/Sanitizer.php' );
11 require_ok( 'includes/normal/UtfNormal.php' );
12 require_ok( 'includes/ProfilerStub.php' ); # For removeHTMLtags
16 # decodeCharReferences
20 Sanitizer
::decodeCharReferences( 'école' ),
23 'decode named entities'
27 Sanitizer
::decodeCharReferences( "Ĉio bonas dans l'école!" ),
29 "\xc4\x88io bonas dans l'\xc3\xa9cole!",
30 'decode numeric entities'
34 Sanitizer
::decodeCharReferences( "Ĉio bonas dans l'école!" ),
36 "\xc4\x88io bonas dans l'\xc3\xa9cole!",
37 'decode mixed numeric/named entities'
41 Sanitizer
::decodeCharReferences(
42 "Ĉio bonas dans l'école! (mais pas Ĉio dans l'école)"
45 "\xc4\x88io bonas dans l'\xc3\xa9cole! (mais pas Ĉio dans l'école)",
46 'decode mixed complex entities'
49 cmp_ok( Sanitizer
::decodeCharReferences( 'a & b' ), '==', 'a & b', 'Invalid ampersand' );
51 cmp_ok( Sanitizer
::decodeCharReferences( '&foo;' ), '==', '&foo;', 'Invalid named entity' );
53 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'