-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
For example Behat's own test append_snippets.feature. It has a step that creates a FeatureContext to test, and it contains ' and ":
Given a file named "features/bootstrap/FeatureContext.php" with:
"""
<?php
use Behat\Behat\Context\CustomSnippetAcceptingContext,
Behat\Behat\Tester\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
Behat\Gherkin\Node\TableNode;
class FeatureContext implements CustomSnippetAcceptingContext
{
private $apples = 0;
private $parameters;
public static function getAcceptedSnippetType() { return 'regex'; }
public function __construct(array $parameters = array()) {
$this->parameters = $parameters;
}
/**
* @Given /^I have (\d+) apples?$/
*/
public function iHaveApples($count) {
$this->apples = intval($count);
}
/**
* @When /^I ate (\d+) apples?$/
*/
public function iAteApples($count) {
$this->apples -= intval($count);
}
/**
* @When /^I found (\d+) apples?$/
*/
public function iFoundApples($count) {
$this->apples += intval($count);
}
/**
* @Then /^I should have (\d+) apples$/
*/
public function iShouldHaveApples($count) {
\PHPUnit_Framework_Assert::assertEquals(intval($count), $this->apples);
}
/**
* @Then /^context parameter "([^"]*)" should be equal to "([^"]*)"$/
*/
public function contextParameterShouldBeEqualTo($key, $val) {
\PHPUnit_Framework_Assert::assertEquals($val, $this->parameters[$key]);
}
/**
* @Given /^context parameter "([^"]*)" should be array with (\d+) elements$/
*/
public function contextParameterShouldBeArrayWithElements($key, $count) {
\PHPUnit_Framework_Assert::assertInternalType('array', $this->parameters[$key]);
\PHPUnit_Framework_Assert::assertEquals(2, count($this->parameters[$key]));
}
private function doSomethingUndefinedWith() {}
}
"""
The highlighting breaks after the first " in the PyString. It should ignore ALL tokens inside a PyString, except the end: """.
I have no idea how to fix. Thanks for the otherwise great package!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels