1<?php 2 3class TestPagebreakBorder extends GenericTest { 4 function testPagebreakBorder1() { 5 $media = new Media(array('width' => 100, 'height' => 200/mm2pt(1)), 6 array('top'=>0, 'bottom'=>0, 'left'=>0, 'right'=>0)); 7 $tree = $this->runPipeline(' 8<html> 9<head> 10<style type="text/css"> 11body { font-size: 10pt; line-height: 1; orphans:0; widows: 0; padding: 0; margin: 0; } 12#first { line-height: 1; height: 180pt; } 13#second { width: 3em; border: solid black 1pt; } 14</style> 15</head> 16<body> 17<div id="first"> </div> 18<div id="second"><!--Page break should be here--> 19LINE1 20LINE2 21LINE3 22LINE4 23LINE5 24</div> 25</body> 26</html> 27', $media); 28 29 /** 30 * Calculate page heights 31 */ 32 $page_heights = PageBreakLocator::getPages($tree, 33 mm2pt($media->real_height()), 34 mm2pt($media->height() - $media->margins['top'])); 35 36 $first_div = $tree->get_element_by_id('first'); 37 $second_div = $tree->get_element_by_id('second'); 38 39 $this->assertEqual(count($page_heights), 2, 40 sprintf("Two pages expected, got %s", 41 count($page_heights))); 42 $this->assertEqual($page_heights[0], 43 $first_div->get_full_height()); 44 } 45 46 function testPagebreakBorderTestNoBorder() { 47 $media = new Media(array('width' => 100, 'height' => 200/mm2pt(1)), 48 array('top'=>0, 'bottom'=>0, 'left'=>0, 'right'=>0)); 49 $tree = $this->runPipeline(' 50<html> 51<head> 52<style type="text/css"> 53body { font-size: 10pt; line-height: 1; orphans:0; widows: 0; padding: 0; margin: 0; } 54#first { line-height: 1; height: 180pt; } 55#second { width: 3em; } 56</style> 57</head> 58<body> 59<div id="first"> </div> 60<div id="second"> 61LINE1<!--Page break should be here--> 62LINE2 63LINE3 64LINE4 65LINE5 66</div> 67</body> 68</html> 69', $media); 70 71 /** 72 * Calculate page heights 73 */ 74 $page_heights = PageBreakLocator::getPages($tree, 75 mm2pt($media->real_height()), 76 mm2pt($media->height() - $media->margins['top'])); 77 78 $first_div = $tree->get_element_by_id('first'); 79 $second_div = $tree->get_element_by_id('second'); 80 81 $this->assertEqual(count($page_heights), 2, 82 sprintf("Two pages expected, got %s", 83 count($page_heights))); 84 $this->assertEqual($page_heights[0], 85 $first_div->get_full_height() + pt2pt(20)); 86 } 87} 88 89?>