Lo que la red encontró
Cada línea de abajo es una medición, no una opinión. Todas enlazan a una muestra publicada cuyo contract se ejecuta en un contenedor fijado y sin red, así que puedes volver a ejecutarlo y contradecir el resultado.
El sistema y el runtime proceden del entorno registrado por la muestra; al filtrar se omiten los datos ausentes.
597 hallazgos en 8 ecosistemas.
- cargo
- composer
- gem
- golang
- hex
- npm
- pub
- pypi
Lo que dice la muestra y mide su contrato
451–475 de 568, medidos por muestras publicadas.
-
gemContrato de muestraruby · linux/x64sorbet-runtime@0.6.13427
Se creeT::Enum instances compare equal to their serialized string or symbol values, and from_serialized returns nil for unmatched strings instead of raising KeyError.
Medidoassert T::Enum instances are not equal to strings or symbols, and that passing a raw string to a T::Enum parameter raises TypeError
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeAn empty PATH_INFO is treated as a normal non-match and should fail with a 404 instead of entering `get('/')`.
Medidoassert a request with PATH_INFO '' receives status 200 from GET / and returns the same body as PATH_INFO '/'
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeSinatra::IndifferentHash.new({"role" => "admin"}) produces a populated hash where the string and symbol keys both resolve to "admin", matching the same pattern that worked in Sinatra 3
MedidoSinatra::IndifferentHash.new({"role" => "admin", "id" => 7}) returns an empty hash of size 0 whose default value is the argument object, so ih["role"] returns the original seed hash rather than "admin" — the constructor no longer merges its argument in Sinatra 4
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeA competent developer expects bare query flags `?flag` to parse as empty strings or booleans, optional route parameters like `(/:id)?` to omit the key from `params` when absent and accept trailing slashes, named parameters `:id` to stop at dots before extensions, `redirect back` to raise or fail when no `Referer` header is present, and wildcard `splat` arrays to be overwritten by query parameters named `splat`.
Medidoassert an omitted optional route parameter in (/:id)? populates params[:id] as nil with params.key?('id') true while trailing slash /users/ returns 404, bare query flags parse as nil rather than empty strings, and named route params capture across dots
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeEach overlapping request to the same Sinatra app instance is isolated from in-flight request mutations.
MedidoTwo in-flight calls to the same Sinatra app can share one class-level state slot, so the first call can observe the second call’s write before it returns.
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeCalling pass inside a matched route handler discards intermediate modifications to the HTTP status code, response headers, cookies, and request params before dispatching to subsequent matching routes.
MedidoCalling pass retains any HTTP status code, response headers, cookies, and params mutations made by the passed route rather than resetting the response state for the fallback handler.
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeCalling halt with a status integer and headers hash sets the HTTP response status code and headers with an empty body.
Medidoassert halt with status code and hash assigns the hash to the response body and leaves headers unset
-
gemContrato de muestraruby · linux/x64sinatra@4.2.1
Se creeConfiguring settings with Sinatra's set method replaces existing Hash configurations, stores Proc and lambda values as callable objects on the settings object, and passes form HTTP verb overrides through to DELETE and PUT route handlers by default.
MedidoSinatra::Base.set merges new Hash options into previous Hash settings rather than overwriting them, and evaluates Proc or lambda settings on every property access rather than returning the callable object.
-
gemContrato de muestraruby · linux/x64set@1.1.1
Se creeA Ruby developer would expect `Set#^` to return a plain `Set` regardless of subclass, so subclass-only behavior hooks are irrelevant.
Medidoassert Set#^ returns an object of the left operand's subclass when both operands are `Set` subclasses
-
gemContrato de muestraruby · linux/x64set@1.1.1
Se creeSet#divide with a 2-arity predicate block partitions elements by directly evaluating the block on every pair and grouping each matching pair together, so Set[1,2,3,4].divide { |a,b| (a-b).abs == 1 } produces multiple partitions matching the adjacent pairs rather than collapsing all transitively-connected elements into one.
MedidoSet[1,2,3,4].divide { |a,b| (a-b).abs == 1 } returns a single partition containing all four elements rather than multiple pairwise groups, because the 2-arity form performs a transitive-closure (union-find) over all pairs, merging 1-2, 2-3, and 3-4 into one equivalence class
-
gemContrato de muestraruby · linux/x64set@1.1.1
Se creeA developer can mutate a `Set` from another task or nested call while iterating it and still get a consistent final result.
MedidoMutating the shared `Set` from another thread while `each` is running must raise `RuntimeError` with `can't add a new key into hash during iteration`.
-
gemContrato de muestraruby · linux/x64set@1.1.1
Se creeOnce `Set#compare_by_identity` is enabled, a later `Set#replace` keeps identity semantics so membership for value-equal values still requires object identity.
Medidoassert that calling `replace` with a default-set changes `compare_by_identity?` from true to false, proving the replacement operation changed comparison mode.
-
gemContrato de muestraruby · linux/x64set@1.1.1
Se creeCalling to_set on an existing Set produces a new Set instance for safe mutation, and calling to_set on a Set subclass preserves the receiver subclass.
Medidoassert Set#to_set with default arguments returns self instead of a new duplicate set, so mutating the result modifies the original set in-place
-
gemContrato de muestraruby · linux/x64set@1.1.1
Se creeCalling the spaceship operator <=> or relational comparison operators (<, <=, >, >=) on Sets performs a total ordering comparison based on size or element values so arrays of sets can be sorted, and comparison methods accept any Enumerable.
Medidoassert Set#<=> returns nil when neither set is a subset of the other rather than ordering by size or elements, causing Array#sort across disjoint sets to raise ArgumentError
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeA `Set-Cookie` header using `Path=/admin` is treated as unrecognized path metadata and should fall back to the request path, so the cookie applies broadly.
Medidoassert last_response.body on /public does not include sid=abc123
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeRack::Test::Methods exports a METHODS constant of HTTP verbs, standalone session setup requires requiring rack/mock_session, and query parameters cannot be supplied separately from request body params in non-GET requests via env.
Medidoassert Rack::Test::Methods::METHODS is undefined raising NameError, requiring rack/mock_session raises LoadError with Rack::MockSession aliased to Session, and :query_params in env appends to the URI query string separately from request body payloads
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeReentrant requests dispatched on a Rack::Test::Session preserve last_request and last_response correspondence for the completing outer request.
Medidoassert reentrant requests dispatched during app execution overwrite last_request with the inner request while last_response reflects the outer response
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeCalling header with a header name already starting with HTTP_ sets the Rack environment key directly, and follow_redirect! preserves request method and body on 308 Permanent Redirect identically to 307.
MedidoRack::Test::Session#header unconditionally prepends HTTP_ to all header names other than CONTENT_TYPE and CONTENT_LENGTH, mangling HTTP_AUTHORIZATION into HTTP_HTTP_AUTHORIZATION, while follow_redirect! hardcodes a check only for 307 and mutates 308 Permanent Redirect requests to GET while dropping parameters.
-
npmContrato de muestranode · linux/x64happy-dom@20.11.2
Se creePassing an HTML string to new Window(html) initializes the document markup, or instantiating new DOMParser() parses HTML strings into a DOM tree.
Medidonew Window(html) ignores string arguments because the constructor expects an options object, leaving document.body.innerHTML empty and getElementById returning null.
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeCalling restore_state restores all session modifications including headers configured via header or env, and non-GET request verbs like DELETE append parameter hashes to the URI query string.
Medidoassert restore_state rolls back last_request, last_response, and cookie_jar but leaves mutated session headers in @env to leak into subsequent requests, while non-GET methods encode params into the request body rather than the query string
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeRack::Test::UploadedFile automatically infers the MIME content type from the file extension when the content_type argument is omitted.
MedidoRack::Test::UploadedFile.new with an image file path returns 'text/plain' for content_type rather than 'image/png' when the argument is omitted, because UploadedFile defaults content_type to 'text/plain' without inspecting the filename extension.
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeRack::Test::Methods operates exclusively on a single shared session state, so testing multi-user interactions requires manually creating unmanaged Session instances to avoid leaking cookies and headers.
Medidoassert with_session switches the active session context with isolated cookies and headers, restoring the prior session upon block exit
-
gemContrato de muestraruby · linux/x64rack-test@2.2.0
Se creeA `Set-Cookie` flag named `Secure` is treated as case-sensitive in rack-test, so uppercase `Secure` behaves like an unknown token and is ignored.
MedidoA `Set-Cookie` header containing `Secure` in camel case is honored as a secure attribute, so the cookie is not sent on a plain HTTP follow-up request.
-
gemContrato de muestraruby · linux/x64rack-protection@4.0.0
Se creeSecurity middleware in Rack::Protection sets response security headers with mixed-case names like `X-XSS-Protection` and `X-Content-Type-Options`.
MedidoWhen `text/html` responses pass through XSSHeader, both lowercase keys must be present with values `1; mode=block` and `nosniff`.
-
gemContrato de muestraruby · linux/x64rack-protection@4.2.1
Se creeInitializing Rack::Protection with default options includes session hijacking defense that clears the session when a client user-agent header changes.
MedidoRack::Protection.new with default options retains session payload and omits tracking state across requests with altered user agents, leaving session hijacking defense disabled until session_hijacking is explicitly passed via use.
Cómo comprobar cualquier línea de aquí
Abre la muestra, lee su contract y ejecútalo. El contract es la propia prueba de la muestra: se ejecuta sin red en un contenedor fijado, y el recibo firmado de esa ejecución es lo que la red guarda. Nada de esto depende de cómo leamos una biblioteca, solo de lo que la biblioteca hizo.
Algunas muestras publicadas no están en esta página. Su contrato pasó y la muestra está activa, pero ninguna línea de ese contrato se lee como una frase. Una aserción como expect(x).toBe(1), puesta junto a la creencia que comprueba, no le dice nada a quien lee. Preferimos dejarlas fuera antes que publicar pruebas que nadie puede leer.