网络测出了什么
下面每一行都是测量结果,不是观点。每一条都链接到一个已发布的样本,其 contract 在断网的固定容器中执行,你可以自己重跑并反驳结论。
操作系统和运行时来自所链接样本记录的环境;缺少该维度的条目会在筛选时排除。
597 条发现,覆盖 8 个生态。
- cargo
- composer
- gem
- golang
- hex
- npm
- pub
- pypi
样本自述,其契约实测
正在显示已发布样本测得的第 551–568 条(共 568 条)。
-
npm样本契约node · linux/x64react-dom@19.0.0
普遍认为react-dom/server strips functions passed to form action and button formAction props during server-side rendering like standard event handlers, leaving form submission to native browser HTTP request defaults.
实测Passing a function to form action or button formAction in react-dom/server emits a javascript:throw error URL and injects an inline submit listener replay script
-
golang样本契约go · linux/x64gorm.io/gorm@v1.31.2
普遍认为When `gorm.G[T]` is used with `Set(...)` in generics, only plain column assignments are applied and association operations are ignored if no special helpers are used.
实测assert that `gorm.G[User](db).Where("id = ?", user.ID).Set(clause.Association{Association:"Languages",Type:clause.OpUpdate,Set:...,Conditions:...}).Update(ctx)` mutates only the related `languages.name` row for `code = 'en'`
-
composer样本契约php · linux/x64guzzlehttp/guzzle@7.15.3
普遍认为GuzzleHttp\Client::sendRequest follows redirects and throws ClientException on 4xx responses identically to send under default client options.
实测PSR-18 sendRequest returns 4xx and 5xx status codes as valid ResponseInterface instances without throwing ClientException even when http_errors is enabled by default
-
golang样本契约go · linux/x64github.com/spf13/viper@v1.21.0
普遍认为A `Sub()` call drops a custom key delimiter to the default delimiter, so a value set under `service::db::host` cannot be read from `sub.GetString("db::host")`.
实测When delimiter-specific lookup on the sub-tree works, it proves `Sub()` preserved lookup behavior instead of silently falling back to parentless key parsing.
-
composer样本契约php · linux/x64symfony/console@8.1.4
普遍认为A caller expects a missing `InputOption::VALUE_NEGATABLE` to evaluate as `false`.
实测Running a command with only `addOption('cache', null, InputOption::VALUE_NEGATABLE, ...)` and invoking `CommandTester->execute([])` must output `null` for the option value.
-
golang样本契约go · linux/x64github.com/spf13/pflag@v1.0.10
普遍认为A wrapped ErrHelp value from a flag setter should still be treated as a help request and exit with code 0.
实测With ErrorHandling=ExitOnError, FlagSet.Parse returns a wrapped ErrHelp via Set() and exits with status 2, not 0.
-
golang样本契约go · linux/x64github.com/spf13/pflag@v1.0.10
普遍认为a flag with NoOptDefVal set binds a subsequent space-separated argument as its value during command-line parsing
实测fs.Parse([]string{"--format", "yaml", "pos1"}) sets format to "json" from NoOptDefVal and preserves "yaml" and "pos1" in fs.Args()
-
golang样本契约go · linux/x64golang.org/x/sync@v0.22.0
普遍认为singleflight.Group caches computed results across sequential calls until Forget is called, marks only joining followers as shared, and drops in-flight executions on Forget.
实测assert singleflight.Group executes sequential calls repeatedly without caching and does not require Forget to invalidate
-
pypi样本契约python · linux/x64zipp@4.1.0
普遍认为Directly instantiating zipp.Path with an implied directory path name behaves identically to navigating to it via joinpath or the division operator.
实测assert not Path(zf).exists() and Path(zf).is_dir() at the archive root
-
pub样本契约dart · linux/x64shelf@1.4.2
普遍认为A shelf Request's url property is an absolute Uri whose path starts with a leading slash matching requestedUri.path, and change(path:) appends subpaths.
实测assert request.url is a relative Uri with no scheme, host, or leading slash, that handlerPath defaults to '/', that requestedUri.path equals handlerPath + url.path, that change(path:) consumes path segments from url.path into handlerPath rather than appending, that change(path:) with a leading slash or unmatched prefix throws ArgumentError, and that Request constructor rejects a non-empty handlerPath missing a trailing slash
-
npm样本契约node · linux/x64socket.io-client@4.8.3
普遍认为Passing a URL pathname to io() sets the HTTP request path on the server and opens an independent transport connection per namespace, while auth options are sent in HTTP handshake headers or query parameters.
实测assert io() parses URL pathname as socket namespace and routes HTTP requests to /socket.io/ rather than URL path unless path option is explicitly set
-
golang样本契约go · linux/x64github.com/google/go-cmp@v0.7.0
普遍认为Passing an outer struct to cmpopts.IgnoreUnexported automatically ignores unexported fields within embedded structs.
实测assert cmpopts.IgnoreUnexported on an outer struct panics when comparing embedded structs with unexported fields
-
npm样本契约node · linux/x64jsonwebtoken@9.0.3
普遍认为jwt.verify returns a decoded envelope containing payload and header properties by default, and jwt.sign merges payload registered claims with signing options.
实测assert jwt.verify with complete: true returns an envelope containing header, payload, and signature
-
golang样本契约go · linux/x64net/http@go1.26.5
普遍认为A common model expectation is that once headers arrive, a `http.Client` timeout no longer applies, so long response bodies can be read indefinitely.
实测A request with a short `Client.Timeout` can get headers immediately yet still fail with a timeout while reading a slow body, proving the deadline covers more than setup.
-
golang样本契约go · linux/x64embed@v1.26.5
普遍认为Passing "/assets/hello.txt" to embed.FS.Open should open the same embedded file as "assets/hello.txt".
实测assert embed.FS.Open("/assets/hello.txt") fails even though it names an existing embedded path with a leading slash
-
cargo样本契约rust · linux/x64tower-layer@0.3.3
普遍认为Stack::new(a, b) establishes a middleware pipeline where layer a executes before layer b on incoming requests, matching left-to-right argument order and tuple composition
实测Stack::new(layer_a, layer_b).layer(base) wraps base with layer_a first and layer_b second, executing layer_b before layer_a on incoming requests
-
cargo样本契约rust · linux/x64tower-service@0.3.3
普遍认为Calling Service::call borrows &mut self for the entire lifetime of the returned Future, preventing a single unbuffered service instance from polling and dispatching subsequent requests while a prior request is in flight.
实测Passing a mutable reference &mut S into a generic Service consumer yields S::Future without tying the future to the &mut borrow lifetime, allowing immediate re-borrowing to poll and dispatch subsequent requests while earlier futures remain in flight
-
cargo样本契约rust · linux/x64sqlx@0.8.6
普遍认为A value larger than `i32::MAX` can still be decoded into `i32`, with SQLite-like truncation happening behind the scenes.
实测assert that reading a SQLite `INTEGER` value greater than `i32::MAX` into `i32` returns an error
如何核对这里的任何一行
打开样本,读它的 contract,然后运行。contract 就是该样本自己的测试:它在断网的固定容器中运行,那次运行的签名回执才是网络所存储的东西。这里没有一条依赖我们对某个库的理解,只依赖这个库实际做了什么。
有些已发布的样例不在这个页面上。它们的契约通过了,样例也是活的 —— 但契约里没有一行能当句子读。像 expect(x).toBe(1) 这样的断言,放在它所检验的那个认知旁边,对读者什么也没说。与其登出没人能读的证据,不如空着。