NAME

Gherkin::Pickles::Compiler - Transform Gherkin to execution plans

SYNOPSIS

use Data::Dumper;
use Gherkin::Parser;
use Gherkin::Pickles::Compiler;


my $parser = Gherkin::Parser->new();
my $envelope = $parser->parse( 'my.feature' );

my $c = 0;
Gherkin::Pickles::Compiler->compile( $envelope,
                                     sub { $c++ },
                                     sub { print Dumper($_[0]) . "\n" },
);

DESCRIPTION

The pickle compiler translates the Gherkin document representation (AST) as represented by a Cucumber::Messages::GherkinDocument message into a series of test execution plans (pickles).

CLASS METHODS

compile($envelope, $id_generator, [$sink])

Traverses the gherkin document as wrapped by the $envelope message, generating execution plans represented by Cucumber::Messages::Pickle messages.

If a $sink is provided, this function is called for each Pickle being generated, with one argument: an envelope messages wrapping a Pickle.

In case no $sink is provided, the pickle messages will be collected and returned (each wrapped in an envelope) from the function.

The $id_generator is a generator function responsible for returning unique string values, used to identify nodes in the returned Pickles.

SEE ALSO

LICENSE

See Gherkin.