• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vektah / gqlparser / 1008
87%

Build:
DEFAULT BRANCH: master
Ran 23 Sep 2026 05:56PM UTC
Jobs 1
Files 57
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Sep 2026 05:54PM UTC coverage: 87.472% (+0.07%) from 87.402%
1008

push

circleci

web-flow
Compare composite argument values in `sameValue` (#108) (#459)

* Compare composite argument values in sameValue (#108)

sameValue compared only Kind and Raw. Object and list values keep their
contents in Children with an empty Raw, so every object value compared equal to
every other object value (and likewise for lists). OverlappingFieldsCanBeMerged
(spec section 5.3.2) therefore failed to flag same-response-name fields whose
object or list arguments differ, e.g. f(where:{code:"DE"}) and
f(where:{code:"US"}) were allowed to merge.

Compare the children too: input object fields by name (order is not
significant per the spec) and list elements by position (order is
significant). Scalars are unaffected since they carry no children.

Adds a sameValue unit test covering objects, lists, reordering and field-count
mismatches; the object/list cases fail without this change.

Signed-off-by: jaideeppyne <jaideeppyne1997@gmail.com>

* Reformat

Signed-off-by: Steve Coffman <steve@khanacademy.org>

* Change 1 — end-to-end regression lock. New
validator/spec/OverlappingFieldsCanBeMerged.spec.yml, picked up by
TestValidation (validator/imported_test.go:58). Five cases on a self-contained
inline schema: conflicting object args, conflicting list args, conflicting
nested object args, plus identical-args and reordered-fields cases that guard
the opposite failure mode (a false conflict). Inline
SDL rather than a numeric index, because imported/spec/schemas.yml is
regenerated from graphql-js by export.sh, so an index is a reference into a
file expected to churn.

Change 2 — asymmetry fixed by canonicalizing, not by checking twice
(overlapping_fields_can_be_merged.go:578). Sort a copy of each object's
children by name, then compare Name and Value position by position — which
also collapses the object and list branches into one loop, since list children
are unnamed and compare equal on name for free. This is graphql-js's
stableSortedValue semantics, so the two implementat... (continued)

18 of 18 new or added lines in 1 file covered. (100.0%)

5390 of 6162 relevant lines covered (87.47%)

1.01 hits per line

Jobs
ID Job ID Ran Files Coverage
1 1008.1 23 Sep 2026 05:56PM UTC 57
87.47
CircleCI Job
Source Files on build 1008
  • Tree
  • List 57
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • CircleCI Build #1008
  • 9a84c0a3 on github
  • Prev Build on master (#1005)
  • Next Build on master (#1009)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc