public function testAllowsNonKeywordsAnywhereANameIsAllowed()
{
$nonKeywords = ['on', 'fragment', 'query', 'mutation', 'subscription', 'true', 'false'];
foreach ($nonKeywords as $keyword) {
$fragmentName = $keyword;
if ($keyword === 'on') {
$fragmentName = 'a';
}
// Expected not to throw:
$result = Parser::parse("query {$keyword} {\n ... {$fragmentName}\n ... on {$keyword} { field }\n}\nfragment {$fragmentName} on Type {\n {$keyword}({$keyword}: \${$keyword}) @{$keyword}({$keyword}: {$keyword})\n}\n");
$this->assertNotEmpty($result);
}
}