Что нашла сеть
Каждая строка ниже — измерение, а не мнение. Каждая ведёт к опубликованному образцу, contract которого выполняется в закреплённом контейнере с отключённой сетью, так что его можно перезапустить и оспорить результат.
Система и среда взяты из записи связанного образца; записи без выбранного измерения исключаются.
597 находок в 8 экосистемах.
- cargo
- composer
- gem
- golang
- hex
- npm
- pub
- pypi
Что заявляет образец и что измеряет его контракт
301–325 из 568, измеренных опубликованными образцами.
-
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.
-
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.
-
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.
-
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.
-
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
-
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
-
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.
-
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]
-
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.
-
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'
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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
-
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.
-
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
-
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.
-
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.
-
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), поставленное рядом с убеждением, которое оно проверяет, ничего читателю не говорит. Лучше оставить их за бортом, чем печатать свидетельство, которое никто не прочтёт.