def = new HTMLPurifier_AttrDef_Integer (); $this->assertDef ( '0' ); $this->assertDef ( '1' ); $this->assertDef ( '-1' ); $this->assertDef ( '-10' ); $this->assertDef ( '14' ); $this->assertDef ( '+24', '24' ); $this->assertDef ( ' 14 ', '14' ); $this->assertDef ( '-0', '0' ); $this->assertDef ( '-1.4', false ); $this->assertDef ( '3.4', false ); $this->assertDef ( 'asdf', false ); // must not return zero $this->assertDef ( '2in', false ); // must not return zero } public function assertRange($negative, $zero, $positive) { $this->assertDef ( '-100', $negative ); $this->assertDef ( '-1', $negative ); $this->assertDef ( '0', $zero ); $this->assertDef ( '1', $positive ); $this->assertDef ( '42', $positive ); } public function testRange() { $this->def = new HTMLPurifier_AttrDef_Integer ( false ); $this->assertRange ( false, true, true ); // non-negative $this->def = new HTMLPurifier_AttrDef_Integer ( false, false ); $this->assertRange ( false, false, true ); // positive // fringe cases $this->def = new HTMLPurifier_AttrDef_Integer ( false, false, false ); $this->assertRange ( false, false, false ); // allow none $this->def = new HTMLPurifier_AttrDef_Integer ( true, false, false ); $this->assertRange ( true, false, false ); // negative $this->def = new HTMLPurifier_AttrDef_Integer ( false, true, false ); $this->assertRange ( false, true, false ); // zero $this->def = new HTMLPurifier_AttrDef_Integer ( true, true, false ); $this->assertRange ( true, true, false ); // non-positive } } // vim: et sw=4 sts=4