def = new HTMLPurifier_AttrDef_CSS_FontFamily ();
$this->assertDef ( 'Gill, Helvetica, sans-serif' );
$this->assertDef ( "'Times New Roman', serif" );
$this->assertDef ( "\"Times New Roman\"", "'Times New Roman'" );
$this->assertDef ( '01234' );
$this->assertDef ( ',', false );
$this->assertDef ( 'Times New Roman, serif', "'Times New Roman', serif" );
$this->assertDef ( $d = "'\xE5\xAE\x8B\xE4\xBD\x93'" );
$this->assertDef ( "\xE5\xAE\x8B\xE4\xBD\x93", $d );
$this->assertDef ( "'\\01'", "''" );
$this->assertDef ( "'\\20'", "' '" );
$this->assertDef ( "\\0020", "' '" );
$this->assertDef ( "'\\000045'", "E" );
$this->assertDef ( "','", false );
$this->assertDef ( "',' foobar','", "' foobar'" );
$this->assertDef ( "'\\000045a'", "Ea" );
$this->assertDef ( "'\\00045 a'", "Ea" );
$this->assertDef ( "'\\00045 a'", "'E a'" );
$this->assertDef ( "'\\\nf'", "f" );
// No longer supported, except maybe in NoJS mode (see source
// file for more explanation)
// $this->assertDef($d = '"John\'s Font"');
// $this->assertDef("John's Font", $d);
// $this->assertDef("'\\','f'", "\"\\5C \", f");
// $this->assertDef("'\\27'", "\"'\"");
// $this->assertDef('"\\22"', "\"\\22 \"");
// $this->assertDef('"\\""', "\"\\22 \"");
// $this->assertDef('"\'"', "\"'\"");
}
public function testAllowed() {
$this->config->set ( 'CSS.AllowedFonts', array (
'serif',
'Times New Roman'
) );
$this->assertDef ( 'serif' );
$this->assertDef ( 'sans-serif', false );
$this->assertDef ( 'serif, sans-serif', 'serif' );
$this->assertDef ( 'Times New Roman', "'Times New Roman'" );
$this->assertDef ( "'Times New Roman'" );
$this->assertDef ( 'foo', false );
}
}
// vim: et sw=4 sts=4