Failed Conditions
Pull Request — master (#4412)
by
unknown
14:08
created

HtmlConditionalFormattingTest::tearDown()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
dl 0
loc 5
rs 10
c 1
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
6
7
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
8
use PhpOffice\PhpSpreadsheet\Shared\File;
9
use PhpOffice\PhpSpreadsheet\Writer\Html as HtmlWriter;
10
use PHPUnit\Framework\TestCase;
11
12
class HtmlConditionalFormattingTest extends TestCase
13
{
14
    private string $outfile = '';
15
16
    protected function tearDown(): void
17
    {
18
        if ($this->outfile !== '') {
19
            unlink($this->outfile);
20
            $this->outfile = '';
21
        }
22
    }
23
24
    public function testConditionalFormattingHtmlOutput(): void
25
    {
26
        $this->outfile = File::temporaryFilename();
27
        $file = 'tests/data/Writer/Html/HtmlConditionalFormattingTest.xlsx';
28
        $reader = new XlsxReader();
29
        $spreadsheet = $reader->load($file);
30
        $writer = new HtmlWriter($spreadsheet);
31
        $writer->setConditionalFormatting(true);
32
33
        $file = 'zip://';
34
        $file .= $this->outfile;
35
        $file .= '#xl/styles.xml';
36
        $data = str_replace(["\r", "\n"], '', $writer->generateHtmlAll());
37
        $expected = '    <table border=\'0\' cellpadding=\'0\' cellspacing=\'0\' id=\'sheet0\' class=\'sheet0 gridlines\'>        <col class="col0" />        <col class="col1" />        <col class="col2" />        <col class="col3" />        <col class="col4" />        <col class="col5" />        <col class="col6" />        <col class="col7" />        <col class="col8" />        <col class="col9" />        <col class="col10" />        <col class="col11" />        <col class="col12" />        <col class="col13" />        <col class="col14" />        <col class="col15" />        <col class="col16" />        <col class="col17" />        <col class="col18" />        <col class="col19" />        <col class="col20" />        <col class="col21" />        <col class="col22" />        <col class="col23" />        <col class="col24" />        <col class="col25" />        <tbody>          <tr class="row0">            <td class="column0 style0">&nbsp;</td>            <td class="column1 style1 s">Jan</td>            <td class="column2 style1 s">Feb</td>            <td class="column3 style1 s">Mar</td>            <td class="column4 style1 s">Apr</td>            <td class="column5 style1 s">May</td>            <td class="column6 style1 s">Jun</td>            <td class="column7 style1 s">Jul</td>            <td class="column8 style1 s">Aug</td>            <td class="column9 style1 s">Sep</td>            <td class="column10 style1 s">Oct</td>            <td class="column11 style1 s">Nov</td>            <td class="column12 style1 s">Dec</td>          </tr>          <tr class="row1">            <td class="column0 style1 s">Line A</td>            <td class="column1 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column2 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column3 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column4 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column5 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">120</td>            <td class="column6 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column7 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#9C5700;font-family:\'Arial\';font-size:11pt;background-color:#FFEB9C;">90</td>            <td class="column8 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column9 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column10 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column11 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>            <td class="column12 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">110</td>          </tr>          <tr class="row2">            <td class="column0 style1 s">Line B</td>            <td class="column1 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column2 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">80</td>            <td class="column3 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column4 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column5 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column6 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column7 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#9C5700;font-family:\'Arial\';font-size:11pt;background-color:#FFEB9C;">60</td>            <td class="column8 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column9 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column10 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column11 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>            <td class="column12 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">70</td>          </tr>          <tr class="row3">            <td class="column0 style1 s">Line C</td>            <td class="column1 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column2 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column3 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column4 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column5 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column6 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column7 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column8 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column9 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column10 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>            <td class="column11 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#9C0006;font-family:\'Arial\';font-size:11pt;background-color:#FFC7CE;">5</td>            <td class="column12 style1 n" style="vertical-align:bottom;border-bottom:1px solid #000000 !important;border-top:1px solid #000000 !important;border-left:1px solid #000000 !important;border-right:1px solid #000000 !important;color:#006100;font-family:\'Arial\';font-size:11pt;background-color:#C6EFCE;">1</td>          </tr>          <tr class="row4">            <td class="column0 style1 s">Line D</td>            <td class="column1 style1 n">1</td>            <td class="column2 style1 n">1</td>            <td class="column3 style1 n">1</td>            <td class="column4 style1 n">1</td>            <td class="column5 style1 n">0</td>            <td class="column6 style1 n">1</td>            <td class="column7 style1 n">1</td>            <td class="column8 style1 n">0</td>            <td class="column9 style1 n">1</td>            <td class="column10 style1 n">1</td>            <td class="column11 style1 n">5</td>            <td class="column12 style1 n">1</td>          </tr>    </tbody></table>';
38
        self::assertStringContainsString($expected, $data, 'conditional formatting');
39
        $spreadsheet->disconnectWorksheets();
40
    }
41
}
42