Skip to content

Commit a59fb34

Browse files
committed
fix
1 parent 37e15f5 commit a59fb34

12 files changed

+183
-187
lines changed

src/ast/operation_visitor.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,7 @@ fn visit_input_value<'a, Visitor, UserContext>(
278278
let input_type = context
279279
.current_input_type_literal()
280280
.and_then(|v| context.schema.type_by_name(v.inner_type()))
281-
.and_then(|v| v.input_field_by_name(sub_key))
282-
.and_then(|v| Some(&v.value_type));
281+
.and_then(|v| v.input_field_by_name(sub_key)).map(|v| &v.value_type);
283282

284283
context.with_input_type(input_type, |context| {
285284
let param = &(sub_key.clone(), sub_value.clone());

src/validation/rules/fields_on_correct_type.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ fn object_field_selection() {
130130
__typename
131131
name
132132
}",
133-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
133+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
134134
&mut plan,
135135
);
136136

@@ -147,7 +147,7 @@ fn aliased_object_field_selection() {
147147
tn : __typename
148148
otherName : name
149149
}",
150-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
150+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
151151
&mut plan,
152152
);
153153

@@ -164,7 +164,7 @@ fn interface_field_selection() {
164164
__typename
165165
name
166166
}",
167-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
167+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
168168
&mut plan,
169169
);
170170

@@ -180,7 +180,7 @@ fn aliased_interface_field_selection() {
180180
"fragment interfaceFieldSelection on Pet {
181181
otherName : name
182182
}",
183-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
183+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
184184
&mut plan,
185185
);
186186

@@ -196,7 +196,7 @@ fn lying_alias_selection() {
196196
"fragment lyingAliasSelection on Dog {
197197
name : nickname
198198
}",
199-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
199+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
200200
&mut plan,
201201
);
202202

@@ -212,7 +212,7 @@ fn ignores_fields_on_unknown_type() {
212212
"fragment unknownSelection on UnknownType {
213213
unknownField
214214
}",
215-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
215+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
216216
&mut plan,
217217
);
218218

@@ -232,7 +232,7 @@ fn reports_errors_when_type_is_known_again() {
232232
}
233233
}
234234
}",
235-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
235+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
236236
&mut plan,
237237
);
238238

@@ -256,7 +256,7 @@ fn field_not_defined_on_fragment() {
256256
"fragment fieldNotDefined on Dog {
257257
meowVolume
258258
}",
259-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
259+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
260260
&mut plan,
261261
);
262262

@@ -279,7 +279,7 @@ fn ignores_deeply_unknown_field() {
279279
deeper_unknown_field
280280
}
281281
}",
282-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
282+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
283283
&mut plan,
284284
);
285285

@@ -302,7 +302,7 @@ fn sub_field_not_defined() {
302302
unknown_field
303303
}
304304
}",
305-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
305+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
306306
&mut plan,
307307
);
308308

@@ -325,7 +325,7 @@ fn field_not_defined_on_inline_fragment() {
325325
meowVolume
326326
}
327327
}",
328-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
328+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
329329
&mut plan,
330330
);
331331

@@ -346,7 +346,7 @@ fn aliased_field_target_not_defined() {
346346
"fragment aliasedFieldTargetNotDefined on Dog {
347347
volume : mooVolume
348348
}",
349-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
349+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
350350
&mut plan,
351351
);
352352

@@ -367,7 +367,7 @@ fn aliased_lying_field_target_not_defined() {
367367
"fragment aliasedLyingFieldTargetNotDefined on Dog {
368368
barkVolume : kawVolume
369369
}",
370-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
370+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
371371
&mut plan,
372372
);
373373

@@ -388,7 +388,7 @@ fn not_defined_on_interface() {
388388
"fragment notDefinedOnInterface on Pet {
389389
tailLength
390390
}",
391-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
391+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
392392
&mut plan,
393393
);
394394

@@ -409,7 +409,7 @@ fn defined_on_implementors_but_not_on_interface() {
409409
"fragment definedOnImplementorsButNotInterface on Pet {
410410
nickname
411411
}",
412-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
412+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
413413
&mut plan,
414414
);
415415

@@ -430,7 +430,7 @@ fn direct_field_selection_on_union() {
430430
"fragment directFieldSelectionOnUnion on CatOrDog {
431431
directField
432432
}",
433-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
433+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
434434
&mut plan,
435435
);
436436

@@ -451,7 +451,7 @@ fn defined_on_implementors_queried_on_union() {
451451
"fragment definedOnImplementorsQueriedOnUnion on CatOrDog {
452452
name
453453
}",
454-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
454+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
455455
&mut plan,
456456
);
457457

@@ -472,7 +472,7 @@ fn meta_field_selection_on_union() {
472472
"fragment directFieldSelectionOnUnion on CatOrDog {
473473
__typename
474474
}",
475-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
475+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
476476
&mut plan,
477477
);
478478

@@ -494,7 +494,7 @@ fn valid_field_in_inline_fragment() {
494494
name
495495
}
496496
}",
497-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
497+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
498498
&mut plan,
499499
);
500500

@@ -511,7 +511,7 @@ fn forbidden_typename_on_subscription_type() {
511511
"subscription {
512512
__typename
513513
}",
514-
&FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
514+
FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA,
515515
&mut plan,
516516
);
517517

src/validation/rules/known_argument_names.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ fn single_arg_is_known() {
157157
"fragment argOnRequiredArg on Dog {
158158
doesKnowCommand(dogCommand: SIT)
159159
}",
160-
&TEST_SCHEMA,
160+
TEST_SCHEMA,
161161
&mut plan,
162162
);
163163

@@ -173,7 +173,7 @@ fn multple_args_are_known() {
173173
"fragment multipleArgs on ComplicatedArgs {
174174
multipleReqs(req1: 1, req2: 2)
175175
}",
176-
&TEST_SCHEMA,
176+
TEST_SCHEMA,
177177
&mut plan,
178178
);
179179

@@ -189,7 +189,7 @@ fn ignores_args_of_unknown_fields() {
189189
"fragment argOnUnknownField on Dog {
190190
unknownField(unknownArg: SIT)
191191
}",
192-
&TEST_SCHEMA,
192+
TEST_SCHEMA,
193193
&mut plan,
194194
);
195195

@@ -205,7 +205,7 @@ fn multiple_args_in_reverse_order_are_known() {
205205
"fragment multipleArgsReverseOrder on ComplicatedArgs {
206206
multipleReqs(req2: 2, req1: 1)
207207
}",
208-
&TEST_SCHEMA,
208+
TEST_SCHEMA,
209209
&mut plan,
210210
);
211211

@@ -221,7 +221,7 @@ fn no_args_on_optional_arg() {
221221
"fragment noArgOnOptionalArg on Dog {
222222
isHouseTrained
223223
}",
224-
&TEST_SCHEMA,
224+
TEST_SCHEMA,
225225
&mut plan,
226226
);
227227

@@ -246,7 +246,7 @@ fn args_are_known_deeply() {
246246
}
247247
}
248248
}",
249-
&TEST_SCHEMA,
249+
TEST_SCHEMA,
250250
&mut plan,
251251
);
252252

@@ -262,7 +262,7 @@ fn directive_args_are_known() {
262262
"{
263263
dog @skip(if: true)
264264
}",
265-
&TEST_SCHEMA,
265+
TEST_SCHEMA,
266266
&mut plan,
267267
);
268268

@@ -278,7 +278,7 @@ fn field_args_are_invalid() {
278278
"{
279279
dog @skip(unless: true)
280280
}",
281-
&TEST_SCHEMA,
281+
TEST_SCHEMA,
282282
&mut plan,
283283
);
284284

@@ -299,7 +299,7 @@ fn directive_without_args_is_valid() {
299299
" {
300300
dog @onField
301301
}",
302-
&TEST_SCHEMA,
302+
TEST_SCHEMA,
303303
&mut plan,
304304
);
305305

@@ -316,7 +316,7 @@ fn arg_passed_to_directive_without_arg_is_reported() {
316316
" {
317317
dog @onField(if: true)
318318
}",
319-
&TEST_SCHEMA,
319+
TEST_SCHEMA,
320320
&mut plan,
321321
);
322322

