1<?php 2 3class TestCSSParse extends GenericTest { 4 function testCSSParsePropertyUpperCase() { 5 $null = null; 6 $collection =& parse_css_property('VISIBILITY: hidden;', $null); 7 $this->assertTrue($collection->contains(CSS_VISIBILITY)); 8 $this->assertEqual($collection->getPropertyValue(CSS_VISIBILITY), VISIBILITY_HIDDEN); 9 } 10 11 function testCSSParsePropertyMixedCase() { 12 $null = null; 13 $collection =& parse_css_property('VISibiLitY: hidden;', $null); 14 $this->assertTrue($collection->contains(CSS_VISIBILITY)); 15 $this->assertEqual($collection->getPropertyValue(CSS_VISIBILITY), VISIBILITY_HIDDEN); 16 } 17 18 function testCSSParseProperty() { 19 $null = null; 20 $collection =& parse_css_property('-html2ps-html-content: "Sample;Text";', $null); 21 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 22 23 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 24 $counters =& new CSSCounterCollection(); 25 $this->assertEqual($content->render($counters), "Sample;Text"); 26 } 27 28 function testCSSParsePropertyWithoutTrailingSemicolon() { 29 $null = null; 30 $collection =& parse_css_property('content: "TEXT"', $null); 31 $this->assertTrue($collection->contains(CSS_CONTENT)); 32 33 $content =& $collection->getPropertyValue(CSS_CONTENT); 34 $counters =& new CSSCounterCollection(); 35 $this->assertEqual($content->render($counters), "TEXT"); 36 } 37 38 function testCSSParsePropertyMultipart() { 39 $null = null; 40 $collection =& parse_css_property('-html2ps-html-content: "Double Quoted String" \'Single Quoted String\';', $null); 41 42 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 43 44 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 45 $counters =& new CSSCounterCollection(); 46 $this->assertEqual($content->render($counters), "Double Quoted StringSingle Quoted String"); 47 } 48 49 function testCSSParseProperties() { 50 $null = null; 51 $collection =& parse_css_properties('font-weight: bold; -html2ps-html-content: "Sample;Text"; color: red;', $null); 52 53 $properties = $collection->getPropertiesRaw(); 54 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 55 $this->assertTrue($collection->contains(CSS_COLOR)); 56 $this->assertTrue($collection->contains(CSS_FONT_WEIGHT)); 57 58 $this->assertEqual($collection->getPropertyValue(CSS_FONT_WEIGHT), WEIGHT_BOLD); 59 60 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 61 $counters =& new CSSCounterCollection(); 62 $this->assertEqual($content->render($counters), "Sample;Text"); 63 64 $color = $collection->getPropertyValue(CSS_COLOR); 65 $this->assertEqual($color->r, 1); 66 $this->assertEqual($color->g, 0); 67 $this->assertEqual($color->b, 0); 68 } 69 70 function testCSSParsePropertiesMultiline() { 71 $null = null; 72 $collection =& parse_css_properties('font-weight: bold; 73-html2ps-html-content: "Sample;Text"; 74color: red;', $null); 75 76 $properties = $collection->getPropertiesRaw(); 77 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 78 $this->assertTrue($collection->contains(CSS_COLOR)); 79 $this->assertTrue($collection->contains(CSS_FONT_WEIGHT)); 80 81 $this->assertEqual($collection->getPropertyValue(CSS_FONT_WEIGHT), WEIGHT_BOLD); 82 83 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 84 $counters =& new CSSCounterCollection(); 85 $this->assertEqual($content->render($counters), "Sample;Text"); 86 87 $color = $collection->getPropertyValue(CSS_COLOR); 88 $this->assertEqual($color->r, 1); 89 $this->assertEqual($color->g, 0); 90 $this->assertEqual($color->b, 0); 91 } 92 93 function testCSSParsePropertiesMultilineWithoutTrailingSemicolon() { 94 $null = null; 95 $collection =& parse_css_properties('font-weight: bold; 96-html2ps-html-content: "Sample;Text"; 97color: red', $null); 98 99 $properties = $collection->getPropertiesRaw(); 100 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 101 $this->assertTrue($collection->contains(CSS_COLOR)); 102 $this->assertTrue($collection->contains(CSS_FONT_WEIGHT)); 103 104 $this->assertEqual($collection->getPropertyValue(CSS_FONT_WEIGHT), WEIGHT_BOLD); 105 106 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 107 $counters =& new CSSCounterCollection(); 108 $this->assertEqual($content->render($counters), "Sample;Text"); 109 110 $color = $collection->getPropertyValue(CSS_COLOR); 111 $this->assertEqual($color->r, 1); 112 $this->assertEqual($color->g, 0); 113 $this->assertEqual($color->b, 0); 114 } 115 116 function testCSSParsePropertiesMultilineWithoutTrailingSemicolon2() { 117 $null = null; 118 $collection =& parse_css_properties('font-weight: bold; 119-html2ps-html-content: "Sample;Text"; 120color: red 121 122 ', $null); 123 124 $properties = $collection->getPropertiesRaw(); 125 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 126 $this->assertTrue($collection->contains(CSS_COLOR)); 127 $this->assertTrue($collection->contains(CSS_FONT_WEIGHT)); 128 129 $this->assertEqual($collection->getPropertyValue(CSS_FONT_WEIGHT), WEIGHT_BOLD); 130 131 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 132 $counters =& new CSSCounterCollection(); 133 $this->assertEqual($content->render($counters), "Sample;Text"); 134 135 $color = $collection->getPropertyValue(CSS_COLOR); 136 $this->assertEqual($color->r, 1); 137 $this->assertEqual($color->g, 0); 138 $this->assertEqual($color->b, 0); 139 } 140 141 function testCSSParsePropertiesMultilineWithLinefeedsAround() { 142 $null = null; 143 $collection =& parse_css_properties(' 144font-weight: bold; 145-html2ps-html-content: "Sample;Text"; 146color: red; 147', $null); 148 149 $properties = $collection->getPropertiesRaw(); 150 $this->assertTrue($collection->contains(CSS_HTML2PS_HTML_CONTENT)); 151 $this->assertTrue($collection->contains(CSS_COLOR)); 152 $this->assertTrue($collection->contains(CSS_FONT_WEIGHT)); 153 154 $this->assertEqual($collection->getPropertyValue(CSS_FONT_WEIGHT), WEIGHT_BOLD); 155 156 $content =& $collection->getPropertyValue(CSS_HTML2PS_HTML_CONTENT); 157 $counters =& new CSSCounterCollection(); 158 $this->assertEqual($content->render($counters), "Sample;Text"); 159 160 $color = $collection->getPropertyValue(CSS_COLOR); 161 $this->assertEqual($color->r, 1); 162 $this->assertEqual($color->g, 0); 163 $this->assertEqual($color->b, 0); 164 } 165} 166 167?>