View source
<?php
class DOCExportViewsDataExportExporterTests extends ViewsDataExportExporterBaseTest {
protected $profile = 'testing';
public static function getInfo() {
return array(
'name' => 'DOC Exporter Test',
'description' => 'Various tests for export using the DOC exporter class.',
'group' => 'Views Data Export',
);
}
protected function getExporter($options = array()) {
require_once dirname(__FILE__) . '/../../exporters/views_data_export_exporter_doc.inc';
$classname = $this
->getExporterClassName();
return new $classname($options);
}
protected function getExporterClassName() {
return 'ViewsDataExportExporterDOC';
}
protected function dataSet() {
return array(
array(
'name' => 'John',
'age' => 25,
'job' => 'Singer',
'created' => gmmktime(0, 0, 0, 1, 1, 2000),
),
array(
'name' => 'George',
'age' => 27,
'job' => 'Singer',
'created' => gmmktime(0, 0, 0, 1, 2, 2000),
),
array(
'name' => 'Ringo',
'age' => 28,
'job' => 'Drummer',
'created' => gmmktime(6, 30, 30, 1, 1, 2000),
),
array(
'name' => 'Paul',
'age' => 26,
'job' => 'Songwriter',
'created' => gmmktime(6, 0, 0, 1, 1, 2000),
),
array(
'name' => 'Meredith',
'age' => 30,
'job' => 'Speaker',
'created' => gmmktime(6, 30, 10, 1, 1, 2000),
),
);
}
protected function testBOF() {
$result = $this
->executeBOF($this
->getExporter(array(
'field_labels' => array(
'Name',
'Age',
'Job',
'Created',
),
)));
$expected = '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table>
<thead><tr><th>Name</th><th>Age</th><th>Job</th><th>Created</th></tr></thead>
<tbody>
';
$this
->logVerboseResult($result, 'Actual result');
$this
->logVerboseResult($expected, 'Expected result');
$this
->assertEqual($result, $expected, 'The header is as expected.');
}
protected function testBodyWrite() {
$result = $this
->executeFullWrite($this
->getExporter(), $this
->dataSet(), 0, array(
'Name',
'Age',
'Job',
'Created',
));
$expected = ' <tr class="odd"><td>John</td><td>25</td><td>Singer</td><td>946684800</td></tr>
<tr class="even"><td>George</td><td>27</td><td>Singer</td><td>946771200</td></tr>
<tr class="odd"><td>Ringo</td><td>28</td><td>Drummer</td><td>946708230</td></tr>
<tr class="even"><td>Paul</td><td>26</td><td>Songwriter</td><td>946706400</td></tr>
<tr class="odd"><td>Meredith</td><td>30</td><td>Speaker</td><td>946708210</td></tr>
';
$this
->logVerboseResult($result, 'Actual result');
$this
->logVerboseResult($expected, 'Expected result');
$this
->assertEqual($result, $expected, 'The content is as expected.');
}
protected function testEOF() {
$exporter = $this
->getExporter();
$result = $this
->executeEOF($exporter);
$expect = ' </tbody>
</table>
</body>
</html>';
$this
->logVerboseResult($result, 'Actual result');
$this
->logVerboseResult($expect, 'Expected to contain');
$this
->assertEqual($result, $expect, 'The EOF is as expected.');
}
}