Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663
This commit is contained in:
parent
eb34d130a8
commit
f32e58e4b1
8476 changed files with 211648 additions and 170042 deletions
449
vendor/behat/mink/tests/Element/DocumentElementTest.php
vendored
Normal file
449
vendor/behat/mink/tests/Element/DocumentElementTest.php
vendored
Normal file
|
@ -0,0 +1,449 @@
|
|||
<?php
|
||||
|
||||
namespace Behat\Mink\Tests\Element;
|
||||
|
||||
use Behat\Mink\Element\DocumentElement;
|
||||
|
||||
class DocumentElementTest extends ElementTest
|
||||
{
|
||||
/**
|
||||
* Page.
|
||||
*
|
||||
* @var DocumentElement
|
||||
*/
|
||||
private $document;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->document = new DocumentElement($this->session);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
*/
|
||||
public function testGetSession()
|
||||
{
|
||||
$this->assertEquals($this->session, $this->document->getSession());
|
||||
}
|
||||
|
||||
public function testFindAll()
|
||||
{
|
||||
$xpath = 'h3[a]';
|
||||
$css = 'h3 > a';
|
||||
|
||||
$this->driver
|
||||
->expects($this->exactly(2))
|
||||
->method('find')
|
||||
->will($this->returnValueMap(array(
|
||||
array('//html/'.$xpath, array(2, 3, 4)),
|
||||
array('//html/'.$css, array(1, 2)),
|
||||
)));
|
||||
|
||||
$this->selectors
|
||||
->expects($this->exactly(2))
|
||||
->method('selectorToXpath')
|
||||
->will($this->returnValueMap(array(
|
||||
array('xpath', $xpath, $xpath),
|
||||
array('css', $css, $css),
|
||||
)));
|
||||
|
||||
$this->assertEquals(3, count($this->document->findAll('xpath', $xpath)));
|
||||
$this->assertEquals(2, count($this->document->findAll('css', $css)));
|
||||
}
|
||||
|
||||
public function testFind()
|
||||
{
|
||||
$this->driver
|
||||
->expects($this->exactly(3))
|
||||
->method('find')
|
||||
->with('//html/h3[a]')
|
||||
->will($this->onConsecutiveCalls(array(2, 3, 4), array(1, 2), array()));
|
||||
|
||||
$xpath = 'h3[a]';
|
||||
$css = 'h3 > a';
|
||||
|
||||
$this->selectors
|
||||
->expects($this->exactly(3))
|
||||
->method('selectorToXpath')
|
||||
->will($this->returnValueMap(array(
|
||||
array('xpath', $xpath, $xpath),
|
||||
array('xpath', $xpath, $xpath),
|
||||
array('css', $css, $xpath),
|
||||
)));
|
||||
|
||||
$this->assertEquals(2, $this->document->find('xpath', $xpath));
|
||||
$this->assertEquals(1, $this->document->find('css', $css));
|
||||
$this->assertNull($this->document->find('xpath', $xpath));
|
||||
}
|
||||
|
||||
public function testFindField()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array('field1', 'field2', 'field3'),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->assertEquals('field1', $this->document->findField('some field'));
|
||||
$this->assertEquals(null, $this->document->findField('some field'));
|
||||
}
|
||||
|
||||
public function testFindLink()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//link',
|
||||
array('link1', 'link2', 'link3'),
|
||||
array('link', 'some link')
|
||||
);
|
||||
|
||||
$this->assertEquals('link1', $this->document->findLink('some link'));
|
||||
$this->assertEquals(null, $this->document->findLink('some link'));
|
||||
}
|
||||
|
||||
public function testFindButton()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//button',
|
||||
array('button1', 'button2', 'button3'),
|
||||
array('button', 'some button')
|
||||
);
|
||||
|
||||
$this->assertEquals('button1', $this->document->findButton('some button'));
|
||||
$this->assertEquals(null, $this->document->findButton('some button'));
|
||||
}
|
||||
|
||||
public function testFindById()
|
||||
{
|
||||
$xpath = '//*[@id=some-item-2]';
|
||||
|
||||
$this->mockNamedFinder($xpath, array(array('id2', 'id3'), array()), array('id', 'some-item-2'));
|
||||
|
||||
$this->assertEquals('id2', $this->document->findById('some-item-2'));
|
||||
$this->assertEquals(null, $this->document->findById('some-item-2'));
|
||||
}
|
||||
|
||||
public function testHasSelector()
|
||||
{
|
||||
$this->driver
|
||||
->expects($this->exactly(2))
|
||||
->method('find')
|
||||
->with('//html/some xpath')
|
||||
->will($this->onConsecutiveCalls(array('id2', 'id3'), array()));
|
||||
|
||||
$this->selectors
|
||||
->expects($this->exactly(2))
|
||||
->method('selectorToXpath')
|
||||
->with('xpath', 'some xpath')
|
||||
->will($this->returnValue('some xpath'));
|
||||
|
||||
$this->assertTrue($this->document->has('xpath', 'some xpath'));
|
||||
$this->assertFalse($this->document->has('xpath', 'some xpath'));
|
||||
}
|
||||
|
||||
public function testHasContent()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//some content',
|
||||
array('item1', 'item2'),
|
||||
array('content', 'some content')
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasContent('some content'));
|
||||
$this->assertFalse($this->document->hasContent('some content'));
|
||||
}
|
||||
|
||||
public function testHasLink()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//link',
|
||||
array('link1', 'link2', 'link3'),
|
||||
array('link', 'some link')
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasLink('some link'));
|
||||
$this->assertFalse($this->document->hasLink('some link'));
|
||||
}
|
||||
|
||||
public function testHasButton()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//button',
|
||||
array('button1', 'button2', 'button3'),
|
||||
array('button', 'some button')
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasButton('some button'));
|
||||
$this->assertFalse($this->document->hasButton('some button'));
|
||||
}
|
||||
|
||||
public function testHasField()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array('field1', 'field2', 'field3'),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasField('some field'));
|
||||
$this->assertFalse($this->document->hasField('some field'));
|
||||
}
|
||||
|
||||
public function testHasCheckedField()
|
||||
{
|
||||
$checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$checkbox
|
||||
->expects($this->exactly(2))
|
||||
->method('isChecked')
|
||||
->will($this->onConsecutiveCalls(true, false));
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array(array($checkbox), array(), array($checkbox)),
|
||||
array('field', 'some checkbox'),
|
||||
3
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasCheckedField('some checkbox'));
|
||||
$this->assertFalse($this->document->hasCheckedField('some checkbox'));
|
||||
$this->assertFalse($this->document->hasCheckedField('some checkbox'));
|
||||
}
|
||||
|
||||
public function testHasUncheckedField()
|
||||
{
|
||||
$checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$checkbox
|
||||
->expects($this->exactly(2))
|
||||
->method('isChecked')
|
||||
->will($this->onConsecutiveCalls(true, false));
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array(array($checkbox), array(), array($checkbox)),
|
||||
array('field', 'some checkbox'),
|
||||
3
|
||||
);
|
||||
|
||||
$this->assertFalse($this->document->hasUncheckedField('some checkbox'));
|
||||
$this->assertFalse($this->document->hasUncheckedField('some checkbox'));
|
||||
$this->assertTrue($this->document->hasUncheckedField('some checkbox'));
|
||||
}
|
||||
|
||||
public function testHasSelect()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//select',
|
||||
array('select'),
|
||||
array('select', 'some select field')
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasSelect('some select field'));
|
||||
$this->assertFalse($this->document->hasSelect('some select field'));
|
||||
}
|
||||
|
||||
public function testHasTable()
|
||||
{
|
||||
$this->mockNamedFinder(
|
||||
'//table',
|
||||
array('table'),
|
||||
array('table', 'some table')
|
||||
);
|
||||
|
||||
$this->assertTrue($this->document->hasTable('some table'));
|
||||
$this->assertFalse($this->document->hasTable('some table'));
|
||||
}
|
||||
|
||||
public function testClickLink()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('click');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//link',
|
||||
array($node),
|
||||
array('link', 'some link')
|
||||
);
|
||||
|
||||
$this->document->clickLink('some link');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->clickLink('some link');
|
||||
}
|
||||
|
||||
public function testClickButton()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('press');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//button',
|
||||
array($node),
|
||||
array('button', 'some button')
|
||||
);
|
||||
|
||||
$this->document->pressButton('some button');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->pressButton('some button');
|
||||
}
|
||||
|
||||
public function testFillField()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('setValue')
|
||||
->with('some val');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array($node),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->document->fillField('some field', 'some val');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->fillField('some field', 'some val');
|
||||
}
|
||||
|
||||
public function testCheckField()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('check');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array($node),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->document->checkField('some field');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->checkField('some field');
|
||||
}
|
||||
|
||||
public function testUncheckField()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('uncheck');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array($node),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->document->uncheckField('some field');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->uncheckField('some field');
|
||||
}
|
||||
|
||||
public function testSelectField()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('selectOption')
|
||||
->with('option2');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array($node),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->document->selectFieldOption('some field', 'option2');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->selectFieldOption('some field', 'option2');
|
||||
}
|
||||
|
||||
public function testAttachFileToField()
|
||||
{
|
||||
$node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$node
|
||||
->expects($this->once())
|
||||
->method('attachFile')
|
||||
->with('/path/to/file');
|
||||
|
||||
$this->mockNamedFinder(
|
||||
'//field',
|
||||
array($node),
|
||||
array('field', 'some field')
|
||||
);
|
||||
|
||||
$this->document->attachFileToField('some field', '/path/to/file');
|
||||
$this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
|
||||
$this->document->attachFileToField('some field', '/path/to/file');
|
||||
}
|
||||
|
||||
public function testGetContent()
|
||||
{
|
||||
$expects = 'page content';
|
||||
$this->driver
|
||||
->expects($this->once())
|
||||
->method('getContent')
|
||||
->will($this->returnValue($expects));
|
||||
|
||||
$this->assertEquals($expects, $this->document->getContent());
|
||||
}
|
||||
|
||||
public function testGetText()
|
||||
{
|
||||
$expects = 'val1';
|
||||
$this->driver
|
||||
->expects($this->once())
|
||||
->method('getText')
|
||||
->with('//html')
|
||||
->will($this->returnValue($expects));
|
||||
|
||||
$this->assertEquals($expects, $this->document->getText());
|
||||
}
|
||||
|
||||
public function testGetHtml()
|
||||
{
|
||||
$expects = 'val1';
|
||||
$this->driver
|
||||
->expects($this->once())
|
||||
->method('getHtml')
|
||||
->with('//html')
|
||||
->will($this->returnValue($expects));
|
||||
|
||||
$this->assertEquals($expects, $this->document->getHtml());
|
||||
}
|
||||
|
||||
public function testGetOuterHtml()
|
||||
{
|
||||
$expects = 'val1';
|
||||
$this->driver
|
||||
->expects($this->once())
|
||||
->method('getOuterHtml')
|
||||
->with('//html')
|
||||
->will($this->returnValue($expects));
|
||||
|
||||
$this->assertEquals($expects, $this->document->getOuterHtml());
|
||||
}
|
||||
}
|
Reference in a new issue