diff --git a/library/HTMLPurifier.includes.php b/library/HTMLPurifier.includes.php index aeecdb97..6e86c36e 100644 --- a/library/HTMLPurifier.includes.php +++ b/library/HTMLPurifier.includes.php @@ -133,6 +133,7 @@ require 'HTMLPurifier/ConfigSchema/StringHashReverseAdapter.php'; require 'HTMLPurifier/ConfigSchema/Validator.php'; require 'HTMLPurifier/ConfigSchema/Validator/Alnum.php'; require 'HTMLPurifier/ConfigSchema/Validator/Exists.php'; +require 'HTMLPurifier/ConfigSchema/Validator/Unique.php'; require 'HTMLPurifier/DefinitionCache/Decorator.php'; require 'HTMLPurifier/DefinitionCache/Null.php'; require 'HTMLPurifier/DefinitionCache/Serializer.php'; diff --git a/library/HTMLPurifier/ConfigSchema.php b/library/HTMLPurifier/ConfigSchema.php index 7909db22..48177624 100644 --- a/library/HTMLPurifier/ConfigSchema.php +++ b/library/HTMLPurifier/ConfigSchema.php @@ -158,22 +158,6 @@ class HTMLPurifier_ConfigSchema { * @param $description Description of the namespace */ public function addNamespace($namespace, $description) { - if (HTMLPURIFIER_SCHEMA_STRICT) { - if (isset($this->info[$namespace])) { - trigger_error('Cannot redefine namespace', E_USER_ERROR); - return; - } - if (!ctype_alnum($namespace)) { - trigger_error('Namespace name must be alphanumeric', - E_USER_ERROR); - return; - } - if (empty($description)) { - trigger_error('Description must be non-empty', - E_USER_ERROR); - return; - } - } $this->info[$namespace] = array(); $this->info_namespace[$namespace] = new HTMLPurifier_ConfigDef_Namespace(); $this->info_namespace[$namespace]->description = $description; diff --git a/library/HTMLPurifier/ConfigSchema/Interchange.php b/library/HTMLPurifier/ConfigSchema/Interchange.php index d9d98e2f..d44cf4c3 100644 --- a/library/HTMLPurifier/ConfigSchema/Interchange.php +++ b/library/HTMLPurifier/ConfigSchema/Interchange.php @@ -60,7 +60,7 @@ class HTMLPurifier_ConfigSchema_Interchange // Common validators $validator->addValidator(new HTMLPurifier_ConfigSchema_Validator_Exists('ID')); - $validator->addValidator(new HTMLPurifier_ConfigSchema_Validator_Duplicate()); + $validator->addValidator(new HTMLPurifier_ConfigSchema_Validator_Unique()); $validator->addValidator(new HTMLPurifier_ConfigSchema_Validator_Exists('DESCRIPTION')); // Namespace validators diff --git a/library/HTMLPurifier/ConfigSchema/Validator/Duplicate.php b/library/HTMLPurifier/ConfigSchema/Validator/Unique.php similarity index 85% rename from library/HTMLPurifier/ConfigSchema/Validator/Duplicate.php rename to library/HTMLPurifier/ConfigSchema/Validator/Unique.php index bcada41d..6775f025 100644 --- a/library/HTMLPurifier/ConfigSchema/Validator/Duplicate.php +++ b/library/HTMLPurifier/ConfigSchema/Validator/Unique.php @@ -6,7 +6,7 @@ * Although this tests both possible values, in practice the ID * will only be in one or the other. We do this to keep things simple. */ -class HTMLPurifier_ConfigSchema_Validator_Duplicate extends HTMLPurifier_ConfigSchema_Validator +class HTMLPurifier_ConfigSchema_Validator_Unique extends HTMLPurifier_ConfigSchema_Validator { public function validate(&$arr, $interchange) { diff --git a/tests/HTMLPurifier/ConfigSchema/Validator/DuplicateTest.php b/tests/HTMLPurifier/ConfigSchema/Validator/UniqueTest.php similarity index 86% rename from tests/HTMLPurifier/ConfigSchema/Validator/DuplicateTest.php rename to tests/HTMLPurifier/ConfigSchema/Validator/UniqueTest.php index ac3fd4e3..fce84e11 100644 --- a/tests/HTMLPurifier/ConfigSchema/Validator/DuplicateTest.php +++ b/tests/HTMLPurifier/ConfigSchema/Validator/UniqueTest.php @@ -1,11 +1,11 @@ validator = new HTMLPurifier_ConfigSchema_Validator_Duplicate(); + $this->validator = new HTMLPurifier_ConfigSchema_Validator_Unique(); } public function testValidateNamespace() { diff --git a/tests/HTMLPurifier/ConfigSchemaTest.php b/tests/HTMLPurifier/ConfigSchemaTest.php index 49abf145..b4e388da 100644 --- a/tests/HTMLPurifier/ConfigSchemaTest.php +++ b/tests/HTMLPurifier/ConfigSchemaTest.php @@ -19,15 +19,6 @@ class HTMLPurifier_ConfigSchemaTest extends HTMLPurifier_Harness $this->assertIdentical($this->schema->info_namespace, array( 'http' => new HTMLPurifier_ConfigDef_Namespace($d) )); - - $this->expectError('Cannot redefine namespace'); - $this->schema->addNamespace('http', 'It is used to serve webpages.'); - - $this->expectError('Namespace name must be alphanumeric'); - $this->schema->addNamespace('ssh+http', 'This http is tunneled through SSH.'); - - $this->expectError('Description must be non-empty'); - $this->schema->addNamespace('ftp', null); } function test_define() { diff --git a/tests/index.php b/tests/index.php index 45eab7c9..b045b804 100755 --- a/tests/index.php +++ b/tests/index.php @@ -57,6 +57,16 @@ if ($AC['disable-phpt'] && $AC['only-phpt']) { exit(1); } +// Shell-script code is executed + +if ($AC['flush']) { + if (SimpleReporter::inCli() && !$AC['xml']) { + passthru($AC['php'] . ' ../maintenance/flush.php'); + } else { + shell_exec($AC['php'] . ' ../maintenance/flush.php'); + } +} + // initialize and load HTML Purifier // use ?standalone to load the alterative standalone stub if ($AC['standalone']) { @@ -68,16 +78,6 @@ if ($AC['standalone']) { } require 'HTMLPurifier/Harness.php'; -// Shell-script code is executed - -if ($AC['flush']) { - if (SimpleReporter::inCli() && !$AC['xml']) { - passthru($AC['php'] . ' ../maintenance/flush.php'); - } else { - shell_exec($AC['php'] . ' ../maintenance/flush.php'); - } -} - // Now, userland code begins to be executed // setup special DefinitionCacheFactory decorator