Skip to content

Commit 946b9f9

Browse files
valbersxperiandri
authored andcommitted
making single quote a valid character
1 parent e81601a commit 946b9f9

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/FSharp.Data.GraphQL.Shared/Parser.fs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,13 @@ module internal Internal =
8787
(hex2int h3)*4096 + (hex2int h2)*256 + (hex2int h1)*16 + hex2int h0 |> char)
8888
pchar '\\' >>. (escaped <|> unicode)
8989

90-
let normalCharacter = noneOf [|'\u000A';'\u000D';'\u2028';'\u2029';'"';'\''|]
90+
let normalCharacter =
91+
noneOf
92+
[| '\u000A'
93+
'\u000D'
94+
'\u2028'
95+
'\u2029'
96+
'"' |]
9197
let quote = pchar '"'
9298

9399
between quote quote (manyChars (escapedCharacter <|> normalCharacter))

tests/FSharp.Data.GraphQL.Tests/ParserTests.fs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,19 @@ let ``parser should parse query with quoted arguments``() =
306306
}
307307
}"""
308308

309+
[<Fact>]
310+
let ``parser should parse query with single-quoted arguments``() =
311+
let expected =
312+
[ field "id" ]
313+
|> fieldWithNameAndArgsAndSelections "search" [ argString "query" "It's working!" ]
314+
|> queryWithSelection
315+
|> doc1
316+
test expected """{
317+
search(query: "It's working!") {
318+
id
319+
}
320+
}"""
321+
309322
[<Fact>]
310323
let ``parser should parse query with arguments``() =
311324
let expected =

0 commit comments

Comments
 (0)