class XmlParserTraitTest in Feeds 8.3
@coversDefaultClass \Drupal\feeds\Component\XmlParserTrait @group feeds
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\feeds\Unit\FeedsUnitTestCase uses FeedsMockingTrait, FeedsReflectionTrait
- class \Drupal\Tests\feeds\Unit\Component\XmlParserTraitTest
- class \Drupal\Tests\feeds\Unit\FeedsUnitTestCase uses FeedsMockingTrait, FeedsReflectionTrait
Expanded class hierarchy of XmlParserTraitTest
File
- tests/
src/ Unit/ Component/ XmlParserTraitTest.php, line 11
Namespace
Drupal\Tests\feeds\Unit\ComponentView source
class XmlParserTraitTest extends FeedsUnitTestCase {
/**
* Basic XML parsing test.
*/
public function test() {
$trait = $this
->getMockForTrait('Drupal\\feeds\\Component\\XmlParserTrait');
$doc = $this
->callProtectedMethod($trait, 'getDomDocument', [
' <thing></thing> ',
]);
$this
->assertSame('DOMDocument', get_class($doc));
$errors = $this
->callProtectedMethod($trait, 'getXmlErrors');
$this
->assertSame([], $errors);
}
/**
* Tests parsing a document with invalid XML.
*/
public function testErrors() {
$trait = $this
->getMockForTrait('Drupal\\feeds\\Component\\XmlParserTrait');
$doc = $this
->callProtectedMethod($trait, 'getDomDocument', [
'asdfasdf',
]);
$this
->assertSame('DOMDocument', get_class($doc));
$errors = $this
->callProtectedMethod($trait, 'getXmlErrors');
$this
->assertSame("Start tag expected, '<' not found", $errors[3][0]['message']);
}
/**
* Strip some namespaces out of XML.
*
* @dataProvider namespaceProvider
*/
public function testRemoveDefaultNamespaces($in, $out) {
$trait = $this
->getMockForTrait('Drupal\\feeds\\Component\\XmlParserTrait');
$result = $this
->callProtectedMethod($trait, 'removeDefaultNamespaces', [
$in,
]);
$this
->assertSame($out, $result);
}
/**
* Data provider for testRemoveDefaultNamespaces().
*
* Checks that the input and output are equal.
*/
public function namespaceProvider() {
return [
[
'<feed xmlns="http://www.w3.org/2005/Atom">bleep blorp</feed>',
'<feed>bleep blorp</feed>',
],
[
'<подача xmlns="http://www.w3.org/2005/Atom">bleep blorp</подача>',
'<подача>bleep blorp</подача>',
],
[
'<по.дача xmlns="http://www.w3.org/2005/Atom">bleep blorp</по.дача>',
'<по.дача>bleep blorp</по.дача>',
],
[
'<element other attrs xmlns="http://www.w3.org/2005/Atom">bleep blorp</element>',
'<element other attrs>bleep blorp</element>',
],
[
'<cat xmlns="http://www.w3.org/2005/Atom" other attrs>bleep blorp</cat>',
'<cat other attrs>bleep blorp</cat>',
],
[
'<飼料 thing="stuff" xmlns="http://www.w3.org/2005/Atom">bleep blorp</飼料>',
'<飼料 thing="stuff">bleep blorp</飼料>',
],
[
'<飼-料 thing="stuff" xmlns="http://www.w3.org/2005/Atom">bleep blorp</飼-料>',
'<飼-料 thing="stuff">bleep blorp</飼-料>',
],
[
'<self xmlns="http://www.w3.org/2005/Atom" />',
'<self />',
],
[
'<self attr xmlns="http://www.w3.org/2005/Atom"/>',
'<self attr/>',
],
[
'<a xmlns="http://www.w3.org/2005/Atom"/>',
'<a/>',
],
[
'<a xmlns="http://www.w3.org/2005/Atom"></a>',
'<a></a>',
],
[
'<a href="http://google.com" xmlns="http://www.w3.org/2005/Atom"></a>',
'<a href="http://google.com"></a>',
],
// Test invalid XML element names.
[
'<1name href="http://google.com" xmlns="http://www.w3.org/2005/Atom"></1name>',
'<1name href="http://google.com" xmlns="http://www.w3.org/2005/Atom"></1name>',
],
// Test other namespaces.
[
'<name href="http://google.com" xmlns:h="http://www.w3.org/2005/Atom"></name>',
'<name href="http://google.com" xmlns:h="http://www.w3.org/2005/Atom"></name>',
],
// Test multiple default namespaces.
[
'<name xmlns="http://www.w3.org/2005/Atom"></name><name xmlns="http://www.w3.org/2005/Atom"></name>',
'<name></name><name></name>',
],
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FeedsMockingTrait:: |
protected | function | Mocks an account object. | |
FeedsMockingTrait:: |
protected | function | Returns a mocked AccountSwitcher object. | |
FeedsMockingTrait:: |
protected | function | Returns a mocked feed entity. | |
FeedsMockingTrait:: |
protected | function | Returns a mocked feed type entity. | |
FeedsMockingTrait:: |
protected | function | Mocks a field definition. | 1 |
FeedsMockingTrait:: |
protected | function | Mocks the file system. | |
FeedsReflectionTrait:: |
protected | function | Calls a protected method on the given object. | |
FeedsReflectionTrait:: |
protected | function | Gets a ReflectionMethod for a class method. | |
FeedsReflectionTrait:: |
protected | function | Returns a dynamically created closure for the object's method. | |
FeedsReflectionTrait:: |
protected | function | Sets a protected property. | |
FeedsUnitTestCase:: |
protected | function | Returns the absolute directory path of the Feeds module. | |
FeedsUnitTestCase:: |
protected | function | Defines stub constants. | |
FeedsUnitTestCase:: |
protected | function | Returns a mock stream wrapper manager. | |
FeedsUnitTestCase:: |
protected | function | Returns the absolute directory path of the resources folder. | |
FeedsUnitTestCase:: |
public | function |
Overrides UnitTestCase:: |
27 |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. | |
XmlParserTraitTest:: |
public | function | Data provider for testRemoveDefaultNamespaces(). | |
XmlParserTraitTest:: |
public | function | Basic XML parsing test. | |
XmlParserTraitTest:: |
public | function | Tests parsing a document with invalid XML. | |
XmlParserTraitTest:: |
public | function | Strip some namespaces out of XML. |