-
-
Save mattwynne/ee488572aade97a53381 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Cucumber::Core::Ast::Background | |
has a useful inspect | |
Cucumber::Core::Ast::DataTable | |
equality | |
is equal to another table with the same data | |
is not equal to another table with different data | |
is not equal to a non table | |
#data_table? | |
returns true | |
#doc_string | |
returns false | |
#map | |
yields the contents of each cell to the block | |
returns a new table with the cells modified by the block | |
#transpose | |
should transpose the table | |
Cucumber::Core::Ast::DocString | |
#data_table? | |
returns false | |
#doc_string | |
returns true | |
#map | |
yields with the content | |
returns a new docstring with new content | |
raises an error if no block is given | |
equality | |
is equal to another DocString with the same content and content_type | |
is not equal to another DocString with different content | |
is not equal to another DocString with different content_type | |
is equal to a string with the same content | |
returns false when compared with something odd | |
quacking like a String | |
delegates #encoding to the content string | |
allows implicit convertion to a String | |
allows explicit convertion to a String | |
delegates #gsub to the content string | |
delegates #split to the content string | |
inspect | |
provides a useful inspect method | |
Cucumber::Core::Ast::EmptyMultilineArgument | |
#data_table? | |
returns false | |
#doc_string | |
returns false | |
Cucumber::Core::Ast::ExamplesTable | |
Cucumber::Core::Ast::ExamplesTable::Header | |
location | |
knows the file and line number | |
comments | |
has comments | |
building a row | |
includes the header values as keys | |
Cucumber::Core::Ast::ExamplesTable::Row | |
location | |
knows the file and line number | |
language | |
has a language | |
comments | |
has comments | |
expanding a string | |
when an argument matches | |
replaces the argument with the value from the row | |
when the replacement value is nil | |
uses an empty string for the replacement | |
when an argument does not match | |
ignores the arguments that do not match | |
accesing the values | |
returns the actual row values | |
equality | |
is equal to another instance with the same data, number and location | |
is not equal to another instance with different data, number or location | |
is not equal to another type of object | |
Cucumber::Core::Ast::Location | |
equality | |
is equal to another Location on the same line of the same file | |
is not equal to a wild card of the same file | |
collections of locations | |
behave as expected with uniq | |
line | |
is an integer | |
to_s | |
is file:line for a precise location | |
is file for a wildcard location | |
is file:first_line..last_line for a ranged location | |
matches | |
a precise location | |
matches a precise location of the same file and line | |
does not match a precise location on a differnt line in the same file | |
a wildcard | |
matches any location with the same filename | |
is matched by any location of the same file | |
does not match a location in a different file | |
a range wildcard | |
matches the first line in the same file | |
matches a line within the docstring in the same file | |
is matched by a line within the docstring in the same file | |
matches a wildcard in the same file | |
does not match a location outside of the range | |
does not match a location in another file | |
created from source location | |
when the location is in the tree below pwd | |
create a relative path from pwd | |
when the location is in an installed gem | |
create a relative path from the gem directory | |
when the location is neither below pwd nor in an installed gem | |
use the absolute path to the file | |
created from file-colon-line | |
handles also Windows paths | |
created of caller | |
use the location of the caller | |
when specifying additional caller depth | |
use the location of the n:th caller | |
Cucumber::Core::Ast::OutlineStep | |
location | |
has a location | |
knows the file and line | |
comments | |
has comments | |
converting to a Step | |
a single argument in the name | |
replaces the argument | |
when the step has a DataTable | |
replaces the arguments in the DataTable | |
when the step has a DocString | |
replaces the arguments in the DocString | |
Cucumber::Core::Ast::Step | |
describing itself | |
describes itself as a step | |
with no multiline argument | |
does not try to describe any children | |
with a multiline argument | |
tells its multiline argument to describe itself | |
comments | |
has comments | |
backtrace line | |
knows how to form the backtrace line | |
actual keyword | |
for keywords 'given', 'when' and 'then' | |
returns the keyword itself | |
for keyword 'and', 'but', and '*' | |
when the previous step keyword exist | |
returns the previous step keyword | |
when the previous step keyword does not exist | |
returns the 'given' keyword | |
for i18n languages | |
returns the keyword in the correct language | |
Cucumber::Core::Ast::ExpandedOutlineStep | |
describing itself | |
describes itself as a step | |
with no multiline argument | |
does not try to describe any children | |
with a multiline argument | |
tells its multiline argument to describe itself | |
comments | |
has comments | |
matching location | |
also match the outline steps location | |
backtrace line | |
includes the outline step in the backtrace line | |
Cucumber::Core::Compiler | |
compiles a feature with a single scenario | |
compiles a feature with a background | |
compiles multiple features | |
compiling scenario outlines | |
compiles a scenario outline to test cases | |
replaces arguments correctly when generating test steps | |
Cucumber::Core::Compiler::FeatureCompiler | |
a scenario with a background | |
sets the source correctly on the test steps | |
a scenario outline | |
sets the source correctly on the test steps | |
Cucumber::Core::Filter | |
.new | |
creates a filter class that can pass-through by default | |
customizing by subclassing | |
can override methods from the base class | |
can take arguments | |
customizing by using a block | |
allows methods to be overridden | |
Cucumber::Core::Gherkin::Parser | |
for invalid gherkin | |
raises an error | |
for empty files | |
creates a NullFeature | |
when the Gherkin has a language header | |
sets the language from the Gherkin | |
a Scenario with a DocString | |
parses doc strings without error | |
a Scenario with a DataTable | |
parses the DataTable | |
a feature file with a comments on different levels | |
the comments are distibuted to down the ast tree from the feature | |
a Scenario Outline | |
creates a scenario outline node | |
creates a step node for each step of the scenario outline | |
creates an examples table node for each examples table | |
a Scenario Outline with no Examples | |
throws an error | |
Cucumber::Core::Gherkin::Writer | |
generates a complex feature | |
specifying uri | |
generates a uri by default | |
allows you to specify a URI | |
a feature | |
generates the feature statement | |
when a name is provided | |
includes the name in the feature statement | |
when a description is provided | |
includes the description in the feature statement | |
when a keyword is provided | |
uses the supplied keyword | |
when a language is supplied | |
inserts a language statement | |
when a comment is supplied | |
inserts a comment | |
with a scenario | |
includes the scenario statement | |
when a comment is provided | |
includes the comment in the scenario statement | |
when a description is provided | |
includes the description in the scenario statement | |
with a step | |
includes the step statement | |
when a docstring is provided | |
includes the content type when provided | |
with a background | |
can have a description | |
with a scenario outline | |
can have a description | |
and examples table | |
can have a description | |
Cucumber::Core::Test::Action | |
constructed without a block | |
raises an error | |
location | |
with location passed to the constructor | |
returns the location passed to the constructor | |
without location passed to the constructor | |
returns the location of the block passed to the constructor | |
executing | |
executes the block passed to the constructor | |
returns a passed result if the block doesn't fail | |
returns a failed result when the block raises an error | |
yields the args passed to #execute to the block | |
returns a pending result if a Result::Pending error is raised | |
returns a skipped result if a Result::Skipped error is raised | |
returns an undefined result if a Result::Undefined error is raised | |
recording the duration | |
records the nanoseconds duration of the execution on the result | |
records the duration of a failed execution | |
skipping | |
does not execute the block | |
returns a skipped result | |
Cucumber::Core::Test::UndefinedAction | |
location | |
returns the location passed to the constructor | |
executing | |
returns an undefined result | |
skipping | |
returns an undefined result | |
Cucumber::Core::Test::Case | |
describing itself | |
describes itself to a visitor | |
asks each test_step to describe themselves to the visitor | |
describes around hooks in order | |
describes its source to a visitor | |
#name | |
created from a scenario | |
takes its name from the name of a scenario | |
created from a scenario outline example | |
takes its name from the name of the scenario outline and examples table | |
#location | |
created from a scenario | |
takes its location from the location of the scenario | |
created from a scenario outline example | |
takes its location from the location of the scenario outline example row | |
#tags | |
includes all tags from the parent feature | |
matching tags | |
matches boolean expressions of tags | |
matching names | |
matches names against regexp | |
#language | |
takes its language from the feature | |
matching location | |
for a scenario | |
matches the precise location of the scenario | |
matches the precise location of an empty scenario | |
matches multiple locations | |
matches a location on the last step of the scenario | |
matches a location on the scenario's comment | |
matches a location on the scenario's tags | |
doesn't match a location after the last step of the scenario | |
doesn't match a location before the scenario | |
with a docstring | |
matches a location at the start the docstring | |
matches a location in the middle of the docstring | |
matches a location at the end of the docstring | |
does not match a location after the docstring | |
with a table | |
matches a location on the first table row | |
for a scenario outline | |
matches the precise location of the scenario outline examples table row | |
matches a location on a step of the scenario outline | |
matches a location on the scenario outline's comment | |
matches a location on the scenario outline's tags | |
doesn't match a location after the last row of the examples table | |
doesn't match a location before the scenario outline | |
Cucumber::Core::Test::LocationsFilter | |
sorts by the given locations | |
works with wildcard locations | |
filters out scenarios that don't match | |
under load | |
filters 300 test cases within 10000ms | |
Cucumber::Core::Test::Result | |
Cucumber::Core::Test::Result::Passed | |
describes itself to a visitor | |
converts to a string | |
has a duration | |
requires the constructor argument | |
does nothing when appending the backtrace | |
does nothing when filtering the backtrace | |
should eq :passed | |
should be passed | |
should not be failed | |
should not be undefined | |
should not be unknown | |
should not be skipped | |
should be ok | |
should be truthy | |
should be truthy | |
Cucumber::Core::Test::Result::Failed | |
describes itself to a visitor | |
has a duration | |
requires both constructor arguments | |
does nothing if step has no backtrace line | |
appends the backtrace line of the step | |
apply filters to the exception | |
should eq :failed | |
should not be passed | |
should be failed | |
should not be undefined | |
should not be unknown | |
should not be skipped | |
should not be ok | |
should be falsey | |
should be falsey | |
Cucumber::Core::Test::Result::Unknown | |
doesn't describe itself to a visitor | |
should eq :unknown | |
should not be passed | |
should not be failed | |
should not be undefined | |
should be unknown | |
should not be skipped | |
Cucumber::Core::Test::Result::Raisable | |
with or without backtrace | |
does nothing if step has no backtrace line | |
without backtrace | |
set the backtrace to the backtrace line of the step | |
does nothing when filtering the backtrace | |
with backtrace | |
appends the backtrace line of the step | |
apply filters to the backtrace | |
Cucumber::Core::Test::Result::Undefined | |
describes itself to a visitor | |
should eq :undefined | |
should not be passed | |
should not be failed | |
should be undefined | |
should not be unknown | |
should not be skipped | |
should be ok | |
should be truthy | |
should be falsey | |
Cucumber::Core::Test::Result::Skipped | |
describes itself to a visitor | |
should eq :skipped | |
should not be passed | |
should not be failed | |
should not be undefined | |
should not be unknown | |
should be skipped | |
should be ok | |
should be truthy | |
should be truthy | |
Cucumber::Core::Test::Result::Pending | |
describes itself to a visitor | |
should eq :pending | |
should not be passed | |
should not be failed | |
should not be undefined | |
should not be unknown | |
should not be skipped | |
should be pending | |
should be ok | |
should be truthy | |
should be falsey | |
Cucumber::Core::Test::Result::Summary | |
counts failed results | |
counts passed results | |
counts skipped results | |
counts undefined results | |
counts abitrary raisable results | |
returns zero for a status where no messges have been received | |
doesn't count unknown results | |
counts combinations | |
records durations | |
records exceptions | |
Cucumber::Core::Test::Result::Duration | |
#nanoseconds can be accessed in #tap | |
Cucumber::Core::Test::Result::UnknownDuration | |
#tap does not execute the passed block | |
accessing #nanoseconds outside #tap block raises exception | |
Cucumber::Core::Test::Runner | |
reporting the duration of a test case | |
for a passing test case | |
records the nanoseconds duration of the execution on the result | |
for a failing test case | |
records the duration | |
reporting the exception that failed a test case | |
sets the exception on the result | |
with a single case | |
without steps | |
calls the report before running the case | |
calls the report after running the case | |
with steps | |
that all pass | |
reports a passing test case | |
an undefined step | |
reports an undefined test case | |
sets the message on the result | |
appends the backtrace of the result | |
a pending step | |
reports a pending test case | |
appends the backtrace of the result | |
a skipping step | |
reports a skipped test case | |
appends the backtrace of the result | |
that fail | |
reports a failing test case | |
appends the backtrace of the exception of the result | |
where the first step fails | |
executes the after hook at the end regardless of the failure | |
reports the first step as failed | |
reports the second step as skipped | |
reports the test case as failed | |
skips, rather than executing the second step | |
with multiple test cases | |
when the first test case fails | |
reports the results correctly for the following test case | |
passing latest result to a mapping | |
passes a Failed result when the scenario is failing | |
with around hooks | |
passes normally when around hooks don't fail | |
gets a failed result if the Around hook fails before the test case is run | |
gets a failed result if the Around hook fails after the test case is run | |
fails when a step fails if the around hook works | |
sends after_test_step for a step interrupted by (a timeout in) the around hook | |
Cucumber::Core::Test::Step | |
exposes the name and location of the AST step or hook as attributes | |
exposes the location of the action as attribute | |
describing itself | |
describes itself to a visitor | |
describes its source to a visitor | |
executing | |
passes arbitrary arguments to the action's block | |
when a passing action exists | |
returns a passing result | |
when a failing action exists | |
returns a failing result | |
with no action | |
returns an Undefined result | |
Cucumber::Core::Test::Timer | |
returns a Result::Duration object | |
would be slow to test | |
Cucumber::Core | |
compiling features to a test suite | |
compiles two scenarios into two test cases | |
filters out test cases based on a tag expression | |
with tag filters that have limits | |
on scenarios | |
raises a tag excess error with the location of the test cases | |
on scenario outlines | |
raises a tag excess error with the location of the test cases | |
on a feature with scenarios | |
raises a tag excess error with the location of the test cases | |
with negated tags | |
raises a tag excess error with the location of the test cases | |
whith multiple tag limits | |
raises a tag excess error with the location of the test cases | |
executing a test suite | |
filters test cases by tag | |
filters test cases by name | |
without hooks | |
executes the test cases in the suite | |
with around hooks | |
executes the test cases in the suite | |
README.md code snippet | |
executes with the expected output | |
Finished in 7.73 seconds (files took 0.30729 seconds to load) | |
310 examples, 0 failures | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment