ネットワークが見つけたもの
以下の各行は意見ではなく測定です。いずれも公開サンプルにリンクしており、その contract はネットワークを切った固定コンテナで実行されるので、自分で再実行して結果に反論できます。
OS とランタイムはリンク先サンプルに記録された環境です。その項目がない記録は選択時に除外されます。
597 件の発見、8 個のエコシステム。
- cargo
- composer
- gem
- golang
- hex
- npm
- pub
- pypi
サンプルが述べ、その契約が測ったこと
公開サンプルが測定した結果の 201–225 件目(全 568 件)。
-
npmサンプル契約node · linux/x64@babel/preset-env@7.29.7
信じられていることa regular expression with named capture groups compiled by Babel will preserve the exact syntactic shape of the pattern in its .source property
測定結果the .source property of a named capture group regex transpiled for IE11 evaluates to a string stripped of the capture group names, rather than the original source string
-
npmサンプル契約node · linux/x64@babel/preset-env@8.0.2
信じられていること@babel/preset-env defaults the modules option to commonjs, unconditionally transforming import statements into require calls regardless of caller capabilities.
測定結果When the modules option is left unset, @babel/preset-env defaults to 'auto' and preserves static import and export declarations unchanged when caller.supportsStaticESM is true, rather than converting them to require calls.
-
npmサンプル契約node · linux/x64express@4.18.2
信じられていることLeaving the query parser unconfigured in Express parses query string parameters into flat key-value pairs without constructing nested objects.
測定結果When the `query parser` setting is left unset on an Express application, Express defaults `app.get('query parser')` to `'extended'` and uses `qs` to parse bracketed keys like `filter[status]=active` into nested objects rather than flat string keys.
-
npmサンプル契約node · linux/x64express@4.21.2
信じられていることres.format directly renders an HTTP 406 response rather than routing a NotAcceptableError to next(), err.types preserves raw format keys like ['html'], and default handlers receive a pre-assigned Content-Type.
測定結果res.format routes an HTTP 406 NotAcceptableError to next() with canonicalized MIME types in err.types and unconditionally sets Vary: Accept when no registered format matches the Accept header and no default handler is provided
-
npmサンプル契約node · linux/x64@babel/preset-env@7.24.7
信じられていることPassing useBuiltIns: true enables polyfilling, corejs: 4 configures next-generation core-js polyfills, and modules: 'esm' enables ES module output.
測定結果Passing useBuiltIns: true throws an Error requiring 'false', 'entry', or 'usage', while passing corejs: 4 with polyfilling throws a RangeError rejecting versions outside core-js@2 and core-js@3.
-
hexサンプル契約elixir 1 · linux/x64req@0.7.2
信じられていることA nil or empty-list Req header is absent from the internal map, so put_new_header supplies a fallback and get_header distinguishes it from a missing header.
測定結果assert Req.new retains nil and empty-list header keys with empty-list values while get_header returns [] for both those keys and missing keys
-
hexサンプル契約elixir 1 · linux/x64req@0.7.2
信じられていることAn into: :self response body can be enumerated from another process, and a Collectable receives response bytes for every status code.
測定結果assert an into: :self body is a Req.Response.Async tied to the requester pid and enumeration in another process raises RuntimeError
-
hexサンプル契約elixir 1 · linux/x64req@0.7.2
信じられていることTwo overlapping Req calls made from one request value each enumerate a shared one-shot body independently and both receive all four chunks.
測定結果assert two overlapping Req.request! calls consume exactly four chunks in total from the shared Agent-backed stream
-
hexサンプル契約elixir 1 · linux/x64req@0.7.2
信じられていることReq archive decoders return string-keyed maps, compressed JSON decodes without the compressed option, and normalized header access returns scalar strings.
測定結果assert decode_body leaves the tested gzip JSON bytes unchanged when compressed is false and decodes them after decompress_body runs with compressed true
-
hexサンプル契約elixir 1 · linux/x64req@0.7.2
信じられていることFollowing a 303 after a JSON POST keeps the POST method, encoded body, and content-type on the redirected request.
測定結果assert the offline adapter first receives POST /start whose body iodata becomes the exact JSON bytes and whose content-type is application/json
-
hexサンプル契約elixir · linux/x64req@0.7.2
信じられていることReq preserves Authorization headers across cross-origin redirects by default, retains the POST method when following 301 and 302 redirects, and sends no automatic accept-encoding headers unless compressed is requested.
測定結果assert same-origin redirects preserve Authorization headers while cross-origin redirects to a different host strip them
-
hexサンプル契約elixir · linux/x64req@0.7.2
信じられていることPassing a malformed adapter to Req.request/2 should return an error tuple from the API boundary when the request is executed.
測定結果assert RuntimeError is raised when an adapter returns a non-tuple shape instead of {request, response} or {request, exception}; Req.request/2 is used (not a stubbed plugin path).
-
hexサンプル契約elixir · linux/x64req@0.7.2
信じられていることMerging a leading-slash path into a base_url in Req replaces the base path following RFC 3986, and setting a body on a default request sends a GET request.
測定結果assert Req.Steps.put_base_url concatenates leading-slash paths to the base_url path instead of replacing it like RFC 3986 URI.merge
-
hexサンプル契約elixir · linux/x64req@0.7.2
信じられていることProviding `path_params` should replace a URL placeholder like `{id}` even when `path_params_style` is not set.
測定結果Curly placeholders in the URL are not interpolated by default, so `{id}` stays unreplaced when `path_params_style` is omitted.
-
hexサンプル契約elixir 1 · linux/x64nimble_options@1.1.1
信じられていることtype: nil leaves a NimbleOptions key untyped, the same as omitting :type.
測定結果assert type: nil accepts nil and rejects tested non-nil values while an omitted type accepts arbitrary terms
-
hexサンプル契約elixir 1 · linux/x64nimble_options@1.1.1
信じられていることNimbleOptions.new! reports an invalid schema with NimbleOptions.ValidationError, matching value-validation failures.
測定結果assert NimbleOptions.new! with an unknown type atom raises ArgumentError
-
hexサンプル契約elixir 1 · linux/x64nimble_options@1.1.1
信じられていることA NimbleOptions custom validator can be an anonymous function that returns a boolean and receives its value after any configured arguments.
測定結果assert a custom validator uses an MFA 4-tuple, receives the option value first, returns {:ok, transformed} or {:error, message}, and can replace the validated value
-
hexサンプル契約elixir 1 · linux/x64nimble_csv@1.3.0
信じられていることPassing separator: "\t" to NimbleCSV.RFC4180.parse_string/2 changes that predefined parser's delimiter for the call.
測定結果assert RFC4180 parse_string with separator: tab and skip_headers: false keeps each tabbed line as one field
-
hexサンプル契約elixir 1 · linux/x64nimble_csv@1.3.0
信じられていることNimbleCSV.parse_stream reassembles arbitrary byte chunks into complete lines, and the default dumper prefixes spreadsheet formula triggers.
測定結果assert parsing the arbitrary chunks directly does not yield the complete expected table while RFC4180.to_line_stream reconstructs five complete lines and enables that parse
-
hexサンプル契約elixir 1 · linux/x64ecto@3.14.1
信じられていることParameterized types in Ecto schemas are represented as three-element tuples of {:parameterized, module, params}, and casting an Ecto.Enum with mapped values accepts the underlying database representation.
測定結果assert schema type for an Ecto.Enum is a 2-element tuple {:parameterized, {Ecto.Enum, info}} rather than a 3-element tuple, Ecto.Type.parameterized? identifies it, and Ecto.Type.type returns the underlying primitive storage type
-
hexサンプル契約elixir · linux/x64ecto@3.14.1
信じられていることA competent developer expects put_assoc/4 to associate child records directly onto any struct or changeset, assuming schema association fields default to empty collections or nil when newly constructed.
測定結果Calling put_assoc/4 on a loaded struct with unloaded associations raises RuntimeError because uninitialized associations hold an %Ecto.Association.NotLoaded{} struct rather than nil or [], and Ecto.assoc_loaded?/1 returns false.
-
hexサンプル契約elixir · linux/x64ecto@3.14.1
信じられていることDeclaring @primary_key {:id, :binary_id, autogenerate: true} on an Ecto schema sets the default foreign key type for belongs_to associations to :binary_id, allowing UUID string foreign key parameters to be cast without explicit type configuration.
測定結果assert belongs_to defaults the foreign key field type to :id integer even when @primary_key is configured as :binary_id, causing binary UUID string parameters to fail with a cast validation error
-
hexサンプル契約elixir · linux/x64ecto@3.14.1
信じられていることA competent Ecto user expects `optimistic_lock/2` to protect updates using the row's current stored `:lock_version`, and that unsafely cast `:lock_version` params cannot influence the value used in the conflict check.
測定結果When `:lock_version` is not cast, `optimistic_lock/2` keeps the filter at the struct value, but once `:lock_version` is allowed in `cast/3`, `optimistic_lock/2` switches the filter to that user-supplied value, so checks can run against a client-controlled token.
-
hexサンプル契約elixir 1 · linux/x64ecto@3.14.1
信じられていることcast/4 accepts the underlying database representation for mapped enums, unmapped enums dump as atoms or integers, and load/3 accepts the same string and atom values as cast/4.
測定結果assert cast accepts declared atom/string keys and mapped database values for Ecto.Enum, normalizing them to the declared atom while rejecting values outside both sets
-
hexサンプル契約elixir 1 · linux/x64ecto@3.14.1
信じられていることAn Ecto query binding list must name every intermediate join, so `[first, ..., last]` cannot select the outer bindings.
測定結果assert a query with two joins compiles when a follow-up from expression uses the binding list [first, ..., last]
ここの行を確かめる方法
サンプルを開き、contract を読み、実行してください。contract はそのサンプル自身のテストです。ネットワークを切った固定コンテナで実行され、その実行の署名済みレシートがネットワークに保存されます。ここに書かれていることはライブラリについての解釈ではなく、ライブラリが実際に行ったことだけに基づいています。
公開済みのサンプルのうち、このページにないものがあります。契約は通過しておりサンプルも生きていますが、その契約に文として読める行がないからです。expect(x).toBe(1) のような断言は、検査している思い込みの隣に置いても読者に何も伝えません。読めない証拠を載せるより、空けておくことを選びました。