added example snippets in MinkExtenstion to be used with 'vendor/bin/behat -di' as definitions

This commit is contained in:
Sajjad Hossain
2015-04-05 22:32:16 -04:00
parent 9bff0ae65f
commit 353349551e

View File

@@ -26,6 +26,11 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* *
* @Given /^(?:|I )am on (?:|the )homepage$/ * @Given /^(?:|I )am on (?:|the )homepage$/
* @When /^(?:|I )go to (?:|the )homepage$/ * @When /^(?:|I )go to (?:|the )homepage$/
*
* Example: Given I am on the homepage
* Example: And I am on the homepage
* Example: When I go to the homepage
*
*/ */
public function iAmOnHomepage() public function iAmOnHomepage()
{ {
@@ -37,6 +42,11 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* *
* @Given /^(?:|I )am on "(?P<page>[^"]+)"$/ * @Given /^(?:|I )am on "(?P<page>[^"]+)"$/
* @When /^(?:|I )go to "(?P<page>[^"]+)"$/ * @When /^(?:|I )go to "(?P<page>[^"]+)"$/
*
* Example: Given I am on "/articles/isBatmanBruceWayne"
* Example: And I am on "/articles/isBatmanBruceWayne"
* Example: When I go to "/articles/isBatmanBruceWayne"
*
*/ */
public function visit($page) public function visit($page)
{ {
@@ -47,6 +57,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Reloads current page. * Reloads current page.
* *
* @When /^(?:|I )reload the page$/ * @When /^(?:|I )reload the page$/
*
* Example: And I relod the page
* Example: When I reload the page
*
*/ */
public function reload() public function reload()
{ {
@@ -57,6 +71,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Moves backward one page in history. * Moves backward one page in history.
* *
* @When /^(?:|I )move backward one page$/ * @When /^(?:|I )move backward one page$/
*
* Example: And I move backward one page
* Example: When I move backward one page
*
*/ */
public function back() public function back()
{ {
@@ -67,6 +85,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Moves forward one page in history * Moves forward one page in history
* *
* @When /^(?:|I )move forward one page$/ * @When /^(?:|I )move forward one page$/
*
* Example: And I move forward one page
* Example: When I move forward one page
*
*/ */
public function forward() public function forward()
{ {
@@ -77,6 +99,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Presses button with specified id|name|title|alt|value. * Presses button with specified id|name|title|alt|value.
* *
* @When /^(?:|I )press "(?P<button>(?:[^"]|\\")*)"$/ * @When /^(?:|I )press "(?P<button>(?:[^"]|\\")*)"$/
*
* Example: And I press "Log In"
* Example: When I press "sign-in"
*
*/ */
public function pressButton($button) public function pressButton($button)
{ {
@@ -88,6 +114,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Clicks link with specified id|title|alt|text. * Clicks link with specified id|title|alt|text.
* *
* @When /^(?:|I )follow "(?P<link>(?:[^"]|\\")*)"$/ * @When /^(?:|I )follow "(?P<link>(?:[^"]|\\")*)"$/
*
* Example: And I follow "Log In"
* Example: When I follow "sign-in"
*
*/ */
public function clickLink($link) public function clickLink($link)
{ {
@@ -101,6 +131,14 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* @When /^(?:|I )fill in "(?P<field>(?:[^"]|\\")*)" with "(?P<value>(?:[^"]|\\")*)"$/ * @When /^(?:|I )fill in "(?P<field>(?:[^"]|\\")*)" with "(?P<value>(?:[^"]|\\")*)"$/
* @When /^(?:|I )fill in "(?P<field>(?:[^"]|\\")*)" with:$/ * @When /^(?:|I )fill in "(?P<field>(?:[^"]|\\")*)" with:$/
* @When /^(?:|I )fill in "(?P<value>(?:[^"]|\\")*)" for "(?P<field>(?:[^"]|\\")*)"$/ * @When /^(?:|I )fill in "(?P<value>(?:[^"]|\\")*)" for "(?P<field>(?:[^"]|\\")*)"$/
*
* Example: And I fill in "username" with "bruceWayne"
* Example: And I fill in "username" with: bruceWayne
* Example: And I fill in "bruceWayne" for "username"
* Example: When I fill in "username" with "bruceWayne"
* Example: When I fill in "username" with: bruceWayne
* Example: When I fill in "bruceWayne" for "username"
*
*/ */
public function fillField($field, $value) public function fillField($field, $value)
{ {
@@ -113,6 +151,16 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Fills in form fields with provided table. * Fills in form fields with provided table.
* *
* @When /^(?:|I )fill in the following:$/ * @When /^(?:|I )fill in the following:$/
*
* Example: And I fill in the following:
* | userId | 27 |
* | username | bruceWayne |
* | password | iLoveBats123 |
* Example: When I follow "sign-in"
* | userId | 27 |
* | username | bruceWayne |
* | password | iLoveBats123 |
*
*/ */
public function fillFields(TableNode $fields) public function fillFields(TableNode $fields)
{ {
@@ -125,6 +173,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Selects option in select field with specified id|name|label|value. * Selects option in select field with specified id|name|label|value.
* *
* @When /^(?:|I )select "(?P<option>(?:[^"]|\\")*)" from "(?P<select>(?:[^"]|\\")*)"$/ * @When /^(?:|I )select "(?P<option>(?:[^"]|\\")*)" from "(?P<select>(?:[^"]|\\")*)"$/
*
* Example: And I select "male" from "gender"
* Example: When I select "VISA" from "paymentType"
*
*/ */
public function selectOption($select, $option) public function selectOption($select, $option)
{ {
@@ -137,6 +189,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Selects additional option in select field with specified id|name|label|value. * Selects additional option in select field with specified id|name|label|value.
* *
* @When /^(?:|I )additionally select "(?P<option>(?:[^"]|\\")*)" from "(?P<select>(?:[^"]|\\")*)"$/ * @When /^(?:|I )additionally select "(?P<option>(?:[^"]|\\")*)" from "(?P<select>(?:[^"]|\\")*)"$/
*
* Example: And I additionally select "female" from "gender"
* Example: When I additionally select "AMEX" from "paymentType"
*
*/ */
public function additionallySelectOption($select, $option) public function additionallySelectOption($select, $option)
{ {
@@ -149,6 +205,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks checkbox with specified id|name|label|value. * Checks checkbox with specified id|name|label|value.
* *
* @When /^(?:|I )check "(?P<option>(?:[^"]|\\")*)"$/ * @When /^(?:|I )check "(?P<option>(?:[^"]|\\")*)"$/
*
* Example: And I check "Mac OS X" from "os"
* Example: When I check "Batman" from "heroes"
*
*/ */
public function checkOption($option) public function checkOption($option)
{ {
@@ -160,6 +220,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Unchecks checkbox with specified id|name|label|value. * Unchecks checkbox with specified id|name|label|value.
* *
* @When /^(?:|I )uncheck "(?P<option>(?:[^"]|\\")*)"$/ * @When /^(?:|I )uncheck "(?P<option>(?:[^"]|\\")*)"$/
*
* Example: And I uncheck "Mac OS X" from "os"
* Example: When I uncheck "Batman" from "heroes"
*
*/ */
public function uncheckOption($option) public function uncheckOption($option)
{ {
@@ -171,6 +235,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Attaches file to field with specified id|name|label|value. * Attaches file to field with specified id|name|label|value.
* *
* @When /^(?:|I )attach the file "(?P<path>[^"]*)" to "(?P<field>(?:[^"]|\\")*)"$/ * @When /^(?:|I )attach the file "(?P<path>[^"]*)" to "(?P<field>(?:[^"]|\\")*)"$/
*
* Example: And I check "Mac OS X" from "os"
* Example: When I check "Batman" from "heroes"
*
*/ */
public function attachFileToField($field, $path) public function attachFileToField($field, $path)
{ {
@@ -190,6 +258,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that current page PATH is equal to specified. * Checks, that current page PATH is equal to specified.
* *
* @Then /^(?:|I )should be on "(?P<page>[^"]+)"$/ * @Then /^(?:|I )should be on "(?P<page>[^"]+)"$/
*
* Example: And I should be on "/heroes/Batman"
* Example: Then I should be on "/heroes/Batman"
*
*/ */
public function assertPageAddress($page) public function assertPageAddress($page)
{ {
@@ -200,6 +272,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that current page is the homepage. * Checks, that current page is the homepage.
* *
* @Then /^(?:|I )should be on (?:|the )homepage$/ * @Then /^(?:|I )should be on (?:|the )homepage$/
*
* Example: And I should be on the homepage
* Example: Then I should be on the hompage
*
*/ */
public function assertHomepage() public function assertHomepage()
{ {
@@ -210,6 +286,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that current page PATH matches regular expression. * Checks, that current page PATH matches regular expression.
* *
* @Then /^the (?i)url(?-i) should match (?P<pattern>"(?:[^"]|\\")*")$/ * @Then /^the (?i)url(?-i) should match (?P<pattern>"(?:[^"]|\\")*")$/
*
* Example: And the url should match "/heroes/\w+"
* Example: Then the url should match "/heroes/\w+"
*
*/ */
public function assertUrlRegExp($pattern) public function assertUrlRegExp($pattern)
{ {
@@ -220,6 +300,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that current page response status is equal to specified. * Checks, that current page response status is equal to specified.
* *
* @Then /^the response status code should be (?P<code>\d+)$/ * @Then /^the response status code should be (?P<code>\d+)$/
*
* Example: And the url should match "/heroes/\w+"
* Example: Then the url should match "/heroes/\w+"
*
*/ */
public function assertResponseStatus($code) public function assertResponseStatus($code)
{ {
@@ -230,6 +314,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that current page response status is not equal to specified. * Checks, that current page response status is not equal to specified.
* *
* @Then /^the response status code should not be (?P<code>\d+)$/ * @Then /^the response status code should not be (?P<code>\d+)$/
*
* Example: And the response status code should not be 404
* Example: Then the response status code should not be 404
*
*/ */
public function assertResponseStatusIsNot($code) public function assertResponseStatusIsNot($code)
{ {
@@ -240,6 +328,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that page contains specified text. * Checks, that page contains specified text.
* *
* @Then /^(?:|I )should see "(?P<text>(?:[^"]|\\")*)"$/ * @Then /^(?:|I )should see "(?P<text>(?:[^"]|\\")*)"$/
*
* Example: And I should see "This just in, Bruce Wayne is not Batman"
* Example: Then I should see "This just in, Bruce Wayne is not Batman"
*
*/ */
public function assertPageContainsText($text) public function assertPageContainsText($text)
{ {
@@ -250,6 +342,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that page doesn't contain specified text. * Checks, that page doesn't contain specified text.
* *
* @Then /^(?:|I )should not see "(?P<text>(?:[^"]|\\")*)"$/ * @Then /^(?:|I )should not see "(?P<text>(?:[^"]|\\")*)"$/
*
* Example: And I should not see "This just in, Bruce Wayne is Batman"
* Example: Then I should not see "This just in, Bruce Wayne is Batman"
*
*/ */
public function assertPageNotContainsText($text) public function assertPageNotContainsText($text)
{ {
@@ -260,6 +356,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that page contains text matching specified pattern. * Checks, that page contains text matching specified pattern.
* *
* @Then /^(?:|I )should see text matching (?P<pattern>"(?:[^"]|\\")*")$/ * @Then /^(?:|I )should see text matching (?P<pattern>"(?:[^"]|\\")*")$/
*
* Example: And I should not see "This just in, Bruce Wayne is Batman"
* Example: Then I should not see "This just in, Bruce Wayne is Batman"
*
*/ */
public function assertPageMatchesText($pattern) public function assertPageMatchesText($pattern)
{ {
@@ -270,6 +370,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that page doesn't contain text matching specified pattern. * Checks, that page doesn't contain text matching specified pattern.
* *
* @Then /^(?:|I )should not see text matching (?P<pattern>"(?:[^"]|\\")*")$/ * @Then /^(?:|I )should not see text matching (?P<pattern>"(?:[^"]|\\")*")$/
*
* Example: And I should not see text matching "Bruce Wayne is Batman"
* Example: Then I should not see text matching "Bruce Wayne is Batman"
*
*/ */
public function assertPageNotMatchesText($pattern) public function assertPageNotMatchesText($pattern)
{ {
@@ -280,6 +384,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that HTML response contains specified string. * Checks, that HTML response contains specified string.
* *
* @Then /^the response should contain "(?P<text>(?:[^"]|\\")*)"$/ * @Then /^the response should contain "(?P<text>(?:[^"]|\\")*)"$/
*
* Example: And the response should contain "<noscript>Sorry turn JavaScript on to view full experience</noscript>"
* Example: Then the response should contain "<noscript>Sorry turn JavaScript on to view full experience</noscript>"
*
*/ */
public function assertResponseContains($text) public function assertResponseContains($text)
{ {
@@ -290,6 +398,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that HTML response doesn't contain specified string. * Checks, that HTML response doesn't contain specified string.
* *
* @Then /^the response should not contain "(?P<text>(?:[^"]|\\")*)"$/ * @Then /^the response should not contain "(?P<text>(?:[^"]|\\")*)"$/
*
* Example: And the response should not contain "v1.0.1"
* Example: Then the response should not contain "v1.0.1"
*
*/ */
public function assertResponseNotContains($text) public function assertResponseNotContains($text)
{ {
@@ -300,6 +412,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that element with specified CSS contains specified text. * Checks, that element with specified CSS contains specified text.
* *
* @Then /^(?:|I )should see "(?P<text>(?:[^"]|\\")*)" in the "(?P<element>[^"]*)" element$/ * @Then /^(?:|I )should see "(?P<text>(?:[^"]|\\")*)" in the "(?P<element>[^"]*)" element$/
*
* Example: And I should see "Batman is dead?" in the "headline" element
* Example: Then I should see "Batman is dead?" in the "headline" element
*
*/ */
public function assertElementContainsText($element, $text) public function assertElementContainsText($element, $text)
{ {
@@ -310,6 +426,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that element with specified CSS doesn't contain specified text. * Checks, that element with specified CSS doesn't contain specified text.
* *
* @Then /^(?:|I )should not see "(?P<text>(?:[^"]|\\")*)" in the "(?P<element>[^"]*)" element$/ * @Then /^(?:|I )should not see "(?P<text>(?:[^"]|\\")*)" in the "(?P<element>[^"]*)" element$/
*
* Example: And I should not see "Batman is alive?" in the "headline" element
* Example: Then I should not see "Batman is alive?" in the "headline" element
*
*/ */
public function assertElementNotContainsText($element, $text) public function assertElementNotContainsText($element, $text)
{ {
@@ -320,6 +440,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that element with specified CSS contains specified HTML. * Checks, that element with specified CSS contains specified HTML.
* *
* @Then /^the "(?P<element>[^"]*)" element should contain "(?P<value>(?:[^"]|\\")*)"$/ * @Then /^the "(?P<element>[^"]*)" element should contain "(?P<value>(?:[^"]|\\")*)"$/
*
* Example: And the "nav" element should contain "profile"
* Example: Then the "nav" element should contain "profile"
*
*/ */
public function assertElementContains($element, $value) public function assertElementContains($element, $value)
{ {
@@ -330,6 +454,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that element with specified CSS doesn't contain specified HTML. * Checks, that element with specified CSS doesn't contain specified HTML.
* *
* @Then /^the "(?P<element>[^"]*)" element should not contain "(?P<value>(?:[^"]|\\")*)"$/ * @Then /^the "(?P<element>[^"]*)" element should not contain "(?P<value>(?:[^"]|\\")*)"$/
*
* Example: And the "nav" element should not contain "logged-in"
* Example: Then the "nav" element should not contain "logged-in"
*
*/ */
public function assertElementNotContains($element, $value) public function assertElementNotContains($element, $value)
{ {
@@ -340,6 +468,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that element with specified CSS exists on page. * Checks, that element with specified CSS exists on page.
* *
* @Then /^(?:|I )should see an? "(?P<element>[^"]*)" element$/ * @Then /^(?:|I )should see an? "(?P<element>[^"]*)" element$/
*
* Example: And I should see a "canvas" element
* Example: Then I should see an "apples" element
*
*/ */
public function assertElementOnPage($element) public function assertElementOnPage($element)
{ {
@@ -350,6 +482,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that element with specified CSS doesn't exist on page. * Checks, that element with specified CSS doesn't exist on page.
* *
* @Then /^(?:|I )should not see an? "(?P<element>[^"]*)" element$/ * @Then /^(?:|I )should not see an? "(?P<element>[^"]*)" element$/
*
* Example: And I should not see a "canvas" element
* Example: Then I should not see an "apples" element
*
*/ */
public function assertElementNotOnPage($element) public function assertElementNotOnPage($element)
{ {
@@ -360,6 +496,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that form field with specified id|name|label|value has specified value. * Checks, that form field with specified id|name|label|value has specified value.
* *
* @Then /^the "(?P<field>(?:[^"]|\\")*)" field should contain "(?P<value>(?:[^"]|\\")*)"$/ * @Then /^the "(?P<field>(?:[^"]|\\")*)" field should contain "(?P<value>(?:[^"]|\\")*)"$/
*
* Example: And the "name" field should contain "Bruce Wayne"
* Example: Then the "name" field should contain "Bruce Wayne"
*
*/ */
public function assertFieldContains($field, $value) public function assertFieldContains($field, $value)
{ {
@@ -372,6 +512,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that form field with specified id|name|label|value doesn't have specified value. * Checks, that form field with specified id|name|label|value doesn't have specified value.
* *
* @Then /^the "(?P<field>(?:[^"]|\\")*)" field should not contain "(?P<value>(?:[^"]|\\")*)"$/ * @Then /^the "(?P<field>(?:[^"]|\\")*)" field should not contain "(?P<value>(?:[^"]|\\")*)"$/
*
* Example: And the "name" field should not contain "Bruce Wayne"
* Example: Then the "name" field should not contain "Bruce Wayne"
*
*/ */
public function assertFieldNotContains($field, $value) public function assertFieldNotContains($field, $value)
{ {
@@ -385,6 +529,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* *
* @Then /^the "(?P<checkbox>(?:[^"]|\\")*)" checkbox should be checked$/ * @Then /^the "(?P<checkbox>(?:[^"]|\\")*)" checkbox should be checked$/
* @Then /^the checkbox "(?P<checkbox>(?:[^"]|\\")*)" (?:is|should be) checked$/ * @Then /^the checkbox "(?P<checkbox>(?:[^"]|\\")*)" (?:is|should be) checked$/
*
* Example: And the "heroes" checkbox should be checked
* Example: Then the "heroes" checkbox is checked
*
*/ */
public function assertCheckboxChecked($checkbox) public function assertCheckboxChecked($checkbox)
{ {
@@ -397,6 +545,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* @Then /^the "(?P<checkbox>(?:[^"]|\\")*)" checkbox should not be checked$/ * @Then /^the "(?P<checkbox>(?:[^"]|\\")*)" checkbox should not be checked$/
* @Then /^the checkbox "(?P<checkbox>(?:[^"]|\\")*)" should (?:be unchecked|not be checked)$/ * @Then /^the checkbox "(?P<checkbox>(?:[^"]|\\")*)" should (?:be unchecked|not be checked)$/
* @Then /^the checkbox "(?P<checkbox>(?:[^"]|\\")*)" is (?:unchecked|not checked)$/ * @Then /^the checkbox "(?P<checkbox>(?:[^"]|\\")*)" is (?:unchecked|not checked)$/
*
* Example: And the "villains" checkbox should be unchecked
* Example: Then the "villains" checkbox is not checked
*
*/ */
public function assertCheckboxNotChecked($checkbox) public function assertCheckboxNotChecked($checkbox)
{ {
@@ -407,6 +559,10 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Checks, that (?P<num>\d+) CSS elements exist on the page * Checks, that (?P<num>\d+) CSS elements exist on the page
* *
* @Then /^(?:|I )should see (?P<num>\d+) "(?P<element>[^"]*)" elements?$/ * @Then /^(?:|I )should see (?P<num>\d+) "(?P<element>[^"]*)" elements?$/
*
* Example: And I should see 5 "div" elements
* Example: Then I should see 5 "div" elements
*
*/ */
public function assertNumElements($num, $element) public function assertNumElements($num, $element)
{ {
@@ -417,6 +573,9 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Prints current URL to console. * Prints current URL to console.
* *
* @Then /^print current URL$/ * @Then /^print current URL$/
*
* Example: Then print current URL
*
*/ */
public function printCurrentUrl() public function printCurrentUrl()
{ {
@@ -427,6 +586,9 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Prints last response to console. * Prints last response to console.
* *
* @Then /^print last response$/ * @Then /^print last response$/
*
* Example: Then print last response
*
*/ */
public function printLastResponse() public function printLastResponse()
{ {
@@ -440,6 +602,9 @@ class MinkContext extends RawMinkContext implements TranslatableContext
* Opens last response content in browser. * Opens last response content in browser.
* *
* @Then /^show last response$/ * @Then /^show last response$/
*
* Example: Then show last responsecd
*
*/ */
public function showLastResponse() public function showLastResponse()
{ {