Example #1
0
 function testParseStyleAttribute()
 {
     $el = new EditLib();
     /*
      * empty style -> empty array
      */
     $style = '';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(0, count($parsed));
     /*
      * delimiters only -> empty array
      */
     $style = ' ; ; ';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(0, count($parsed));
     /*
      * examples, no shortand lists
      */
     $style = 'unknown-list:rgb(1,2,3) url(background.gif);unknown-size:12;';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(2, count($parsed));
     $this->assertTrue(isset($parsed['unknown-list']));
     $this->assertEquals('rgb(1,2,3) url(background.gif)', $parsed['unknown-list']);
     $this->assertTrue(isset($parsed['unknown-size']));
     $this->assertEquals(12, $parsed['unknown-size']);
     $style = 'unknown-list:rgb(1,2,3) url(background.gif);unknown-size:12';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(2, count($parsed));
     $this->assertTrue(isset($parsed['unknown-list']));
     $this->assertEquals('rgb(1,2,3) url(background.gif)', $parsed['unknown-list']);
     $this->assertTrue(isset($parsed['unknown-size']));
     $this->assertEquals(12, $parsed['unknown-size']);
     $style = ' unknown-list : rgb( 1 , 2 , 3 ) url( background.gif )   ;   unknown-size: 12 ; ';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(2, count($parsed));
     $this->assertTrue(isset($parsed['unknown-list']));
     $this->assertEquals('rgb( 1 , 2 , 3 ) url( background.gif )', $parsed['unknown-list']);
     $this->assertTrue(isset($parsed['unknown-size']));
     $this->assertEquals(12, $parsed['unknown-size']);
     /*
      * examples with shorthand list 'background'
      */
     $style = 'background-color:#FF0000';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(1, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('#FF0000', $parsed['background-color']);
     $style = 'background:#FF0000';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(1, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('#FF0000', $parsed['background-color']);
     $style = 'background:rgb(0, 0, 0);';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(1, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('rgb(0, 0, 0)', $parsed['background-color']);
     $style = 'background: rgb(0, 255, 0); background-color:rgb(255, 0, 0);';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(1, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('rgb(255, 0, 0)', $parsed['background-color']);
     $style = 'background-color:rgb(255, 0, 0); background: rgb(0, 255, 0);';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(1, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('rgb(0, 255, 0)', $parsed['background-color']);
     $style = 'background-color:rgb(255, 0, 0); background: rgb(0, 255, 0) #0000FF;';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(1, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('#0000FF', $parsed['background-color']);
     $style = 'background-color:rgb(255, 0, 0); background: rgb(0, 255, 0) unknown1 #0000FF unknown2;';
     $parsed = array();
     $el->parseStyleAttribute($style, $parsed);
     $this->assertEquals(2, count($parsed));
     $this->assertTrue(isset($parsed['background-color']));
     $this->assertEquals('#0000FF', $parsed['background-color']);
     $this->assertTrue(isset($parsed['background']));
     $this->assertEquals('unknown1 unknown2', $parsed['background']);
 }