CodeSampleX

Что нашла сеть

Каждая строка ниже — измерение, а не мнение. Каждая ведёт к опубликованному образцу, contract которого выполняется в закреплённом контейнере с отключённой сетью, так что его можно перезапустить и оспорить результат.

Система и среда взяты из записи связанного образца; записи без выбранного измерения исключаются.

597 находок в 8 экосистемах.

Что заявляет образец и что измеряет его контракт

276–300 из 568, измеренных опубликованными образцами.

  1. gemКонтракт образцаruby · linux/x64sorbet-runtime@0.6.13427

    СчитаетсяA method marked with `sig(:final)` is always rejected when a class overrides it through include.

    ИзмереноOverriding a `sig(:final)` method by defining the same instance method in a class after including a module with that final method succeeds while final checks are not enabled.

  2. gemКонтракт образцаruby · linux/x64sorbet-runtime@0.6.13427

    СчитаетсяA model that believes `T.must` rejects all falsey values would expect `false` to raise and never be returned.

    ИзмереноCalling `T.must(false)` returns `false`, proving `T.must` only rejects nil, while calling `T.must(nil)` fails.

  3. gemКонтракт образцаruby · linux/x64sorbet-runtime@0.6.13427

    СчитаетсяJSON.dump on a T::Enum instance raises NoMethodError instead of serializing it

    ИзмереноJSON.dump(Color::RED) returns the JSON string "red" using the enum's serialized value.

  4. gemКонтракт образцаruby · linux/x64sinatra@4.2.1

    СчитаетсяSinatra automatically removes uploaded file temporary files after the request completes

    ИзмереноA multipart upload sent with an allowed localhost Host reaches the Sinatra route, and the received tempfile still exists after the request returns.

  5. gemКонтракт образцаruby · linux/x64set@1.1.1

    СчитаетсяChanging an object's #hash after adding it to a Set updates its position in the Set automatically

    ИзмереноAfter an element's hash changes, Set#include? returns false while Set#delete? returns nil and the stale entry still counts toward Set#size.

  6. gemКонтракт образцаruby · linux/x64set@1.1.1

    СчитаетсяSet[1,2,3].to_json returns the string "[1,2,3]" because Set is an Enumerable collection and the json gem is expected to serialize it like an Array.

    ИзмереноSet[1,2,3].to_json returns a JSON string literal (begins with a double-quote character) rather than the JSON array "[1,2,3]", because Set inherits to_json from JSON::Ext::Generator::GeneratorMethods::Object which delegates to to_s.to_json

  7. gemКонтракт образцаruby · linux/x64set@1.1.1

    СчитаетсяCalling `Set#intersect?` with a scalar will simply return `false`.

    ИзмереноSet#intersect?(4) raises `ArgumentError` with message `value must be enumerable`, so invalid scalar input fails instead of returning a boolean.

  8. gemКонтракт образцаruby · linux/x64set@1.1.1

    СчитаетсяSet#merge accepts only a single enumerable argument at a time, requiring chained or sequential merge calls to combine multiple collections.

    ИзмереноSet#merge accepts multiple enumerable arguments in a single invocation, mutating the receiver in place with elements from all passed collections and returning self.

  9. gemКонтракт образцаruby · linux/x64set@1.1.1

    СчитаетсяPreloading `sorted_set` via `RUBYOPT=-rsorted_set` is a valid way to get deprecated set behavior on this Ruby stream.

    ИзмереноA fresh Ruby process started with `RUBYOPT=-rset` starts normally and can construct `Set`, while the same process started with `RUBYOPT=-rsorted_set` exits before executing the script body with `cannot load such file -- sorted_set`.

  10. gemКонтракт образцаruby · linux/x64rack-test@2.2.0

    СчитаетсяA `Rack::Test::UploadedFile` sent through `post` is cleaned up by rack-test, so its backing tempfile is automatically closed when the request finishes.

    ИзмереноAfter a successful multipart `post`, the uploaded tempfile used by `Rack::Test::UploadedFile` remains open.

  11. gemКонтракт образцаruby · linux/x64set@1.1.1

    СчитаетсяPassing a block to Set.new filters matching elements, Set#map preserves the Set type with duplicate elimination, in-place filters always return the receiver, and Set#add returns a boolean indicating whether insertion occurred.

    Измереноassert Set.new with a block transforms each element before insertion rather than filtering elements, inserting the boolean return values

  12. gemКонтракт образцаruby · linux/x64rack-test@2.2.0

    СчитаетсяPassing a Hash payload to Rack::Test request methods with a JSON Content-Type header automatically serializes the body as JSON.

    Измереноassert posting a Hash with application/json Content-Type sends a form-urlencoded query string and fails JSON parsing unless explicitly passed as a serialized JSON string

  13. gemКонтракт образцаruby · linux/x64rack-test@2.2.0

    СчитаетсяCalling set_cookie with a secure attribute on a session stores the cookie in the jar for HTTPS requests and accepts a URI string.

    Измереноassert calling set_cookie with a secure attribute without an explicit URI object silently drops the cookie because default URI lacks an HTTPS scheme, while passing a URI string raises NoMethodError

  14. gemКонтракт образцаruby · linux/x64rack-protection@4.2.1

    СчитаетсяProtection middleware short-circuits the request pipeline before the inner app runs, so an app behind JsonCsrf only executes when the request is allowed

    ИзмереноJsonCsrf#call invokes app.call(env) unconditionally before deciding whether to deny, so the inner application executes — and its side effects occur — even when the middleware ultimately returns 403

  15. gemКонтракт образцаruby · linux/x64rack-protection@4.2.1

    СчитаетсяRack::Protection::HostAuthorization rejects requests with a bare single-label Host header

    ИзмереноA direct Rack::Protection::HostAuthorization middleware returns status 200 for a bare single-label Host header when no permitted_hosts restriction is configured.

  16. gemКонтракт образцаruby · linux/x64rack-protection@4.2.1

    СчитаетсяDevelopers should expect `Rack::Protection::AuthenticityToken.token(session)` to produce a route-specific token by default.

    ИзмереноLeaving `path` and `method` unspecified when calling `Rack::Protection::AuthenticityToken.token(session)` makes the token validate on any POST route, so it is global by default.

  17. gemКонтракт образцаruby · linux/x64rack-protection@4.2.1

    СчитаетсяA cross-origin GET request to a JSON endpoint with an untrusted Origin header is rejected with HTTP 403 when JsonCsrf and HttpOrigin are both active.

    ИзмереноA cross-origin JSON GET with an untrusted Origin returns 200 because JsonCsrf defers to HttpOrigin while HttpOrigin treats GET as safe

  18. gemКонтракт образцаruby · linux/x64json@2.9.1

    СчитаетсяJSON.generate and JSON.parse reject top-level primitive scalars like strings, booleans, and numbers unless wrapped in objects or arrays, and symbolize_keys: true transforms parsed keys into Ruby symbols.

    Измереноassert JSON.generate and JSON.parse serialize and deserialize top-level primitive strings, numbers, booleans, and nil directly without quirks mode, while symbolize_keys is silently ignored leaving string keys unless symbolize_names is used

  19. gemКонтракт образцаruby · linux/x64json@2.9.1

    СчитаетсяJSON.parse validates all escaped Unicode surrogate sequences identically by rejecting any unpaired surrogate with a ParserError.

    Измереноassert JSON.parse accepts lone low surrogates like \uDC00 without raising ParserError, returning an invalid UTF-8 string that fails when passed to JSON.generate, while lone high surrogates like \uD800 raise ParserError immediately

  20. gemКонтракт образцаruby · linux/x64json@2.9.1

    СчитаетсяPassing an IO object to JSON.dump or JSON.load automatically closes or rewinds the stream upon completion, returns the serialized JSON string from dump, and streams writes and reads incrementally without buffering full documents in memory.

    Измереноassert JSON.dump and JSON.load leave passed IO streams open at EOF rather than closing or rewinding them, dump returns the IO object instead of the JSON string, and both operations buffer the entire payload in memory in a single monolithic read or write rather than streaming chunks

  21. gemКонтракт образцаruby · linux/x64json@2.9.1

    СчитаетсяJSON.load uses its proc return value to transform parsed nodes like a JSON reviver, while JSON.create_id modifies process-global state shared across all threads.

    Измереноassert JSON.load invokes its proc in post-order depth-first traversal but ignores the proc return value, leaving parsed elements unchanged unless mutated in-place

  22. gemКонтракт образцаruby · linux/x64json@2.9.1

    СчитаетсяJSON.dump is a direct alias for JSON.generate that defaults to a 100-level recursion ceiling and raises JSON::GeneratorError on non-finite floats like NaN and Infinity.

    ИзмереноJSON.dump defaults max_nesting to false and allow_nan to true, serializing 100+ deep nested structures and NaN floats without raising the NestingError or GeneratorError that JSON.generate enforces

  23. gemКонтракт образцаruby · linux/x64json@2.9.1

    СчитаетсяJSON.parse! is an exception-raising strict mode of JSON.parse, while requiring json automatically provides bidirectional structured JSON serialization for core types like Range and Regexp.

    Измереноassert JSON.parse rejects NaN and nesting depths over 100 with ParserError and NestingError whereas JSON.parse! relaxes limits to allow NaN and unbounded nesting by default

  24. gemКонтракт образцаruby · linux/x64faraday-net_http@3.4.4

    СчитаетсяSetting a request timeout of 0 or passing proxy credentials inside the URI object disables timeouts and authenticates the proxy connection in Faraday's Net::HTTP adapter.

    ИзмереноSetting request timeout to 0 configures Net::HTTP read, open, and write timeouts to 0 seconds rather than disabling timeouts or falling back to defaults because 0 is truthy in Ruby.

  25. gemКонтракт образцаruby · linux/x64faraday-net_http@3.4.4

    СчитаетсяPassing an IO object as a request body automatically streams the payload without explicit transfer headers and closes the stream on completion, while Faraday::Connection retains persistent TCP sockets across calls.

    ИзмереноPassing an IO stream as a request body without an explicit Content-Length or chunked Transfer-Encoding header raises an ArgumentError, and even after successful transfer, NetHttp leaves the caller's IO stream open at EOF.

Как проверить любую строку здесь

Откройте образец, прочитайте его contract, запустите. Contract — это собственный тест образца: он выполняется без сети в закреплённом контейнере, и подписанная квитанция этого запуска — то, что хранит сеть. Ничто здесь не опирается на наше прочтение библиотеки — только на то, что библиотека сделала.

Некоторых опубликованных образцов на этой странице нет. Их контракт прошёл, и образец жив — но ни одна строка этого контракта не читается как фраза. Утверждение вроде expect(x).toBe(1), поставленное рядом с убеждением, которое оно проверяет, ничего читателю не говорит. Лучше оставить их за бортом, чем печатать свидетельство, которое никто не прочтёт.