3
* This file is part of the Comparator package.
5
* (c) Sebastian Bergmann <sebastian@phpunit.de>
7
* For the full copyright and license information, please view the LICENSE
8
* file that was distributed with this source code.
11
namespace SebastianBergmann\Comparator;
17
* @coversDefaultClass SebastianBergmann\Comparator\DOMNodeComparator
20
* @author Jeff Welch <whatthejeff@gmail.com>
21
* @copyright Sebastian Bergmann <sebastian@phpunit.de>
22
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
23
* @link http://www.github.com/sebastianbergmann/comparator
25
class DOMNodeComparatorTest extends \PHPUnit_Framework_TestCase
29
protected function setUp()
31
$this->comparator = new DOMNodeComparator;
34
public function acceptsSucceedsProvider()
36
$document = new DOMDocument;
40
array($document, $document),
42
array($document, $node),
43
array($node, $document)
47
public function acceptsFailsProvider()
49
$document = new DOMDocument;
52
array($document, null),
53
array(null, $document),
58
public function assertEqualsSucceedsProvider()
62
$this->createDOMDocument('<root></root>'),
63
$this->createDOMDocument('<root/>')
66
$this->createDOMDocument('<root attr="bar"></root>'),
67
$this->createDOMDocument('<root attr="bar"/>')
70
$this->createDOMDocument('<root><foo attr="bar"></foo></root>'),
71
$this->createDOMDocument('<root><foo attr="bar"/></root>')
74
$this->createDOMDocument("<root>\n <child/>\n</root>"),
75
$this->createDOMDocument('<root><child/></root>')
80
public function assertEqualsFailsProvider()
84
$this->createDOMDocument('<root></root>'),
85
$this->createDOMDocument('<bar/>')
88
$this->createDOMDocument('<foo attr1="bar"/>'),
89
$this->createDOMDocument('<foo attr1="foobar"/>')
92
$this->createDOMDocument('<foo> bar </foo>'),
93
$this->createDOMDocument('<foo />')
96
$this->createDOMDocument('<foo xmlns="urn:myns:bar"/>'),
97
$this->createDOMDocument('<foo xmlns="urn:notmyns:bar"/>')
100
$this->createDOMDocument('<foo> bar </foo>'),
101
$this->createDOMDocument('<foo> bir </foo>')
106
private function createDOMDocument($content)
108
$document = new DOMDocument;
109
$document->preserveWhiteSpace = false;
110
$document->loadXML($content);
117
* @dataProvider acceptsSucceedsProvider
119
public function testAcceptsSucceeds($expected, $actual)
122
$this->comparator->accepts($expected, $actual)
128
* @dataProvider acceptsFailsProvider
130
public function testAcceptsFails($expected, $actual)
133
$this->comparator->accepts($expected, $actual)
138
* @covers ::assertEquals
139
* @dataProvider assertEqualsSucceedsProvider
141
public function testAssertEqualsSucceeds($expected, $actual)
146
$this->comparator->assertEquals($expected, $actual);
149
catch (ComparisonFailure $exception) {
152
$this->assertNull($exception, 'Unexpected ComparisonFailure');
156
* @covers ::assertEquals
157
* @dataProvider assertEqualsFailsProvider
159
public function testAssertEqualsFails($expected, $actual)
161
$this->setExpectedException(
162
'SebastianBergmann\\Comparator\\ComparisonFailure',
163
'Failed asserting that two DOM'
165
$this->comparator->assertEquals($expected, $actual);