0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-09-19 10:45:18 +00:00

[1.5.0] Rename Class to Nmtokens (more accurate)

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@706 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
Edward Z. Yang 2007-02-03 20:15:33 +00:00
parent f90eef7f1f
commit 806901cfd2
5 changed files with 16 additions and 11 deletions

1
NEWS
View File

@ -13,6 +13,7 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
! Added a rudimentary I18N and L10N system modeled off MediaWiki ! Added a rudimentary I18N and L10N system modeled off MediaWiki
- Allow 'x' subtag in language codes - Allow 'x' subtag in language codes
. Added support for IDREF attributes (i.e. for) . Added support for IDREF attributes (i.e. for)
. Renamed HTMLPurifier_AttrDef_Class to HTMLPurifier_AttrDef_Nmtokens
1.4.2, unknown release date 1.4.2, unknown release date
! docs/enduser-utf8.html explains how to use UTF-8 and HTML Purifier ! docs/enduser-utf8.html explains how to use UTF-8 and HTML Purifier

View File

@ -4,9 +4,13 @@ require_once 'HTMLPurifier/AttrDef.php';
require_once 'HTMLPurifier/Config.php'; require_once 'HTMLPurifier/Config.php';
/** /**
* Validates the contents of the global HTML attribute class. * Validates contents based on NMTOKENS attribute type.
* @note The only current use for this is the class attribute in HTML
* @note Could have some functionality factored out into Nmtoken class
* @warning We cannot assume this class will be used only for 'class'
* attributes. Not sure how to hook in magic behavior, then.
*/ */
class HTMLPurifier_AttrDef_Class extends HTMLPurifier_AttrDef class HTMLPurifier_AttrDef_Nmtokens extends HTMLPurifier_AttrDef
{ {
function validate($string, $config, &$context) { function validate($string, $config, &$context) {
@ -31,10 +35,10 @@ class HTMLPurifier_AttrDef_Class extends HTMLPurifier_AttrDef
if (empty($matches[1])) return false; if (empty($matches[1])) return false;
// reconstruct class string // reconstruct string
$new_string = ''; $new_string = '';
foreach ($matches[1] as $class_names) { foreach ($matches[1] as $token) {
$new_string .= $class_names . ' '; $new_string .= $token . ' ';
} }
$new_string = rtrim($new_string); $new_string = rtrim($new_string);

View File

@ -3,7 +3,7 @@
require_once 'HTMLPurifier/AttrDef.php'; require_once 'HTMLPurifier/AttrDef.php';
require_once 'HTMLPurifier/AttrDef/Enum.php'; require_once 'HTMLPurifier/AttrDef/Enum.php';
require_once 'HTMLPurifier/AttrDef/ID.php'; require_once 'HTMLPurifier/AttrDef/ID.php';
require_once 'HTMLPurifier/AttrDef/Class.php'; require_once 'HTMLPurifier/AttrDef/Nmtokens.php';
require_once 'HTMLPurifier/AttrDef/Text.php'; require_once 'HTMLPurifier/AttrDef/Text.php';
require_once 'HTMLPurifier/AttrDef/Lang.php'; require_once 'HTMLPurifier/AttrDef/Lang.php';
require_once 'HTMLPurifier/AttrDef/Pixels.php'; require_once 'HTMLPurifier/AttrDef/Pixels.php';
@ -398,7 +398,7 @@ class HTMLPurifier_HTMLDefinition
// which manually override these in their local definitions // which manually override these in their local definitions
$this->info_global_attr = array( $this->info_global_attr = array(
// core attrs // core attrs
'class' => new HTMLPurifier_AttrDef_Class(), 'class' => new HTMLPurifier_AttrDef_Nmtokens(),
'title' => $e_Text, 'title' => $e_Text,
'style' => new HTMLPurifier_AttrDef_CSS(), 'style' => new HTMLPurifier_AttrDef_CSS(),
// i18n // i18n

View File

@ -1,15 +1,15 @@
<?php <?php
require_once 'HTMLPurifier/AttrDefHarness.php'; require_once 'HTMLPurifier/AttrDefHarness.php';
require_once 'HTMLPurifier/AttrDef/Class.php'; require_once 'HTMLPurifier/AttrDef/Nmtokens.php';
require_once 'HTMLPurifier/Config.php'; require_once 'HTMLPurifier/Config.php';
class HTMLPurifier_AttrDef_ClassTest extends HTMLPurifier_AttrDefHarness class HTMLPurifier_AttrDef_NmtokensTest extends HTMLPurifier_AttrDefHarness
{ {
function testDefault() { function testDefault() {
$this->def = new HTMLPurifier_AttrDef_Class(); $this->def = new HTMLPurifier_AttrDef_Nmtokens();
$this->assertDef('valid'); $this->assertDef('valid');
$this->assertDef('a0-_'); $this->assertDef('a0-_');

View File

@ -25,7 +25,7 @@ $test_files[] = 'Strategy/ValidateAttributesTest.php';
$test_files[] = 'AttrDefTest.php'; $test_files[] = 'AttrDefTest.php';
$test_files[] = 'AttrDef/EnumTest.php'; $test_files[] = 'AttrDef/EnumTest.php';
$test_files[] = 'AttrDef/IDTest.php'; $test_files[] = 'AttrDef/IDTest.php';
$test_files[] = 'AttrDef/ClassTest.php'; $test_files[] = 'AttrDef/NmtokensTest.php';
$test_files[] = 'AttrDef/TextTest.php'; $test_files[] = 'AttrDef/TextTest.php';
$test_files[] = 'AttrDef/LangTest.php'; $test_files[] = 'AttrDef/LangTest.php';
$test_files[] = 'AttrDef/PixelsTest.php'; $test_files[] = 'AttrDef/PixelsTest.php';