<?php

class HTMLPurifier_AttrDef_CSS_LengthTest extends HTMLPurifier_AttrDefHarness
{

    public function test()
    {
        $this->def = new HTMLPurifier_AttrDef_CSS_Length();

        $this->assertDef('0');
        $this->assertDef('0px');
        $this->assertDef('4.5px');
        $this->assertDef('-4.5px');
        $this->assertDef('3ex');
        $this->assertDef('3em');
        $this->assertDef('3in');
        $this->assertDef('3cm');
        $this->assertDef('3mm');
        $this->assertDef('3pt');
        $this->assertDef('3pc');

        $this->assertDef('3PX', '3px');

        $this->assertDef('3', false);
        $this->assertDef('3miles', false);

    }

    public function testNonNegative()
    {
        $this->def = new HTMLPurifier_AttrDef_CSS_Length('0');

        $this->assertDef('3cm');
        $this->assertDef('-3mm', false);

    }

    public function testBounding()
    {
        $this->def = new HTMLPurifier_AttrDef_CSS_Length('-1in', '1in');
        $this->assertDef('1cm');
        $this->assertDef('-1cm');
        $this->assertDef('0');
        $this->assertDef('1em', false);
    }

}

// vim: et sw=4 sts=4
