CodeSampleX

网络测出了什么

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

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

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

样本自述,其契约实测

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

  1. gem样本契约ruby · linux/x64faraday-net_http@3.4.4

    普遍认为Faraday::Adapter::NetHttp wraps all request timeout failures as Faraday::TimeoutError regardless of whether the connection open or response read phase timed out.

    实测Net::OpenTimeout raises Faraday::ConnectionFailed rather than Faraday::TimeoutError because NET_HTTP_EXCEPTIONS intercepts open timeouts before Timeout::Error rescue handlers run.

  2. gem样本契约ruby · linux/x64faraday@2.14.3

    普遍认为A well-formed Faraday POST using an IO request body is expected to close that IO for the caller automatically.

    实测Faraday returns normally from a POST with an IO request body while leaving the caller's stream open.

  3. gem样本契约ruby · linux/x64faraday@2.14.3

    普遍认为Duplicating an existing Faraday connection with dup creates an unlocked connection that executes subsequently added middleware on its requests.

    实测Adding middleware to a duplicated Faraday connection after the original connection has executed a request silently ignores the new middleware during request execution because dup preserves the parent connection's pre-compiled rack app instance.

  4. gem样本契约ruby · linux/x64faraday@2.14.3

    普遍认为Declaring response :json before response :raise_error in a Faraday connection ensures 4xx and 5xx error response bodies are deserialized into Ruby Hashes on rescued client and server exceptions.

    实测Rescuing a client error from a Faraday connection with response :json declared before response :raise_error leaves error.response[:body] as an unparsed JSON String rather than a deserialized Hash because response middleware unwinds in reverse order.

  5. gem样本契约ruby · linux/x64faraday@2.14.3

    普遍认为If request middleware includes :json, Faraday always JSON-serializes Hash bodies, even when a different Content-Type header is supplied.

    实测assert that with request :json and no Content-Type override, a POST with {name: "sam"} serializes env.body to a JSON string

  6. gem样本契约ruby · linux/x64faraday@2.14.3

    普遍认为Leaving the proxy option unset in Faraday defaults to a direct connection with nil proxy options, and passing proxy false disables environment proxy discovery.

    实测assert leaving proxy unset automatically resolves to Faraday::ProxyOptions from the environment rather than nil

  7. gem样本契约ruby · linux/x64faraday@2.14.3

    普遍认为Calling `in_parallel` on a standard Faraday connection always defers request execution and returns deferred/future responses.

    实测Faraday::Connection#in_parallel with a non-parallel adapter returns normal `Faraday::Response` objects and executes requests immediately, not as queued futures.

  8. gem样本契约ruby · linux/x64csv@3.2.2

    普遍认为skip_blanks:true causes any row that contains no non‑separator characters to be omitted, even when the row consists solely of delimiters

    实测raise 'expected delimiter-only row to remain as nil fields' unless rows[1] == [nil, nil, nil]

  9. composer样本契约php · linux/x64symfony/console@7.0.3

    普遍认为Passing the string '0' as an InputOption shortcut parameter correctly assigns it as a valid flag alias like -0.

    实测new InputOption('foo', '0')->getShortcut() evaluates to the string '0', proving that zero-string shortcuts are preserved rather than incorrectly dropping them as empty values.

  10. composer样本契约php · linux/x64guzzlehttp/guzzle@8.0.2

    普遍认为A developer expects Guzzle to normalize request methods to uppercase before dispatch, so 'gEt' will become 'GET'.

    实测assert GuzzleHttp\Client::request sends the exact method token 'gEt' without uppercasing it to 'GET'

  11. composer样本契约php · linux/x64guzzlehttp/guzzle@7.9.0

    普遍认为A null value for one per-request header removes that inherited header exactly like setting the entire headers option to null.

    实测Passing headers with a null value sends the request and overrides that inherited header with an empty value while preserving other defaults.

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

    普遍认为Exhausted retries always raise RetryError, including result predicates with a fallback callback and exception retries configured with reraise=True.

    实测A result predicate that still requests retry after the third attempt raises RetryError whose last_attempt is a successful Future containing the rejected None result.

  13. pypi样本契约python 3.12 · linux alpine/x64protobuf@7.35.1

    普遍认为A plain proto3 scalar set to its default has presence like an optional field, and protobuf JSON emits int64 values as JSON numbers while omitting explicitly present optional defaults.

    实测DescriptorPool.Add registers an in-memory FileDescriptorProto but returns either None or the registered FileDescriptor depending on the backend; FindFileByName and FindMessageTypeByName provide stable descriptors, and repeated GetMessageClass calls return the same cached Message subclass.

  14. pypi样本契约python 3.12 · linux/x64pandas@3.0.5

    普遍认为An inner pandas DataFrame.merge treats missing join keys like SQL NULL, so missing keys never match one another.

    实测With two missing Int64 keys on each side, an inner DataFrame.merge returns four missing-key rows containing every left/right pair.

  15. pypi样本契约python · linux/x64pillow@12.3.0

    普遍认为ImageOps.exif_transpose always returns the transformed image and accepts in_place as a positional argument.

    实测The default ImageOps.exif_transpose call returns a distinct transformed copy, removes EXIF Orientation from the copy, and leaves the source image unchanged.

  16. pypi样本契约python 3.12 · linux/x64django@6.1

    普遍认为A signed cookie remains valid when copied to any cookie name whose name-plus-salt text matches the original pair, and enabling legacy compatibility is a silent permanent fix.

    实测RequestFactory and Client execute without a server or database, keep POST form data separate from repeated query_params, let per-call query_params replace constructor defaults, and negotiate the Accept header.

  17. pypi样本契约python 3.12 · linux/x64numpy@2.5.2

    普遍认为casting='same_kind' prevents integer overflow during narrowing, while astype(copy=False) refuses any conversion that must allocate a new array.

    实测astype(casting='same_kind') accepts int64-to-int8 narrowing and wraps out-of-range values instead of checking them.

  18. pypi样本契约python · linux/x64importlib-metadata@9.0.0

    普遍认为Callers often treat entry_points() and files() as plain lists of strings or paths and miss the selection, name lookup, distribution, hash, and location semantics carried by their specialized result objects.

    实测The third-party importlib_metadata package resolves its installed 9.0.0 distribution under normalized hyphen and underscore names.

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

    普遍认为Developers typically expect invalid RSA serialization argument combinations to raise ValueError.

    实测A valid PEM serialization can be deserialized and preserves the RSA private numbers after those invalid encodings are rejected.

  20. pypi样本契约python · linux/x64cryptography@47.0.0

    普遍认为CRYPTOGRAPHY_OPENSSL_NO_LEGACY is a build-time compilation flag rather than a runtime environment variable evaluated when OpenSSL bindings initialize.

    实测Setting CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 before cryptography OpenSSL binding initialization prevents loading the OpenSSL legacy provider, causing Blowfish cipher encryptor creation to raise UnsupportedAlgorithm

  21. pypi样本契约python · linux/x64cryptography@47.0.0

    普遍认为Passing a non-None password parameter when deserializing an unencrypted SSH private key is silently ignored by load_ssh_private_key.

    实测load_ssh_private_key raises TypeError when a password byte string is passed for an unencrypted SSH private key rather than silently ignoring the unneeded password.

  22. pypi样本契约python · linux/x64cryptography@47.0.0

    普遍认为AESGCM.generate_key takes key length in bytes and AESGCM.encrypt returns ciphertext separately from the 16-byte authentication tag.

    实测AESGCM.encrypt appends the 16-byte authentication tag to ciphertext producing len(plaintext) + 16 bytes, and AESGCM.generate_key rejects byte lengths with ValueError

  23. pub样本契约dart · linux/x64equatable@2.0.0

    普遍认为An Equatable object's toString method only outputs its properties if stringify is locally overridden to true or if EquatableConfig.stringify is explicitly enabled.

    实测By default in debug mode (assertions enabled), printing an Equatable instance that does not override stringify prints its property values because EquatableConfig.stringify defaults to true.

  24. pub样本契约dart · linux/x64equatable@2.1.0

    普遍认为Equal-length maps might appear equal when a missing key lookup and an explicit value both return null, even though their key sets differ.

    实测Two Equatable instances compare equal when their map-valued props contain the same key-value entries.

  25. pub样本契约dart · linux/x64equatable@2.0.8

    普遍认为An Equatable instance containing a Map property evaluates equality by comparing both keys and values, returning false if keys differ.

    实测equatable 2.0.8 evaluates maps of equal length with differing keys mapping to null values as unequal, avoiding the false positive equality in 2.0.7.

如何核对这里的任何一行

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

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