1<?php
2
3class TestWidthAbsolutePositioned extends GenericTest {
4  function testWidthAbsolutePositioned1() {
5    $media = null;
6    $pipeline = null;
7    $tree = $this->runPipeline(file_get_contents('test.width.absolute.positioned.1.html'),
8                               $media,
9                               $pipeline);
10
11    $font_size = $tree->getCSSProperty(CSS_FONT_SIZE);
12    $base = $font_size->getPoints();
13
14    $element =& $tree->get_element_by_id('div1');
15    $this->assertWithinMargin($element->get_width(),
16                              $pipeline->output_driver->stringwidth('No positioning data at all', 'Times-Roman', 'iso-8859-1', $base),
17                              0);
18
19    $element =& $tree->get_element_by_id('div2');
20    $this->assertWithinMargin($element->get_width(),
21                              $pipeline->output_driver->stringwidth('Left', 'Times-Roman', 'iso-8859-1', $base),
22                              0);
23
24    $element =& $tree->get_element_by_id('div3');
25    $this->assertEqual($element->get_width(),
26                       mm2pt($media->real_width()) - px2pt(200));
27
28    $element =& $tree->get_element_by_id('div4');
29    $this->assertEqual($element->get_width(),
30                       px2pt(100));
31
32    $element =& $tree->get_element_by_id('div5');
33    $this->assertEqual($element->get_width(),
34                       px2pt(100));
35
36    $element =& $tree->get_element_by_id('div6');
37    $this->assertEqual($element->get_width(),
38                       px2pt(100));
39
40    $element =& $tree->get_element_by_id('div7');
41    $this->assertEqual($element->get_width(),
42                       px2pt(100));
43
44    $element =& $tree->get_element_by_id('div8');
45    $this->assertWithinMargin($element->get_width(),
46                              $pipeline->output_driver->stringwidth('Right', 'Times-Roman', 'iso-8859-1', $base),
47                              0);
48
49    $element =& $tree->get_element_by_id('div9');
50    $this->assertEqual($element->get_width(),
51                       mm2pt($media->real_width()) - px2pt(100),
52                       'DIV with long text and "left" property has incorrect width [%s]');
53
54    $element =& $tree->get_element_by_id('div10');
55    $this->assertEqual($element->get_width(),
56                       mm2pt($media->real_width()) - px2pt(100),
57                       'DIV with long text and "right" property has incorrect width [%s]');
58
59    $element =& $tree->get_element_by_id('div11');
60    $this->assertEqual($element->get_width(),
61                       mm2pt($media->real_width()),
62                       'DIV with long text and no positioning properties has incorrect width [%s]');
63
64    $element =& $tree->get_element_by_id('div12');
65    $this->assertEqual($element->get_width(),
66                       mm2pt($media->real_width()) - px2pt(200),
67                       'DIV with long text and both "left" and "right" properties has incorrect width [%s]');
68  }
69}
70
71?>