Sha256: 16e840531f71a0acf461ef541a766fd89c38cf9ab470b5cfeea4277aa05d2c86
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
require "spec_helper" describe GraphQL::Language::Lexer do subject { GraphQL::Language::Lexer } describe ".tokenize" do let(:query_string) {%| { query getCheese { cheese(id: 1) { ... cheeseFields } } } |} let(:tokens) { subject.tokenize(query_string) } it "keeps track of previous_token" do assert_equal tokens[0], tokens[1].prev_token end it "unescapes escaped characters" do assert_equal "\" \\ / \b \f \n \r \t", subject.tokenize('"\\" \\\\ \\/ \\b \\f \\n \\r \\t"').first.to_s end it "unescapes escaped unicode characters" do assert_equal "\t", subject.tokenize('"\\u0009"').first.to_s end it "rejects bad unicode, even when there's good unicode in the string" do assert_equal :BAD_UNICODE_ESCAPE, subject.tokenize('"\\u0XXF \\u0009"').first.name end it "clears the previous_token between runs" do tok_1 = subject.tokenize(query_string) tok_2 = subject.tokenize(query_string) assert_equal nil, tok_2[0].prev_token end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.2.6 | spec/graphql/language/lexer_spec.rb |
graphql-1.2.5 | spec/graphql/language/lexer_spec.rb |
graphql-1.2.4 | spec/graphql/language/lexer_spec.rb |