1<?php 2 3class TestCSSParseAtRules extends GenericTest { 4 function testCSSParseAtRulesSimple() { 5 $pipeline =& PipelineFactory::create_default_pipeline('utf-8', 'test.pdf'); 6 $new_css_content =& parse_css_atpage_rules('body { background-color: green; } @page { background-color: red; } #test { border: none; }', $pipeline); 7 8 $this->assertEqual($new_css_content, 'body { background-color: green; } #test { border: none; }'); 9 10 $color =& $pipeline->_page_at_rules[CSS_PAGE_SELECTOR_ALL][0]->css->getPropertyValue(CSS_BACKGROUND_COLOR); 11 $this->assertNotNull($color); 12 $this->assertEqual($color->r, 1); 13 $this->assertEqual($color->g, 0); 14 $this->assertEqual($color->b, 0); 15 } 16 17 function testCSSParseAtRulesNested() { 18 $pipeline =& PipelineFactory::create_default_pipeline('utf-8', 'test.pdf'); 19 $new_css_content =& parse_css_atpage_rules('body { background-color: green; } @page { @top-left { background-color: lime; } } #test { border: none; }', $pipeline); 20 21 $this->assertEqual($new_css_content, 'body { background-color: green; } #test { border: none; }'); 22 23 $color =& $pipeline->_page_at_rules[CSS_PAGE_SELECTOR_ALL][0]->margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT]->css->body->getPropertyValue(CSS_BACKGROUND_COLOR); 24 $this->assertNotNull($color); 25 $this->assertEqual($color->r, 0); 26 $this->assertEqual($color->g, 1); 27 $this->assertEqual($color->b, 0); 28 } 29 30 function testCSSParseAtRulesNestedContent() { 31 $pipeline =& PipelineFactory::create_default_pipeline('utf-8', 'test.pdf'); 32 $new_css_content =& parse_css_atpage_rules('body { background-color: green; } @page { @top-left { content: "TEXT"; } } #test { border: none; }', $pipeline); 33 34 $this->assertEqual($new_css_content, 'body { background-color: green; } #test { border: none; }'); 35 36 $content =& $pipeline->_page_at_rules[CSS_PAGE_SELECTOR_ALL][0]->margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT]->css->body->getPropertyValue(CSS_CONTENT); 37 $this->assertNotNull($content); 38 $this->assertEqual($content->render(new CSSCounterCollection()), "TEXT"); 39 } 40} 41 42?>