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

376–400 sur 568, mesurés par des échantillons publiés.

  1. npmContrat d'échantillonnode · linux/x64core-js@3.49.0

    On croitA naive expectation is that `Iterator.range` coerces `NaN` arguments to usable numbers, so `Iterator.range(NaN, 10)` would still return an iterable.

    MesuréCalling `Iterator.range` with `NaN` as `start` throws `RangeError` in the patched `core-js` behavior.

  2. npmContrat d'échantillonnode · linux/x64commander@15.0.0

    On croitAn option configured with an optional value accepts negative numbers like -1 as its argument regardless of what other short option flags are registered on the command.

    MesuréPassing -1 after an optional-argument option evaluates that option to boolean true and parses -1 as a distinct flag if any single-digit short option is defined on the command hierarchy, because Commander disables negative number heuristics whenever a digit flag exists.

  3. npmContrat d'échantillonnode · linux/x64commander@13.1.0

    On croitParsing multiple command invocations concurrently with parseAsync on a shared Command instance keeps options isolated within each execution promise.

    MesuréCalling parseAsync on a shared Command instance while an earlier parseAsync execution is suspended at an await overwrites the option store, causing the earlier execution to resume with option values from the later invocation.

  4. npmContrat d'échantillonnode · linux/x64commander@15.0.0

    On croitAn option configured with an optional value and a custom argParser coerces a fallback value through argParser when the flag is invoked without an argument on the command line.

    MesuréOption.preset() supplies a fallback value passed to argParser when an optional-value flag is invoked without arguments, preventing Commander from storing boolean true and bypassing custom parser coercion.

  5. npmContrat d'échantillonnode · linux/x64bun@1.3.14

    On croitPinning bun in package.json should let Node import it as a normal dependency module.

    Mesurébun@1.3.14 has no Node import surface in lockfile metadata, because neither `main` nor `exports` is present even though the package is installed as a dependency.

  6. npmContrat d'échantillonnode · linux/x64bun@1.3.14

    On croitBun binary APIs receive a typed array's entire backing ArrayBuffer, so passing a subarray with a non-zero offset hashes, compresses, or writes bytes outside the view.

    MesuréBun.hash produces the same result for a non-zero-offset Uint8Array view and an independent array containing only the view bytes, and a different result for the full backing array

  7. npmContrat d'échantillonnode · linux/x64@babel/preset-env@7.26.9

    On croitTargeting modern environments like Node 22 or setting targets.esmodules to true causes @babel/preset-env to preserve ES module import and export syntax by default without transforming them to CommonJS.

    MesuréEven when targeting modern environments that natively support ES modules such as Node 22 or esmodules: true, @babel/preset-env defaults modules to 'auto' and transforms import and export statements into CommonJS require and exports unless the caller declares supportsStaticESM or modules is explicitly set to false.

  8. npmContrat d'échantillonnode · linux/x64@babel/preset-env@8.0.2

    On croitTargeting modern JavaScript runtimes with @babel/preset-env and default modules: 'auto' preserves native export * as ns syntax because the targeted environments natively support ECMAScript namespace re-exports.

    MesuréWhen modules is unset or 'auto', @babel/preset-env unconditionally injects transform-export-namespace-from and desugars export * as ns statements even when targeting modern runtimes like Chrome 120 or Node 22, unless modules is explicitly false or the caller declares supportsExportNamespaceFrom.

  9. npmContrat d'échantillonnode · linux/x64@babel/core@8.0.1

    On croitEquivalent inline plugin option objects are reused across transformSync calls, and createConfigItem remains a synchronous convenience API in Babel 8.

    MesuréA ConfigItem created once with createConfigItemSync reuses its plugin descriptor so five transformSync calls execute the factory exactly once

  10. npmContrat d'échantillonnode · linux/x64@babel/core@8.0.1

    On croitCalling babel.transformAsync allows plugin visitor methods to be async functions whose returned Promises are awaited before AST traversal completes and transformed output code is generated.

    Mesurébabel.transformAsync completes AST traversal synchronously and generates untransformed output code when a plugin visitor returns a Promise, leaving the Promise un-awaited.

  11. npmContrat d'échantillonnode · linux/x64@babel/core@8.0.1

    On croittransformFromAstSync modifies the provided AST object in place during traversal and populates result.ast with the transformed tree.

    MesurétransformFromAstSync preserves the input AST node unmodified and sets result.ast to null unless cloneInputAst is set to false and ast is set to true.

  12. npmContrat d'échantillonnode · linux/x64@babel/core@8.0.1

    On croitbabel.transformSync automatically discovers and loads .babelrc configuration files from the current working directory when transforming code strings.

    Mesurébabel.transformSync and babel.loadPartialConfigSync ignore .babelrc configuration files when filename is omitted, defaulting options.babelrc to false

  13. npmContrat d'échantillonnode · linux/x64@babel/core@8.0.1

    On croitSetting configFile: false disables all filesystem configuration loading, while subpackage .babelrc.json configurations are discovered and applied automatically.

    MesuréSetting configFile: false disables only project-wide babel.config.json while leaving file-relative .babelrc.json active, and subpackage .babelrc.json files are ignored under default babelrcRoots: true

  14. hexContrat d'échantillonelixir · linux/x64nimble_pool@1.1.0

    On croitNimblePool.handle_info/2 follows the same return convention as GenServer.handle_info/2, accepting (message, state) and returning {:noreply, state}, because NimblePool is built on GenServer.

    MesuréReturning {:noreply, worker_state} from handle_info/2 crashes the pool process with CaseClauseError, because NimblePool routes stray messages to each idle worker's handle_info/2, then pattern-matches the result against {:ok, _}, killing the pool and making all subsequent checkouts exit with :noproc.

  15. golangContrat d'échantillongo · linux/x64net/http@go1.26.5

    On croitHeaders set on http.ResponseWriter after calling WriteHeader are included in the HTTP response.

    MesuréHeaders set on http.ResponseWriter after calling WriteHeader are omitted from the client response.

  16. golangContrat d'échantillongo · linux/x64net/http@v1.26.5

    On croitSetting the Host header via http.Request.Header.Set("Host", ...) overrides the Host header sent on the wire by http.Client.

    Mesuréreq.Header.Set("Host", ...) does not override the wire Host header sent by http.Client

  17. golangContrat d'échantillongo 1.26 · linux/x64gorm.io/gorm@v1.31.2

    On croitCalling Scopes(Tenant(id)) before Where(...).Or(...) keeps the tenant predicate in force for both OR branches because the scope appears first in the chain.

    Mesuréassert Scopes(Tenant(7)).Where("active = ?", true).Or("role = ?", "admin") generates WHERE active = ? OR role = ? AND tenant_id = ?, so SQL precedence allows active rows from other tenants

  18. golangContrat d'échantillongo 1.26 · linux/x64google.golang.org/grpc@v1.83.0

    On croitA unary client interceptor can call metadata.NewOutgoingContext to add its own field without affecting outgoing metadata the caller already attached.

    MesuréA grpc.NewClient call reaches a manually registered unary service through bufconn, a context dialer, and insecure transport credentials without opening a TCP listener.

  19. golangContrat d'échantillongo 1.26 · linux/x64github.com/spf13/viper@v1.21.0

    On croitMergeConfigMap treats its argument as immutable input and copies it, so changing or reusing the caller's map after the call cannot alter Viper's configuration.

    Mesuréassert MergeConfigMap lowercases both top-level and nested keys in the caller-supplied maps themselves

  20. golangContrat d'échantillongo · linux/x64github.com/golang-jwt/jwt/v5@v5.3.1

    On croitproviding an invalid key type (such as a byte slice instead of an RSA public key) to jwt.Parse during RSA verification returns jwt.ErrTokenUnverifiable or jwt.ErrInvalidKeyType rather than jwt.ErrTokenSignatureInvalid

    Mesuréassert jwt.Parse returns jwt.ErrTokenSignatureInvalid when a key of invalid type is provided for RSA verification, rather than ErrTokenUnverifiable or ErrInvalidKeyType directly

  21. golangContrat d'échantillongo · linux/x64github.com/golang-jwt/jwt/v5@v5.3.1

    On croitDefining a Valid() error method on a custom claims struct in github.com/golang-jwt/jwt/v5 triggers custom validation during parsing, and missing expiration claims cause parsing to fail by default.

    MesuréDefining a Valid() error method on a custom claims struct has no effect in v5 because custom validation requires implementing the jwt.ClaimsValidator interface via a Validate() error method.

  22. golangContrat d'échantillongo · linux/x64github.com/golang-jwt/jwt/v5@v5.3.1

    On croitA single-element jwt.ClaimStrings slice serializes to a JSON string value by default.

    MesuréSerializing a single-element jwt.ClaimStrings audience produces a JSON array by default because jwt.MarshalSingleStringAsArray is true.

  23. golangContrat d'échantillongo · linux/x64github.com/golang-jwt/jwt/v5@v5.2.2

    On croitParseUnverified returns a slice containing all split string segments when parsing a malformed token string with extra dot delimiters.

    MesuréParseUnverified returns a nil parts slice rather than a populated slice of all split segments when given a token with extra dot delimiters.

  24. golangContrat d'échantillongo · linux/x64github.com/golang-jwt/jwt/v5@v5.3.1

    On croitDefining a Valid() error method on a custom claims struct validates claims during jwt.ParseWithClaims.

    Mesuréjwt.ParseWithClaims silently ignores a custom claims Valid() error method, passing validation unless the struct implements ClaimsValidator with Validate() error.

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

    On croitmiddleware.AllowContentType rejects POST requests lacking a Content-Type header and ignores Content-Type headers on GET requests.

    Mesurémiddleware.AllowContentType allows a body-less POST request with an empty Content-Type header through to the handler with HTTP 200 rather than rejecting it based on the HTTP method

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.