52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?php
|
|
// {{{ICINGA_LICENSE_HEADER}}}
|
|
// {{{ICINGA_LICENSE_HEADER}}}
|
|
|
|
namespace Tests\Icinga\Chart;
|
|
|
|
use DOMXPath;
|
|
use DOMDocument;
|
|
use Icinga\Chart\GridChart;
|
|
use Icinga\Test\BaseTestCase;
|
|
|
|
class GraphChartTest extends BaseTestCase
|
|
{
|
|
public function testBarChartCreation()
|
|
{
|
|
$chart = new GridChart();
|
|
$chart->drawBars(
|
|
array(
|
|
'label' => 'My bar',
|
|
'color' => 'black',
|
|
'data' => array(array(0, 0), array(1,1), array(1,2))
|
|
)
|
|
);
|
|
$doc = new DOMDocument();
|
|
$doc->preserveWhiteSpace = false;
|
|
$doc->loadXML($chart->render());
|
|
$xpath = new DOMXPath($doc);
|
|
$xpath->registerNamespace('x', 'http://www.w3.org/2000/svg');
|
|
$path = $xpath->query('//x:rect[@data-icinga-graph-type="bar"]');
|
|
$this->assertEquals(6, $path->length, 'Assert the correct number of datapoints being drawn as SVG bars');
|
|
}
|
|
|
|
public function testLineChartCreation()
|
|
{
|
|
$chart = new GridChart();
|
|
$chart->drawLines(
|
|
array(
|
|
'label' => 'My bar',
|
|
'color' => 'black',
|
|
'data' => array(array(0, 0), array(1,1), array(1,2))
|
|
)
|
|
);
|
|
$doc = new DOMDocument();
|
|
$doc->preserveWhiteSpace = false;
|
|
$doc->loadXML($chart->render());
|
|
$xpath = new DOMXPath($doc);
|
|
$xpath->registerNamespace('x', 'http://www.w3.org/2000/svg');
|
|
$path = $xpath->query('//x:path[@data-icinga-graph-type="line"]');
|
|
$this->assertEquals(1, $path->length, 'Assert the correct number of datapoints being drawn as SVG lines');
|
|
}
|
|
}
|