You are here

class DOMNodeComparatorTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php \SebastianBergmann\Comparator\DOMNodeComparatorTest

@coversDefaultClass SebastianBergmann\Comparator\DOMNodeComparator

Hierarchy

  • class \SebastianBergmann\Comparator\DOMNodeComparatorTest extends \SebastianBergmann\Comparator\PHPUnit_Framework_TestCase

Expanded class hierarchy of DOMNodeComparatorTest

File

vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php, line 20

Namespace

SebastianBergmann\Comparator
View source
class DOMNodeComparatorTest extends \PHPUnit_Framework_TestCase {
  private $comparator;
  protected function setUp() {
    $this->comparator = new DOMNodeComparator();
  }
  public function acceptsSucceedsProvider() {
    $document = new DOMDocument();
    $node = new DOMNode();
    return array(
      array(
        $document,
        $document,
      ),
      array(
        $node,
        $node,
      ),
      array(
        $document,
        $node,
      ),
      array(
        $node,
        $document,
      ),
    );
  }
  public function acceptsFailsProvider() {
    $document = new DOMDocument();
    return array(
      array(
        $document,
        null,
      ),
      array(
        null,
        $document,
      ),
      array(
        null,
        null,
      ),
    );
  }
  public function assertEqualsSucceedsProvider() {
    return array(
      array(
        $this
          ->createDOMDocument('<root></root>'),
        $this
          ->createDOMDocument('<root/>'),
      ),
      array(
        $this
          ->createDOMDocument('<root attr="bar"></root>'),
        $this
          ->createDOMDocument('<root attr="bar"/>'),
      ),
      array(
        $this
          ->createDOMDocument('<root><foo attr="bar"></foo></root>'),
        $this
          ->createDOMDocument('<root><foo attr="bar"/></root>'),
      ),
      array(
        $this
          ->createDOMDocument("<root>\n  <child/>\n</root>"),
        $this
          ->createDOMDocument('<root><child/></root>'),
      ),
    );
  }
  public function assertEqualsFailsProvider() {
    return array(
      array(
        $this
          ->createDOMDocument('<root></root>'),
        $this
          ->createDOMDocument('<bar/>'),
      ),
      array(
        $this
          ->createDOMDocument('<foo attr1="bar"/>'),
        $this
          ->createDOMDocument('<foo attr1="foobar"/>'),
      ),
      array(
        $this
          ->createDOMDocument('<foo> bar </foo>'),
        $this
          ->createDOMDocument('<foo />'),
      ),
      array(
        $this
          ->createDOMDocument('<foo xmlns="urn:myns:bar"/>'),
        $this
          ->createDOMDocument('<foo xmlns="urn:notmyns:bar"/>'),
      ),
      array(
        $this
          ->createDOMDocument('<foo> bar </foo>'),
        $this
          ->createDOMDocument('<foo> bir </foo>'),
      ),
    );
  }
  private function createDOMDocument($content) {
    $document = new DOMDocument();
    $document->preserveWhiteSpace = false;
    $document
      ->loadXML($content);
    return $document;
  }

  /**
   * @covers       ::accepts
   * @dataProvider acceptsSucceedsProvider
   */
  public function testAcceptsSucceeds($expected, $actual) {
    $this
      ->assertTrue($this->comparator
      ->accepts($expected, $actual));
  }

  /**
   * @covers       ::accepts
   * @dataProvider acceptsFailsProvider
   */
  public function testAcceptsFails($expected, $actual) {
    $this
      ->assertFalse($this->comparator
      ->accepts($expected, $actual));
  }

  /**
   * @covers       ::assertEquals
   * @dataProvider assertEqualsSucceedsProvider
   */
  public function testAssertEqualsSucceeds($expected, $actual) {
    $exception = null;
    try {
      $this->comparator
        ->assertEquals($expected, $actual);
    } catch (ComparisonFailure $exception) {
    }
    $this
      ->assertNull($exception, 'Unexpected ComparisonFailure');
  }

  /**
   * @covers       ::assertEquals
   * @dataProvider assertEqualsFailsProvider
   */
  public function testAssertEqualsFails($expected, $actual) {
    $this
      ->setExpectedException('SebastianBergmann\\Comparator\\ComparisonFailure', 'Failed asserting that two DOM');
    $this->comparator
      ->assertEquals($expected, $actual);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DOMNodeComparatorTest::$comparator private property
DOMNodeComparatorTest::acceptsFailsProvider public function
DOMNodeComparatorTest::acceptsSucceedsProvider public function
DOMNodeComparatorTest::assertEqualsFailsProvider public function
DOMNodeComparatorTest::assertEqualsSucceedsProvider public function
DOMNodeComparatorTest::createDOMDocument private function
DOMNodeComparatorTest::setUp protected function
DOMNodeComparatorTest::testAcceptsFails public function @covers ::accepts @dataProvider acceptsFailsProvider
DOMNodeComparatorTest::testAcceptsSucceeds public function @covers ::accepts @dataProvider acceptsSucceedsProvider
DOMNodeComparatorTest::testAssertEqualsFails public function @covers ::assertEquals @dataProvider assertEqualsFailsProvider
DOMNodeComparatorTest::testAssertEqualsSucceeds public function @covers ::assertEquals @dataProvider assertEqualsSucceedsProvider