schema = new HTMLPurifier_ConfigSchema (); } public function test_define() { $this->schema->add ( 'Car.Seats', 5, 'int', false ); $this->assertIdentical ( $this->schema->defaults ['Car.Seats'], 5 ); $this->assertIdentical ( $this->schema->info ['Car.Seats']->type, HTMLPurifier_VarParser::INT ); $this->schema->add ( 'Car.Age', null, 'int', true ); $this->assertIdentical ( $this->schema->defaults ['Car.Age'], null ); $this->assertIdentical ( $this->schema->info ['Car.Age']->type, HTMLPurifier_VarParser::INT ); } public function test_defineAllowedValues() { $this->schema->add ( 'QuantumNumber.Spin', 0.5, 'float', false ); $this->schema->add ( 'QuantumNumber.Current', 's', 'string', false ); $this->schema->add ( 'QuantumNumber.Difficulty', null, 'string', true ); $this->schema->addAllowedValues ( // okay, since default is null 'QuantumNumber.Difficulty', array ( 'easy' => true, 'medium' => true, 'hard' => true ) ); $this->assertIdentical ( $this->schema->defaults ['QuantumNumber.Difficulty'], null ); $this->assertIdentical ( $this->schema->info ['QuantumNumber.Difficulty']->type, HTMLPurifier_VarParser::STRING ); $this->assertIdentical ( $this->schema->info ['QuantumNumber.Difficulty']->allow_null, true ); $this->assertIdentical ( $this->schema->info ['QuantumNumber.Difficulty']->allowed, array ( 'easy' => true, 'medium' => true, 'hard' => true ) ); } public function test_defineValueAliases() { $this->schema->add ( 'Abbrev.HTH', 'Happy to Help', 'string', false ); $this->schema->addAllowedValues ( 'Abbrev.HTH', array ( 'Happy to Help' => true, 'Hope that Helps' => true, 'HAIL THE HAND!' => true ) ); $this->schema->addValueAliases ( 'Abbrev.HTH', array ( 'happy' => 'Happy to Help', 'hope' => 'Hope that Helps' ) ); $this->schema->addValueAliases ( // delayed addition 'Abbrev.HTH', array ( 'hail' => 'HAIL THE HAND!' ) ); $this->assertIdentical ( $this->schema->defaults ['Abbrev.HTH'], 'Happy to Help' ); $this->assertIdentical ( $this->schema->info ['Abbrev.HTH']->type, HTMLPurifier_VarParser::STRING ); $this->assertIdentical ( $this->schema->info ['Abbrev.HTH']->allowed, array ( 'Happy to Help' => true, 'Hope that Helps' => true, 'HAIL THE HAND!' => true ) ); $this->assertIdentical ( $this->schema->info ['Abbrev.HTH']->aliases, array ( 'happy' => 'Happy to Help', 'hope' => 'Hope that Helps', 'hail' => 'HAIL THE HAND!' ) ); } public function testAlias() { $this->schema->add ( 'Home.Rug', 3, 'int', false ); $this->schema->addAlias ( 'Home.Carpet', 'Home.Rug' ); $this->assertTrue ( ! isset ( $this->schema->defaults ['Home.Carpet'] ) ); $this->assertIdentical ( $this->schema->info ['Home.Carpet']->key, 'Home.Rug' ); $this->assertIdentical ( $this->schema->info ['Home.Carpet']->isAlias, true ); } } // vim: et sw=4 sts=4