function test_multiplePages()
 {
     $report = new Thinreports\Report(__DIR__ . '/layouts/normal_page.tlf');
     $report->addPage();
     $report->addPage();
     $report->addBlankPage();
     $analyzer = $this->analyzePDF($report->generate());
     $this->assertEquals(3, $analyzer->getPageCount());
     $this->assertContains('Normal Page', $analyzer->getTextsInPage(1));
     $this->assertContains('Normal Page', $analyzer->getTextsInPage(2));
     $this->assertTrue($analyzer->isEmptyPage(3));
 }
 function test_multipleLayouts()
 {
     $report = new Thinreports\Report(__DIR__ . '/layouts/A4_landscape.tlf');
     foreach (array_keys($this->layout_geometries) as $filename) {
         $report->addPage(__DIR__ . "/layouts/{$filename}.tlf");
         # Insert a blank page
         $report->addBlankPage();
     }
     # Finally, insert a page without specifing layout
     $report->addPage();
     $analyzer = $this->analyzePDF($report->generate());
     $expected_page_formats = array(array('size' => $this->layout_geometries['A3_portrait'], 'is_blank' => false), array('size' => $this->layout_geometries['A3_portrait'], 'is_blank' => true), array('size' => $this->layout_geometries['A4_portrait'], 'is_blank' => false), array('size' => $this->layout_geometries['A4_portrait'], 'is_blank' => true), array('size' => $this->layout_geometries['A4_landscape'], 'is_blank' => false), array('size' => $this->layout_geometries['A4_landscape'], 'is_blank' => true), array('size' => $this->layout_geometries['user_400x400'], 'is_blank' => false), array('size' => $this->layout_geometries['user_400x400'], 'is_blank' => true), array('size' => $this->layout_geometries['A4_landscape'], 'is_blank' => false));
     foreach ($expected_page_formats as $index => $expected_page_format) {
         $page_no = $index + 1;
         $expected_page_size = $expected_page_format['size'];
         $expected_page_is_blank = $expected_page_format['is_blank'];
         $actual_page_size = $analyzer->getSizeOfPage($page_no);
         $actual_page_is_blank = $analyzer->isEmptyPage($page_no);
         $subject = "At page {$page_no}";
         $this->assertEquals($expected_page_size['width'], $actual_page_size['width'], $subject);
         $this->assertEquals($expected_page_size['height'], $actual_page_size['height'], $subject);
         $this->assertEquals($expected_page_is_blank, $actual_page_is_blank, $subject);
     }
 }