1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace Consolidation\OutputFormatters;
- use Consolidation\OutputFormatters\StructuredData\RowsOfFields;
- use Consolidation\OutputFormatters\StructuredData\PropertyList;
- use Consolidation\OutputFormatters\Exception\IncompatibleDataException;
- class IncompatibleDataTests extends \PHPUnit_Framework_TestCase
- {
- protected $formatterManager;
- function setup() {
- $this->formatterManager = new FormatterManager();
- }
- protected function assertIncompatibleDataMessage($expected, $formatter, $data)
- {
- $e = new IncompatibleDataException($formatter, $data, $formatter->validDataTypes());
- $this->assertEquals($expected, $e->getMessage());
- }
- public function testIncompatibleData()
- {
- $tableFormatter = $this->formatterManager->getFormatter('table');
- $this->assertIncompatibleDataMessage('Data provided to Consolidation\OutputFormatters\Formatters\TableFormatter must be either an instance of Consolidation\OutputFormatters\StructuredData\RowsOfFields or an instance of Consolidation\OutputFormatters\StructuredData\PropertyList. Instead, a string was provided.', $tableFormatter, 'a string');
- $this->assertIncompatibleDataMessage('Data provided to Consolidation\OutputFormatters\Formatters\TableFormatter must be either an instance of Consolidation\OutputFormatters\StructuredData\RowsOfFields or an instance of Consolidation\OutputFormatters\StructuredData\PropertyList. Instead, an instance of Consolidation\OutputFormatters\FormatterManager was provided.', $tableFormatter, $this->formatterManager);
- $this->assertIncompatibleDataMessage('Data provided to Consolidation\OutputFormatters\Formatters\TableFormatter must be either an instance of Consolidation\OutputFormatters\StructuredData\RowsOfFields or an instance of Consolidation\OutputFormatters\StructuredData\PropertyList. Instead, an array was provided.', $tableFormatter, []);
- $this->assertIncompatibleDataMessage('Data provided to Consolidation\OutputFormatters\Formatters\TableFormatter must be either an instance of Consolidation\OutputFormatters\StructuredData\RowsOfFields or an instance of Consolidation\OutputFormatters\StructuredData\PropertyList. Instead, an instance of Consolidation\OutputFormatters\StructuredData\PropertyList was provided.', $tableFormatter, new PropertyList([]));
- }
- /**
- * @expectedException \Exception
- * @expectedExceptionMessage Undescribable data error: NULL
- */
- public function testUndescribableData()
- {
- $tableFormatter = $this->formatterManager->getFormatter('table');
- $data = $tableFormatter->validate(null);
- $this->assertEquals('Will throw before comparing.', $data);
- }
- /**
- * @expectedException \Exception
- * @expectedExceptionMessage Data provided to Consolidation\OutputFormatters\Formatters\TableFormatter must be either an instance of Consolidation\OutputFormatters\StructuredData\RowsOfFields or an instance of Consolidation\OutputFormatters\StructuredData\PropertyList. Instead, a string was provided.
- */
- public function testInvalidTableData()
- {
- $tableFormatter = $this->formatterManager->getFormatter('table');
- $data = $tableFormatter->validate('bad data type');
- $this->assertEquals('Will throw before comparing.', $data);
- }
- /**
- * @expectedException \Exception
- * @expectedExceptionMessage Data provided to Consolidation\OutputFormatters\Formatters\SectionsFormatter must be an instance of Consolidation\OutputFormatters\StructuredData\RowsOfFields. Instead, a string was provided.
- */
- public function testInvalidSectionsData()
- {
- $tableFormatter = $this->formatterManager->getFormatter('sections');
- $data = $tableFormatter->validate('bad data type');
- $this->assertEquals('Will throw before comparing.', $data);
- }
- }
|