123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace Behat\Mink\Tests\Driver\Form;
- use Behat\Mink\Tests\Driver\TestCase;
- class Html5Test extends TestCase
- {
- public function testHtml5FormInputAttribute()
- {
- $this->getSession()->visit($this->pathTo('/html5_form.html'));
- $page = $this->getSession()->getPage();
- $webAssert = $this->getAssertSession();
- $firstName = $webAssert->fieldExists('first_name');
- $lastName = $webAssert->fieldExists('last_name');
- $this->assertEquals('not set', $lastName->getValue());
- $firstName->setValue('John');
- $lastName->setValue('Doe');
- $this->assertEquals('Doe', $lastName->getValue());
- $page->pressButton('Submit in form');
- if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
- $out = <<<OUT
- 'first_name' = 'John',
- 'last_name' = 'Doe',
- OUT;
- $this->assertContains($out, $page->getContent());
- $this->assertNotContains('other_field', $page->getContent());
- }
- }
- public function testHtml5FormRadioAttribute()
- {
- $this->getSession()->visit($this->pathTo('html5_radio.html'));
- $page = $this->getSession()->getPage();
- $radio = $this->findById('sex_f');
- $otherRadio = $this->findById('sex_invalid');
- $this->assertEquals('f', $radio->getValue());
- $this->assertEquals('invalid', $otherRadio->getValue());
- $radio->selectOption('m');
- $this->assertEquals('m', $radio->getValue());
- $this->assertEquals('invalid', $otherRadio->getValue());
- $page->pressButton('Submit in form');
- $out = <<<OUT
- 'sex' = 'm',
- OUT;
- $this->assertContains($out, $page->getContent());
- }
- public function testHtml5FormButtonAttribute()
- {
- $this->getSession()->visit($this->pathTo('/html5_form.html'));
- $page = $this->getSession()->getPage();
- $webAssert = $this->getAssertSession();
- $firstName = $webAssert->fieldExists('first_name');
- $lastName = $webAssert->fieldExists('last_name');
- $firstName->setValue('John');
- $lastName->setValue('Doe');
- $page->pressButton('Submit outside form');
- if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
- $out = <<<OUT
- 'first_name' = 'John',
- 'last_name' = 'Doe',
- 'submit_button' = 'test',
- OUT;
- $this->assertContains($out, $page->getContent());
- }
- }
- public function testHtml5FormOutside()
- {
- $this->getSession()->visit($this->pathTo('/html5_form.html'));
- $page = $this->getSession()->getPage();
- $page->fillField('other_field', 'hello');
- $page->pressButton('Submit separate form');
- if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
- $out = <<<OUT
- 'other_field' = 'hello',
- OUT;
- $this->assertContains($out, $page->getContent());
- $this->assertNotContains('first_name', $page->getContent());
- }
- }
- public function testHtml5Types()
- {
- $this->getSession()->visit($this->pathTo('html5_types.html'));
- $page = $this->getSession()->getPage();
- $page->fillField('url', 'http://mink.behat.org/');
- $page->fillField('email', 'mink@example.org');
- $page->fillField('number', '6');
- $page->fillField('search', 'mink');
- $page->fillField('date', '2014-05-19');
- $page->fillField('color', '#ff00aa');
- $page->pressButton('Submit');
- $out = <<<OUT
- 'color' = '#ff00aa',
- 'date' = '2014-05-19',
- 'email' = 'mink@example.org',
- 'number' = '6',
- 'search' = 'mink',
- 'submit_button' = 'Submit',
- 'url' = 'http://mink.behat.org/',
- OUT;
- $this->assertContains($out, $page->getContent());
- }
- }
|