CodeSampleX

网络测出了什么

下面每一行都是测量结果,不是观点。每一条都链接到一个已发布的样本,其 contract 在断网的固定容器中执行,你可以自己重跑并反驳结论。

操作系统和运行时来自所链接样本记录的环境;缺少该维度的条目会在筛选时排除。

597 条发现,覆盖 8 个生态。

样本自述,其契约实测

正在显示已发布样本测得的第 126–150 条(共 568 条)。

  1. pub样本契约dart · linux/x64json_annotation@4.9.0

    普遍认为A model expects JsonSerializable.fromJson to accept camelCase Dart option names, unknownEnumValue to serve as a fallback when an enum field is null, and disallowNullValues to reject missing keys.

    实测JsonSerializable.fromJson enforces snake_case option keys and disallowUnrecognizedKeys, throwing a CheckedFromJsonException with badKey true on camelCase Dart property names

  2. golang样本契约go · linux/x64github.com/goccy/go-yaml@v1.19.2

    普遍认为yaml.Unmarshal silently accepts duplicate mapping keys and overwrites earlier occurrences with later ones.

    实测assert yaml.Unmarshal rejects duplicate mapping keys with a SyntaxError by default, leaving destination values empty

  3. pypi样本契约python · linux/x64cffi@2.0.0

    普遍认为Calling ffi.string with maxlen reads the full byte length regardless of null bytes, and ffi.buffer on a pointer defaults to the full allocated buffer length.

    实测Calling ffi.string(cdata, maxlen) truncates at the first null byte rather than reading maxlen bytes, while ffi.unpack extracts the exact byte count across embedded nulls.

  4. pub样本契约dart · linux/x64http@1.6.0

    普遍认为Top-level HTTP convenience functions executed inside runWithClient reuse a shared ambient client instance without closing it after each request.

    实测Top-level HTTP convenience functions inside runWithClient instantiate a client via the client factory and close it upon completion, causing subsequent requests on a singleton client factory to fail with ClientException.

  5. npm样本契约node · linux/x64typescript@5.9.3

    普遍认为TypeScript automatically elides type-only named imports and unused value imports during ECMAScript emit regardless of whether type keywords or verbatimModuleSyntax are configured.

    实测When compilerOptions.verbatimModuleSyntax is enabled, importing a type without the type modifier fails type-checking with TS1484, and re-exporting a type without export type fails with TS1205, whereas type-only imports and inline type specifiers compile cleanly and are elided during emit.

  6. npm样本契约node · linux/x64vitest@3.2.7

    普遍认为mergeConfig replaces array options like test.include and test.reporters with override values and supports function config factories.

    实测mergeConfig concatenates array options like test.include, test.exclude, and test.reporters rather than replacing them, appending override test filters to base patterns.

  7. pub样本契约dart · linux/x64convert@3.1.2

    普遍认为CodePage.encode and CodePage.decode silently replace unmapped characters or undefined bytes with fallback tokens rather than throwing FormatException.

    实测CodePage.encode throws FormatException on unmapped characters unless configured with an in-range invalidCharacter byte, and CodePage.decode throws FormatException on undefined byte entries unless allowInvalid is set to true.

  8. npm样本契约node · linux/x64browserslist@4.28.8

    普遍认为passing custom usage statistics via opts.stats causes standard popularity queries like '> 10%' to automatically evaluate against the provided custom statistics

    实测browserslist('> 10% in my stats') throws a BrowserslistError when opts.stats is omitted

  9. golang样本契约go · linux/x64github.com/go-playground/validator/v10@v10.30.3

    普遍认为Tagging a non-pointer struct field with validate:"required" causes validator.New().Struct() to reject an uninitialized zero-value struct.

    实测validator.New() ignores validate:"required" on non-pointer struct fields and returns nil for zero-value structs, while validator.WithRequiredStructEnabled() causes validation to fail with a required tag error on the struct field.

  10. pub样本契约dart · linux/x64shelf@1.4.2

    普遍认为A mounted sub-router configured with a custom notFoundHandler only handles its own 404s when no other parent routes match, allowing sibling or fallback routes in the parent Router to catch unhandled paths.

    实测A parent Router falls through unmatched sub-paths to subsequent sibling routes when the mounted sub-router uses the default notFoundHandler, but halts and returns 404 when configured with a custom notFoundHandler.

  11. golang样本契约go · linux/x64github.com/spf13/pflag@v1.0.10

    普遍认为Enabling ParseErrorsWhitelist.UnknownFlags allows unrecognized flags to pass through without error while preserving all subsequent positional arguments in FlagSet.Args().

    实测When ParseErrorsWhitelist.UnknownFlags is true, FlagSet.Parse on unknown flags without an equals sign silently consumes the following non-flag argument as the flag value, leaving Args empty rather than preserving the positional argument.

  12. golang样本契约go 1.26 · linux/x64google.golang.org/grpc@v1.83.0

    普遍认为A client can receive responses larger than 4MB without additional configuration because the default 4MB limit applies only to server request payloads, or by setting grpc.MaxCallSendMsgSize on the client.

    实测When a gRPC server returns a 5MB payload to a client with default options, the server transmits it without error but the client fails to decode the response with status code ResourceExhausted because the default client-side receive limit is 4MB.

  13. pub样本契约dart · linux/x64shelf@1.4.2

    普遍认为A shelf Cascade cascades to subsequent handlers on any 4xx or 5xx client or server error response by default.

    实测Cascade defaults to cascading only on 404 and 405 status codes, requiring explicit statusCodes or shouldCascade configuration to cascade past 400 Bad Request, 401 Unauthorized, or 500 Internal Server Error responses.

  14. golang样本契约go · linux/x64go.uber.org/zap@v1.27.0

    普遍认为zap.Config.Build automatically resolves unregistered URI schemes to file paths or creates default sink wrappers for custom protocol schemes

    实测zap.Config.Build fails with a 'no sink found for scheme' error when OutputPaths contains a URI scheme that has not been registered via zap.RegisterSink.

  15. golang样本契约go 1.26 · linux/x64github.com/gin-gonic/gin@v1.12.0

    普遍认为gin.Context implements context.Context so it automatically delegates Value, Deadline, and Done to the underlying http.Request context without extra configuration.

    实测By default gin.Engine has ContextWithFallback disabled, causing gin.Context to return nil for all http.Request context values and ignore request deadlines and cancellation.

  16. pypi样本契约python · linux/x64pillow@10.4.0

    普遍认为Image.open checks image size limits only during pixel rasterization and raises a generic MemoryError rather than DecompressionBombError when pixels exceed Image.MAX_IMAGE_PIXELS.

    实测Image.open eagerly raises PIL.Image.DecompressionBombError during header parsing when total pixels exceed twice Image.MAX_IMAGE_PIXELS without allocating pixel memory.

  17. pypi样本契约python · linux/x64anyio@4.13.0

    普遍认为Cancelling a task waiting on anyio.to_thread.run_sync cancels immediately without waiting for the synchronous thread, and setting abandon_on_cancel=True keeps worker thread concurrency strictly bounded by the CapacityLimiter.

    实测With abandon_on_cancel=False, cancelling the calling scope blocks until the worker thread finishes running, whereas abandon_on_cancel=True exits the scope immediately while releasing the CapacityLimiter before the synchronous thread finishes.

  18. hex样本契约elixir · linux/x64decimal@3.1.1

    普遍认为Setting a Decimal context configuration applies across the application or automatically propagates to spawned child processes and tasks.

    实测Decimal context is scoped to the calling process dictionary and is not inherited by spawned child tasks

  19. npm样本契约node · linux/x64vue@3.5.41

    普遍认为In production mode (NODE_ENV=production), an unhandled error thrown during Vue SSR component setup or rendering causes renderToString() to reject with the error.

    实测In production mode, unhandled errors in component setup or rendering are suppressed and logged to console by default, causing renderToString to resolve with partial markup unless app.config.throwUnhandledErrorInProduction is set to true.

  20. pypi样本契约python · linux/x64tenacity@9.1.4

    普遍认为retry_unless_exception_type retries functions that raise unexpected exceptions while allowing successful returns to exit immediately without retrying.

    实测retry_unless_exception_type treats successful return values as retryable states, retrying until stop exhaustion and raising RetryError with a successful last_attempt Future.

  21. gem样本契约ruby · linux/x64minitest@6.0.6

    普遍认为Calling parallelize_me! inside a test class always enables parallel test execution across worker threads or raises an error if threads cannot be allocated

    实测When MT_CPU is 1 or less at load time, Minitest.parallel_executor is nil, causing parallelize_me! to leave test class run_order as :random without including Minitest::Parallel::Test, running tests synchronously on the main thread

  22. npm样本契约node · linux/x64jose@6.2.9

    普遍认为Setting maxTokenAge only limits allowable token age when an iat claim is present, falling back to exp expiration checking when iat is omitted.

    实测jwtVerify with maxTokenAge configured rejects tokens lacking an iat claim with JWTClaimValidationFailed and reason 'missing' rather than falling back to exp validation.

  23. npm样本契约node · linux/x64rollup@4.34.8

    普遍认为A bare import with no specifiers, such as import './polyfill.js', is always retained during tree-shaking because it declares an intentional side effect with no unused bindings to eliminate.

    实测Setting treeshake: { moduleSideEffects: false } causes Rollup to strip bare side-effect imports that have no consumed exports, whereas treeshake: { moduleSideEffects: 'no-external' } retains internal side-effect imports and strips unused external ones.

  24. golang样本契约go · linux/x64github.com/google/go-cmp@v0.7.0

    普遍认为Passing multiple cmp.Transformer or cmp.Comparer options for the same underlying type automatically evaluates them in order or restricts them to their intended struct context.

    实测assert cmp.Diff panics with ambiguous set of applicable options when multiple transformers or comparers target the same type without path filters

  25. pypi样本契约python · linux/x64pyarrow@25.0.1

    普遍认为pyarrow.csv.read_csv parses tokens defined in null_values as null values across all columns regardless of inferred column data type.

    实测CSV columns inferred as strings preserve tokens matching null_values as literal strings unless strings_can_be_null is explicitly set to True, whereas numeric columns convert them to nulls by default.

如何核对这里的任何一行

打开样本,读它的 contract,然后运行。contract 就是该样本自己的测试:它在断网的固定容器中运行,那次运行的签名回执才是网络所存储的东西。这里没有一条依赖我们对某个库的理解,只依赖这个库实际做了什么。

有些已发布的样例不在这个页面上。它们的契约通过了,样例也是活的 —— 但契约里没有一行能当句子读。像 expect(x).toBe(1) 这样的断言,放在它所检验的那个认知旁边,对读者什么也没说。与其登出没人能读的证据,不如空着。