@@ -10,9 +10,11 @@ public class QuerySyntaxPrinterTests
10
10
public void Serialize_ShortHandQueryNoIndentation_InOutShouldBeTheSame ( )
11
11
{
12
12
// arrange
13
- var query = "{ foo(s: \" String\" ) { bar @foo " +
14
- "{ baz @foo @bar } } }" ;
15
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
13
+ const string query =
14
+ """
15
+ { foo(s: "String") { bar @foo { baz @foo @bar } } }
16
+ """ ;
17
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
16
18
17
19
// act
18
20
var result = queryDocument . ToString ( false ) ;
@@ -25,9 +27,11 @@ public void Serialize_ShortHandQueryNoIndentation_InOutShouldBeTheSame()
25
27
public void Serialize_ShortHandQueryWithIndentation_OutputIsFormatted ( )
26
28
{
27
29
// arrange
28
- var query = "{ foo(s: \" String\" ) { bar @foo " +
29
- "{ baz @foo @bar } } }" ;
30
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
30
+ const string query =
31
+ """
32
+ { foo(s: "String") { bar @foo { baz @foo @bar } } }
33
+ """ ;
34
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
31
35
32
36
// act
33
37
var result = queryDocument . ToString ( false ) ;
@@ -40,8 +44,8 @@ public void Serialize_ShortHandQueryWithIndentation_OutputIsFormatted()
40
44
public void Serialize_ShortHandQueryWithIndentation_LineBetweenFields ( )
41
45
{
42
46
// arrange
43
- var query = "{ foo { foo bar { foo @foo @bar bar @bar baz } } }" ;
44
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
47
+ const string query = "{ foo { foo bar { foo @foo @bar bar @bar baz } } }" ;
48
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
45
49
46
50
// act
47
51
var result = queryDocument . ToString ( ) ;
@@ -55,7 +59,7 @@ public void Serialize_KitchenSinkWithIndentation_OutputIsFormatted()
55
59
{
56
60
// arrange
57
61
var query = FileResource . Open ( "kitchen-sink.graphql" ) ;
58
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
62
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
59
63
60
64
// act
61
65
var result = queryDocument . ToString ( ) ;
@@ -69,7 +73,7 @@ public void Serialize_KitchenSinkWithoutIndentation_OutputIsOneLine()
69
73
{
70
74
// arrange
71
75
var query = FileResource . Open ( "kitchen-sink.graphql" ) ;
72
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
76
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
73
77
74
78
// act
75
79
var result = queryDocument . ToString ( ) ;
@@ -83,39 +87,39 @@ public void Serialize_KitchenSinkWithIndentation_CanBeParsed()
83
87
{
84
88
// arrange
85
89
var query = FileResource . Open ( "kitchen-sink.graphql" ) ;
86
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
90
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
87
91
88
92
// act
89
93
var result = queryDocument . ToString ( ) ;
90
94
91
95
// assert
92
96
result . MatchSnapshot ( ) ;
93
-
94
97
}
95
98
96
99
[ Fact ]
97
100
public void Serialize_KitchenSinkWithoutIndentation_CanBeParsed ( )
98
101
{
99
102
// arrange
100
103
var query = FileResource . Open ( "kitchen-sink.graphql" ) ;
101
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
104
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
102
105
103
106
// act
104
107
var serializedQuery = queryDocument . ToString ( ) ;
105
108
106
109
// assert
107
- DocumentNode parsedQuery = Utf8GraphQLParser . Parse ( serializedQuery ) ;
110
+ var parsedQuery = Utf8GraphQLParser . Parse ( serializedQuery ) ;
108
111
Assert . Equal ( serializedQuery , parsedQuery . ToString ( ) ) ;
109
112
}
110
113
111
114
[ Fact ]
112
115
public void Serialize_QueryWithVarDeclaration_InOutShouldBeTheSame ( )
113
116
{
114
117
// arrange
115
- var query =
116
- "query Foo($bar: [String!]!) { foo(s: \" String\" ) " +
117
- "{ bar @foo { baz @foo @bar } } }" ;
118
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ) ;
118
+ const string query =
119
+ """
120
+ query Foo($bar: [String!]!) { foo(s: "String") { bar @foo { baz @foo @bar } } }
121
+ """ ;
122
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
119
123
120
124
// act
121
125
var serializedQuery = queryDocument . ToString ( false ) ;
@@ -129,7 +133,7 @@ public void Serialize_FragmentWithVariableDefs_InOutShouldBeTheSame()
129
133
{
130
134
// arrange
131
135
var query = "fragment Foo ($bar: [String!]!) on Bar { baz }" ;
132
- DocumentNode queryDocument = Utf8GraphQLParser . Parse ( query ,
136
+ var queryDocument = Utf8GraphQLParser . Parse ( query ,
133
137
new ParserOptions ( allowFragmentVariables : true ) ) ;
134
138
135
139
// act
@@ -138,4 +142,22 @@ public void Serialize_FragmentWithVariableDefs_InOutShouldBeTheSame()
138
142
// assert
139
143
Assert . Equal ( query , result ) ;
140
144
}
145
+
146
+ // https://github.com/ChilliCream/graphql-platform/issues/1997
147
+ [ Fact ]
148
+ public void Serialize_QueryWithDirectivesOnVariables_InOutShouldBeTheSame ( )
149
+ {
150
+ // arrange
151
+ const string query =
152
+ """
153
+ query Foo($variable: String @foo) { foo(a: $variable) }
154
+ """ ;
155
+ var queryDocument = Utf8GraphQLParser . Parse ( query ) ;
156
+
157
+ // act
158
+ var result = queryDocument . ToString ( false ) ;
159
+
160
+ // assert
161
+ Assert . Equal ( query , result ) ;
162
+ }
141
163
}
0 commit comments