GraphQL
view release on metacpan or search on metacpan
t/language-lexer.t view on Meta::CPAN
my $expected_text = join '', <DATA>;
$expected_text =~ s#bless\(\s*do\{\\\(my\s*\$o\s*=\s*(.)\)\},\s*'JSON::PP::Boolean'\s*\)#'JSON->' . ($1 ? 'true' : 'false')#ge;
my $expected = eval $expected_text;
#open $fh, '>', 'tf'; print $fh explain $got; # uncomment to regenerate
is_deeply $got, $expected, 'lex big doc correct' or diag explain $got;
} or diag explain $@;
dies_ok { parse("\x{0007}") };
like $@->message, qr/Parse document failed for some reason/, 'invalid char';
lives_ok { parse("\x{FEFF} query foo { id }") } 'accepts BOM';
dies_ok { parse("\n\n ? \n\n\n") };
is_deeply [ map $@->locations->[0]->{$_}, qw(line column) ], [3,5], 'error respects whitespace';
$got = parse(string_make(' x '));
is string_lookup($got), ' x ', 'string preserve whitespace' or diag explain $got;
$got = parse(string_make('quote \\"'));
is string_lookup($got), 'quote "', 'string quote kept' or diag explain $got;
( run in 0.854 second using v1.01-cache-2.11-cpan-e9daa2b36ef )