4 require_once( "$IP/includes/Sanitizer.php" );
6 class SanitizerTest
extends PHPUnit_Framework_TestCase
{
8 function testDecodeNamedEntities() {
11 Sanitizer
::decodeCharReferences( 'école' ),
12 'decode named entities'
16 function testDecodeNumericEntities() {
18 "\xc4\x88io bonas dans l'\xc3\xa9cole!",
19 Sanitizer
::decodeCharReferences( "Ĉio bonas dans l'école!" ),
20 'decode numeric entities'
24 function testDecodeMixedEntities() {
26 "\xc4\x88io bonas dans l'\xc3\xa9cole!",
27 Sanitizer
::decodeCharReferences( "Ĉio bonas dans l'école!" ),
28 'decode mixed numeric/named entities'
32 function testDecodeMixedComplexEntities() {
34 "\xc4\x88io bonas dans l'\xc3\xa9cole! (mais pas Ĉio dans l'école)",
35 Sanitizer
::decodeCharReferences(
36 "Ĉio bonas dans l'école! (mais pas Ĉio dans l'école)"
38 'decode mixed complex entities'
42 function testInvalidAmpersand() {
45 Sanitizer
::decodeCharReferences( 'a & b' ),
50 function testInvalidEntities() {
53 Sanitizer
::decodeCharReferences( '&foo;' ),
54 'Invalid named entity'
58 function testInvalidNumberedEntities() {
59 $this->assertEquals( UTF8_REPLACEMENT
, Sanitizer
::decodeCharReferences( "�" ), 'Invalid numbered entity' );
62 function testSelfClosingTag() {
63 $GLOBALS['wgUseTidy'] = false;
65 '<div>Hello world</div>',
66 Sanitizer
::removeHTMLtags( '<div>Hello world</div />' ),
67 'Self-closing closing div'