@@ -338,7 +338,7 @@ fn misspelled_directive_args_are_reported() {
338338
"{
339339
dog @skip(iff: true)
340340
}",
341-
&TEST_SCHEMA,
341+
TEST_SCHEMA,
342342
&mut plan,
343343
);
344344

@@ -359,7 +359,7 @@ fn invalid_arg_name() {
359359
"fragment invalidArgName on Dog {
360360
doesKnowCommand(unknown: true)
361361
}",
362-
&TEST_SCHEMA,
362+
TEST_SCHEMA,
363363
&mut plan,
364364
);
365365

@@ -381,7 +381,7 @@ fn misspelled_arg_name_is_reported() {
381381
"fragment invalidArgName on Dog {
382382
doesKnowCommand(DogCommand: true)
383383
}",
384-
&TEST_SCHEMA,
384+
TEST_SCHEMA,
385385
&mut plan,
386386
);
387387

@@ -402,7 +402,7 @@ fn unknown_args_amongst_known_args() {
402402
"fragment oneGoodArgOneInvalidArg on Dog {
403403
doesKnowCommand(whoKnows: 1, dogCommand: SIT, unknown: true)
404404
}",
405-
&TEST_SCHEMA,
405+
TEST_SCHEMA,
406406
&mut plan,
407407
);
408408

@@ -435,7 +435,7 @@ fn unknown_args_deeply() {
435435
}
436436
}
437437
}",
438-
&TEST_SCHEMA,
438+
TEST_SCHEMA,
439439
&mut plan,
440440
);
441441

src/validation/rules/known_fragment_names.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ impl<'a> OperationVisitor<'a, ValidationErrorContext> for KnownFragmentNames {
3232
) {
3333
if visitor_context
3434
.known_fragments
35-
.get(fragment_spread.fragment_name.as_str()) == None { user_context.report_error(ValidationError {
35+
.get(fragment_spread.fragment_name.as_str()).is_none() { user_context.report_error(ValidationError {
3636
error_code: self.error_code(),
3737
locations: vec![fragment_spread.position],
3838
message: format!("Unknown fragment \"{}\".", fragment_spread.fragment_name),

src/validation/rules/known_type_names.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,12 @@ impl<'a> OperationVisitor<'a, ValidationErrorContext> for KnownTypeNames {
6969
) {
7070
let base_type = variable_definition.var_type.inner_type();
7171

72-
if let None = visitor_context.schema.type_by_name(base_type) {
73-
if !base_type.starts_with("__") {
74-
user_context.report_error(ValidationError {
75-
error_code: self.error_code(),
76-
locations: vec![variable_definition.position],
77-
message: format!("Unknown type \"{}\".", base_type),
78-
});
79-
}
72+
if visitor_context.schema.type_by_name(base_type).is_none() && !base_type.starts_with("__") {
73+
user_context.report_error(ValidationError {
74+
error_code: self.error_code(),
75+
locations: vec![variable_definition.position],
76+
message: format!("Unknown type \"{}\".", base_type),
77+
});
8078
}
8179
}
8280
}
@@ -119,7 +117,7 @@ fn known_type_names_are_valid() {
119117
fragment PetFields on Pet {
120118
name
121119
}",
122-
&TEST_SCHEMA,
120+
TEST_SCHEMA,
123121
&mut plan,
124122
);
125123

@@ -143,7 +141,7 @@ fn unknown_type_names_are_invalid() {
143141
fragment PetFields on Peat {
144142
name
145143
}",
146-
&TEST_SCHEMA,
144+
TEST_SCHEMA,
147145
&mut plan,
148146
);
149147

src/validation/rules/overlapping_fields_can_be_merged.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -794,9 +794,8 @@ impl<'a> OverlappingFieldsCanBeMerged<'a> {
794794
.push(AstAndDef(parent_type, field, field_def));
795795
}
796796
Selection::FragmentSpread(fragment_spread) => {
797-
if fragment_names
798-
.iter()
799-
.find(|n| (*n).eq(&fragment_spread.fragment_name)).is_none()
797+
if !fragment_names
798+
.iter().any(|n| (*n).eq(&fragment_spread.fragment_name))
800799
{
801800
fragment_names.push(&fragment_spread.fragment_name);
802801
}

0 commit comments

Comments
 (0)