CodeSampleX

Ce que le réseau a trouvé

Chaque ligne ci-dessous est une mesure, pas un avis. Chacune renvoie à un échantillon publié dont le contract s'exécute dans un conteneur épinglé, réseau coupé : vous pouvez le rejouer et contredire le résultat.

Le système et le runtime viennent de l'environnement enregistré par l'échantillon ; les dimensions absentes sont exclues.

597 constats sur 8 écosystèmes.

Énoncé par l'échantillon, mesuré par son contrat

176–200 sur 568, mesurés par des échantillons publiés.

  1. gemContrat d'échantillonruby · linux/x64mustermann@4.0.0

    On croitMustermann pattern matching always requires full string matches, and string interpolation of pattern objects safely preserves named parameter boundaries without altering AST capture names.

    MesuréMustermann patterns anchored to string boundaries return nil on subpaths when using match or params, but peek_params performs unanchored prefix matching and returns both extracted params and the consumed character offset for stepwise sub-routing.

  2. golangContrat d'échantillongo · linux/x64github.com/go-chi/chi/v5@v5.3.1

    On croitmiddleware.Timeout enforces a hard wall-clock timeout by asynchronously aborting the handler and returning 504 Gateway Timeout even if the handler blocks or writes data.

    MesuréWhen a handler cooperatively returns upon ctx.Done() without writing to ResponseWriter, middleware.Timeout writes HTTP 504 StatusGatewayTimeout with an empty body.

  3. gemContrat d'échantillonruby · linux/x64set@1.1.3

    On croitSet#<=> provides a total ordering across any sets so arrays of sets can be sorted with Array#sort.

    MesuréSet#<=> returns nil when neither set is a subset of the other, which causes Array#sort on incomparable sets to raise ArgumentError.

  4. pypiContrat d'échantillonpython · linux/x64six@1.17.0

    On croitsix.b encodes any text to bytes and accepts existing bytes idempotently, six.u coerces bytes to str, and six.byte2int coerces integer inputs while defaulting empty bytes to zero

    Mesurésix.b strictly encodes strings using latin-1 raising UnicodeEncodeError on code points above 255 and AttributeError on existing bytes rather than coercing via UTF-8 or acting idempotently

  5. pypiContrat d'échantillonpython · linux/x64six@1.17.0

    On croitAccessing moved attributes on six.moves or its classes returns the descriptor or resolved object identically without mutating class state, and six.remove_move cleans up import hooks alongside attribute access

    MesuréAccessing an attribute on six.moves or its lazy namespaces resolves the target, caches it in the instance dictionary, and deletes the lazy descriptor from the class dictionary, making class-level attribute access fail with AttributeError

  6. golangContrat d'échantillongo · linux/x64go.opentelemetry.io/otel/sdk@v1.45.0

    On croitresource.Merge returns a nil Resource pointer when encountering an ErrSchemaURLConflict between resources with different schema URLs.

    Mesuréresource.Merge with conflicting non-empty schema URLs returns a non-nil Resource with SchemaURL set to empty string alongside ErrSchemaURLConflict while merging attributes

  7. golangContrat d'échantillongo · linux/x64go.opentelemetry.io/otel@v1.28.0

    On croitExtracting from a request with multiple traceparent headers ignores them completely as mandated by the W3C Trace Context specification.

    MesuréExtracting from a HeaderCarrier with two traceparent headers yields the SpanContext of the first header rather than an invalid, empty context.

  8. pypiContrat d'échantillonpython · linux/x64six@1.17.0

    On croitsix.reraise(tp, value, tb) accepts a string message as value and instantiates tp(value) like Python 2's raise statement, and six.raise_from(exc, None) retains implicit exception context.

    Mesurésix.reraise requires value to be an exception instance or None and raises AttributeError when passed a string message, unlike Python 2 raise syntax

  9. pypiContrat d'échantillonpython · linux/x64six@1.17.0

    On croitsix.int2byte raises standard built-in ValueError or TypeError for invalid integer inputs like Python 2 chr() or Python 3 bytes constructor, and six.remove_move raises KeyError for nonexistent moves

    Mesurésix.int2byte raises struct.error rather than built-in ValueError or TypeError when passed out-of-range integers or non-integer types because it is implemented via struct.Struct.pack in Python 3

  10. pypiContrat d'échantillonpython · linux/x64pydantic@2.13.4

    On croitPydantic models validate and coerce all field defaults against annotated types and constraints during default instantiation.

    MesuréLeaving validate_default unset defaults to False: uncoerced string defaults remain raw strings and constraint-violating defaults are assigned directly without validation errors.

  11. pypiContrat d'échantillonpython · linux/x64pydantic@2.13.4

    On croitSerializing a Pydantic model to JSON and parsing it back with model_validate_json preserves the original plaintext secret or raises a validation error.

    Mesurémodel_dump_json masks SecretStr and SecretBytes to asterisks, and subsequent model_validate_json silently parses the mask string as the new secret value instead of preserving the secret or raising an error.

  12. golangContrat d'échantillongo · linux/x64go.opentelemetry.io/otel/sdk@v1.45.0

    On croitCapacity limits on a span apply a uniform dropping strategy, meaning both attributes and events would drop the newest entries or both would drop the oldest entries.

    MesuréWhen AttributeCountLimit is 3 and five attributes are added in order a0…a4, span.Attributes() contains exactly the first three (a0, a1, a2), not the last three — new arrivals are silently dropped, not old ones.

  13. pypiContrat d'échantillonpython · linux/x64pydantic@2.13.4

    On croitPassing a set of field names like {'members': {'secret'}} to model_dump(exclude=...) excludes that field from each nested model in a sequence.

    MesuréPassing a bare field set like {'members': {'secret'}} to model_dump(exclude=...) silently leaves secrets present in nested sequence elements because collection keys represent item indices rather than attribute names.

  14. pubContrat d'échantillondart · linux/x64args@2.7.0

    On croitArgResults returns an isolated or unmodifiable list for multi-option default values on each parse rather than sharing a mutable reference to the parser's internal default list.

    MesuréArgResults.multiOption returns the exact mutable defaultsTo list instance stored in Option without copying, causing identical() to return true across distinct parse calls and leaking in-place mutations into subsequent parses.

  15. npmContrat d'échantillonnode · linux/x64react@18.3.1

    On croitstartTransition defers callback execution asynchronously or returns a Promise that keeps async continuations within the transition context.

    MesuréstartTransition executes its callback synchronously on the calling thread, returns undefined rather than a Promise, and resets ReactCurrentBatchConfig.transition to null immediately before returning so asynchronous continuations run outside the transition context.

  16. golangContrat d'échantillongo · linux/x64go.opentelemetry.io/otel/sdk@v1.24.0

    On croitParentBased(NeverSample()) disables span sampling across all spans created by the TracerProvider

    MesuréParentBased(NeverSample()) samples and exports child spans when the context contains a sampled remote parent, because ParentBased delegates sampled remote parents to AlwaysSample() by default rather than the configured root sampler.

  17. golangContrat d'échantillongo · linux/x64go.opentelemetry.io/otel/sdk@v1.37.0

    On croitAlwaysSample().Description() returns "AlwaysSample" and NeverSample().Description() returns "NeverSample" matching their Go constructor identifiers

    MesuréAlwaysSample().Description() returns "AlwaysOnSampler" and NeverSample().Description() returns "AlwaysOffSampler" using OpenTelemetry specification names rather than Go constructor names

  18. pypiContrat d'échantillonpython · linux/x64httpx@0.28.1

    On croitSubclassing Auth to inspect streaming request bodies or handle 401 challenge retries can be done by accessing request.content directly or yielding requests without explicit body buffering flags, and Authorization headers are automatically retained across all followed redirects.

    MesuréAccessing request.content on streaming requests inside auth_flow raises RequestNotRead unless requires_request_body is set to True

  19. pypiContrat d'échantillonpython · linux/x64httpx@0.28.1

    On croitConverting Headers and QueryParams to standard Python dictionaries preserves all multi-value items or maps duplicate keys to lists.

    MesuréConverting Headers to a standard dictionary collapses duplicate header keys into a single comma-delimited string rather than preserving discrete wire occurrences or lists.

  20. pypiContrat d'échantillonpython · linux/x64httpx@0.28.1

    On croitJoining a relative path to an httpx.URL always appends to the full path prefix of the base URL

    Mesuréhttpx.URL.join on a base path lacking a trailing slash replaces the final path segment rather than appending to it

  21. npmContrat d'échantillonnode · linux/x64@babel/preset-env@7.26.0

    On croitisPluginRequired accepts shorthand target versions such as chrome '80' matching Babel configuration presets, and returns false when targets is empty since no target platforms require compilation.

    MesuréisPluginRequired throws a semver validation error when targets specifies a non-triplet version like '80' while support data allows '79', returns false when target version 80.0.0 meets support version 79, and returns true when targets is empty or includes unspecified environments.

  22. pypiContrat d'échantillonpython · linux/x64httpx@0.28.1

    On croithttpx.InvalidURL inherits from httpx.HTTPError and catching httpx.HTTPError catches URL formatting errors

    Mesuréhttpx.InvalidURL inherits directly from builtins.Exception rather than httpx.HTTPError or httpx.RequestError, so catching httpx.HTTPError fails to catch URL validation failures.

  23. npmContrat d'échantillonnode · linux/x64express@4.21.0

    On croitres.format requires handlers to set their own Content-Type header and falls back to a 200 response or uncaught exception when the Accept header is unmatched

    Mesuréres.format automatically sets the Vary: Accept header and pre-populates Content-Type matching the negotiated format before executing the handler

  24. npmContrat d'échantillonnode · linux/x64express@4.21.2

    On croitrouter.param callbacks defined on a child router with mergeParams: true execute for all named parameters present in req.params during route handling.

    MesuréExpress router.param callbacks only execute when the parameter placeholder is declared in the matching route's own path pattern, ignoring inherited parameters populated on req.params by mergeParams: true.

  25. npmContrat d'échantillonnode · linux/x64express@5.2.1

    On croitA good model would confidently expect that query parameters configured or named to represent collections will always parse as an array if present, or that ?id[]=1 syntax forces an array type.

    Mesuréreq.query.id parses ?id=1 as the string '1', not an array.

Comment vérifier n'importe quelle ligne

Ouvrez l'échantillon, lisez son contract, exécutez-le. Le contract est le test propre à l'échantillon : il tourne hors réseau dans un conteneur épinglé, et c'est le reçu signé de cette exécution que le réseau conserve. Rien ici ne repose sur notre lecture d'une bibliothèque, seulement sur ce qu'elle a fait.

Certains échantillons publiés ne figurent pas sur cette page. Leur contrat est passé et l'échantillon est en ligne, mais aucune ligne de ce contrat ne se lit comme une phrase. Une assertion comme expect(x).toBe(1), placée à côté de la croyance qu'elle vérifie, n'apprend rien au lecteur. Nous préférons les omettre plutôt que publier une preuve que personne ne peut lire.